Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

TAO_Asynch_Queued_Message Class Reference

Specialize TAO_Queued_Message for asynch requests, i.e. oneways sent with SYNC_NONE policy. More...

#include <Asynch_Queued_Message.h>

Inheritance diagram for TAO_Asynch_Queued_Message:

Inheritance graph
[legend]
Collaboration diagram for TAO_Asynch_Queued_Message:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 TAO_Asynch_Queued_Message (const ACE_Message_Block *contents, ACE_Allocator *alloc=0, int is_heap_allocated=0)
 Constructor.
virtual ~TAO_Asynch_Queued_Message (void)
 Destructor.
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_Messageclone (ACE_Allocator *alloc)
virtual void destroy (void)

Protected Member Functions

 TAO_Asynch_Queued_Message (char *buf, size_t size, ACE_Allocator *alloc=0)
 Constructor.

Private Attributes

const size_t size_
 The number of bytes in the buffer.
size_t offset_
 The offset in the buffer.
char * buffer_
 The buffer containing the complete message.

Detailed Description

Specialize TAO_Queued_Message for asynch requests, i.e. oneways sent with SYNC_NONE policy.


Constructor & Destructor Documentation

TAO_Asynch_Queued_Message::TAO_Asynch_Queued_Message const ACE_Message_Block contents,
ACE_Allocator alloc = 0,
int  is_heap_allocated = 0
 

Constructor.

Parameters:
contents The message block chain that must be sent.
alloc Allocator used for creating <this> object.

Todo:
I'm almost sure this class will require a callback interface for AMIs sent with SYNC_NONE policy. Those guys need to hear when the connection timeouts or closes, but cannot block waiting for the message to be delivered.

TAO_Asynch_Queued_Message::~TAO_Asynch_Queued_Message void   )  [virtual]
 

Destructor.

TAO_Asynch_Queued_Message::TAO_Asynch_Queued_Message char *  buf,
size_t  size,
ACE_Allocator alloc = 0
[protected]
 

Constructor.

Parameters:
buf The buffer that needs to be sent on the wire. The buffer will be owned by this class. The buffer will be deleted when the destructor is called and hence the buffer should always come off the heap!
size The size of the buffer <buf> that is being handed over.
alloc Allocator used for creating <this> object.


Member Function Documentation

int TAO_Asynch_Queued_Message::all_data_sent void   )  const [virtual]
 

Implement the Template Methods from TAO_Queued_Message

Implements TAO_Queued_Message.

void TAO_Asynch_Queued_Message::bytes_transferred size_t &  byte_count  )  [virtual]
 

Implement the Template Methods from TAO_Queued_Message

Implements TAO_Queued_Message.

TAO_Queued_Message * TAO_Asynch_Queued_Message::clone ACE_Allocator alloc  )  [virtual]
 

Note:
No reason to believe why this would be called. But have it here for the sake of uniformity.

Implements TAO_Queued_Message.

void TAO_Asynch_Queued_Message::destroy void   )  [virtual]
 

Implement the Template Methods from TAO_Queued_Message

Implements TAO_Queued_Message.

void TAO_Asynch_Queued_Message::fill_iov int  iovcnt_max,
int &  iovcnt,
iovec  iov[]
const [virtual]
 

Implement the Template Methods from TAO_Queued_Message

Implements TAO_Queued_Message.

size_t TAO_Asynch_Queued_Message::message_length void   )  const [virtual]
 

Implement the Template Methods from TAO_Queued_Message

Implements TAO_Queued_Message.


Member Data Documentation

char* TAO_Asynch_Queued_Message::buffer_ [private]
 

The buffer containing the complete message.

size_t TAO_Asynch_Queued_Message::offset_ [private]
 

The offset in the buffer.

Data up to offset has been sent already, only the [offset_,size_) range remains to be sent.

const size_t TAO_Asynch_Queued_Message::size_ [private]
 

The number of bytes in the buffer.


The documentation for this class was generated from the following files:
Generated on Thu Jun 9 00:16:57 2005 for TAO by  doxygen 1.3.9.1