#include <Synch_Queued_Message.h>
Inheritance diagram for TAO_Synch_Queued_Message:
Public Methods | |
TAO_Synch_Queued_Message (const ACE_Message_Block *contents, ACE_Allocator *alloc=0, int is_heap_allocated=0) | |
Constructor. | |
virtual | ~TAO_Synch_Queued_Message (void) |
Destructor. | |
const ACE_Message_Block * | current_block (void) const |
virtual size_t | message_length (void) const |
virtual int | all_data_sent (void) const |
virtual void | fill_iov (int iovcnt_max, int &iovcnt, iovec iov[]) const |
virtual void | bytes_transferred (size_t &byte_count) |
virtual TAO_Queued_Message * | clone (ACE_Allocator *alloc) |
virtual void | destroy (void) |
Private Attributes | |
ACE_Message_Block * | contents_ |
The contents of the message. | |
ACE_Message_Block * | current_block_ |
The current message block. |
Reliable requests block the sending thread until the message is sent, likewise, the sending thread must be informed if the connection is closed or the message times out.
In contrast oneway (and AMI) requests sent with the SYNC_NONE policy are simple discarded if the connection fails or they timeout.
Another important difference is the management of the data buffer: one SYNC_NONE messages the buffer is immediately copied into a newly allocated buffer, and must be deallocated. Other types of requests use the memory allocated by the sending thread.
|
Constructor.
|
|
Destructor.
|
|
Implement the Template Methods from TAO_Queued_Message Implements TAO_Queued_Message. |
|
Implement the Template Methods from TAO_Queued_Message Implements TAO_Queued_Message. |
|
Implement the Template Methods from TAO_Queued_Message Implements TAO_Queued_Message. |
|
|
|
Implement the Template Methods from TAO_Queued_Message Implements TAO_Queued_Message. |
|
Implement the Template Methods from TAO_Queued_Message Implements TAO_Queued_Message. |
|
Implement the Template Methods from TAO_Queued_Message Implements TAO_Queued_Message. |
|
The contents of the message. The message is normally generated by a TAO_OutputCDR stream. The application marshals the payload, possibly generating a chain of message block connected via the 'cont()' field. |
|
The current message block. The message may be set in multiple writev() operations. This point keeps track of the next message to send out. |