The ACE Streams framework is an implementation of the Pipes and Filters pattern that employs object-oriented design techniques, the ACE Task framework, and C++ language features. The ACE Streams framework makes it easy to incorporate new or modified functionality into an ACE_Stream without modifying the application-independent framework classes. For example, incorporating a new layer of service functionality into an ACE_Stream involves the following steps: -
Inheriting from the ACE_Task interface and overriding the open () , close() , put() , and svc() methods in the ACE_Task subclass to implement application-defined functionality. -
Allocating a new ACE_Module that contains one or two instances of the application-defined ACE_Task s, one for the reader-side and one for the writer-side. -
Inserting the ACE_Module into an ACE_Stream object. Multiple ACE_Module s can be inserted into an ACE_Stream to form an ordered series of hierarchically related processing capabilities. The ACE Streams framework enables developers to create layered, modular networked applications that are easily extended, tuned , maintained and configured. Moreover, the synergy between the ACE Task, Service Configurator, and Streams frameworks allows a wide range of designs and configurations that can be extended and modified to suit countless design situations, run-time environments, and OS platforms. |