2 #ifndef JAWS_DATA_BLOCK_H
3 #define JAWS_DATA_BLOCK_H
5 #include "ace/Message_Block.h"
7 #if !defined (ACE_LACKS_PRAGMA_ONCE)
9 #endif /* ACE_LACKS_PRAGMA_ONCE */
11 #include "JAWS/Export.h"
12 #include "JAWS/Pipeline.h"
14 class JAWS_IO_Handler
;
15 class JAWS_Dispatch_Policy
;
16 class JAWS_Data_Block
;
17 class JAWS_Pipeline_Handler
;
19 class JAWS_Export JAWS_Data_Block
: public ACE_Message_Block
21 // Defines the communication unit between pipeline components
25 JAWS_Data_Block (JAWS_Data_Block
&db
);
28 JAWS_Pipeline_Handler
*task ();
29 JAWS_IO_Handler
*io_handler ();
30 JAWS_Dispatch_Policy
*policy ();
33 void task (JAWS_Pipeline_Handler
*taskp
);
34 void io_handler (JAWS_IO_Handler
*handlerp
);
35 void policy (JAWS_Dispatch_Policy
*policyp
);
36 void payload (void *payloadp
);
38 enum { JAWS_DATA_BLOCK_SIZE
= 8192 };
41 JAWS_IO_Handler
*io_handler_
;
42 JAWS_Dispatch_Policy
*policy_
;
43 JAWS_Pipeline_Handler
*task_
;
48 #endif /* !defined (JAWS_DATA_BLOCK_H) */