Main Page Namespace List Class Hierarchy Alphabetical List Compound List File List Namespace Members Compound 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:

[legend]
Collaboration diagram for TAO_Asynch_Queued_Message:

[legend]
List of all members.

## Public Methods
| 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_Message * | clone (ACE_Allocator *alloc)
virtual void | destroy (void)
## Protected Methods
| TAO_Asynch_Queued_Message (char *buf, size_t size, ACE_Allocator *alloc=0)
| Constructor.
## Private Attributes
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 belive 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.

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:

- Asynch_Queued_Message.h
- Asynch_Queued_Message.cpp