#include <Stream_Modules.h>
Inheritance diagram for ACE_Stream_Head<>:


Public Member Functions | |
| ACE_Stream_Head (void) | |
| Construction. | |
| ~ACE_Stream_Head (void) | |
| Destruction. | |
| virtual int | open (void *a=0) |
| virtual int | close (u_long flags=0) |
| virtual int | put (ACE_Message_Block *msg, ACE_Time_Value *=0) |
| virtual int | svc (void) |
| Run by a daemon thread to handle deferred processing. | |
| virtual int | init (int argc, ACE_TCHAR *argv[]) |
| Initializes object when dynamic linking occurs. | |
| virtual int | info (ACE_TCHAR **info_string, size_t length) const |
| Returns information on a service object. | |
| virtual int | fini (void) |
| Terminates object when dynamic unlinking occurs. | |
| void | dump (void) const |
| Dump the state of an object. | |
Public Attributes | |
| ACE_ALLOC_HOOK_DECLARE | |
| Declare the dynamic allocation hooks. | |
Private Member Functions | |
| int | control (ACE_Message_Block *) |
| Performs canonical flushing at the ACE_Stream Head. | |
| int | canonical_flush (ACE_Message_Block *) |
A ACE_Message_Block sent to this task (via its put() hook) triggers actions depending on the block type and whether the task is acting as a reader or a writer. If the block is of type ACE_Message_Block::MB_IOCTL, the block's is assumed to contain (beginning at its rd_ptr()) an ACE_IO_Cntl_Msg object and is processed accordingly. This is usually used to set the task's message queue high water and/or low water marks.
When the block is not ACE_Message_Block::MB_IOCTL, processing depends on the ACE_Stream_Head's role in the module:
| ACE_BEGIN_VERSIONED_NAMESPACE_DECL ACE_Stream_Head<>::ACE_Stream_Head | ( | void | ) |
Construction.
| ACE_Stream_Head<>::~ACE_Stream_Head | ( | void | ) |
Destruction.
| int ACE_Stream_Head<>::canonical_flush | ( | ACE_Message_Block * | ) | [private] |
| int ACE_Stream_Head<>::close | ( | u_long | flags = 0 |
) | [virtual] |
Hook called from ACE_Thread_Exit when during thread exit and from the default implementation of <module_closed>. In general, this method shouldn't be called directly by an application, particularly if the <Task> is running as an Active Object. Instead, a special message should be passed into the <Task> via the <put> method defined below, and the <svc> method should interpret this as a flag to shut down the <Task>.
Reimplemented from ACE_Task_Base.
| int ACE_Stream_Head<>::control | ( | ACE_Message_Block * | ) | [private] |
Performs canonical flushing at the ACE_Stream Head.
| void ACE_Stream_Head<>::dump | ( | void | ) | const |
| int ACE_Stream_Head<>::fini | ( | void | ) | [virtual] |
| int ACE_Stream_Head<>::info | ( | ACE_TCHAR ** | info_string, | |
| size_t | length | |||
| ) | const [virtual] |
| int ACE_Stream_Head<>::init | ( | int | argc, | |
| ACE_TCHAR * | argv[] | |||
| ) | [virtual] |
| int ACE_Stream_Head<>::open | ( | void * | a = 0 |
) | [virtual] |
Hook called to initialize a task and prepare it for execution. args can be used to pass arbitrary information into <open>.
Reimplemented from ACE_Task_Base.
| int ACE_Stream_Head<>::put | ( | ACE_Message_Block * | msg, | |
| ACE_Time_Value * | = 0 | |||
| ) | [virtual] |
A hook method that can be used to pass a message to a task, where it can be processed immediately or queued for subsequent processing in the <svc> hook method.
Reimplemented from ACE_Task_Base.
| int ACE_Stream_Head<>::svc | ( | void | ) | [virtual] |
| ACE_Stream_Head<>::ACE_ALLOC_HOOK_DECLARE |
1.4.7-1