TAO_Queued_Data Class Reference

Represents a node in the queue of incoming messages. More...

#include <Queued_Data.h>

Collaboration diagram for TAO_Queued_Data:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 TAO_Queued_Data (ACE_Allocator *alloc=0)
 Default Constructor.
 TAO_Queued_Data (ACE_Message_Block *mb, ACE_Allocator *alloc=0)
 Constructor.
 TAO_Queued_Data (const TAO_Queued_Data &qd)
 Copy constructor.
int consolidate (void)
size_t missing_data (void) const
 Get missing data.
void missing_data (size_t data)
 Set missing data.
TAO_GIOP_Message_Version
const & 
giop_version (void) const
 Get the GIOP version.
CORBA::Octet byte_order (void) const
 Get byte_order.
CORBA::Octet more_fragments (void) const
 Get more fragments.
TAO_Pluggable_Message_Type msg_type (void) const
 Get message type.
TAO_Queued_Datanext (void) const
 Get next.
void next (TAO_Queued_Data *qd)
 Set next.
ACE_Message_Blockmsg_block (void) const
 Get message block.
void msg_block (ACE_Message_Block *mb)
 Set message block.
void set_state (const TAO_GIOP_Message_State &state)
 Set the state.

Static Public Member Functions

static TAO_Queued_Datamake_queued_data (ACE_Allocator *message_buffer_alloc=0, ACE_Allocator *input_cdr_alloc=0, ACE_Data_Block *db=0)
 Creation of a node in the queue.
static void release (TAO_Queued_Data *qd)
 Deletion of a node from the queue.
static TAO_Queued_Dataduplicate (TAO_Queued_Data &qd)

Static Private Member Functions

static void replace_data_block (ACE_Message_Block &mb)

Private Attributes

ACE_Message_Blockmsg_block_
 The message block that contains the message.
TAO_GIOP_Message_State state_
 State of this queued data.
TAO_Queued_Datanext_
 Pounter to the next element in the queue.
ACE_Allocatorallocator_
 The allocator used to allocate this class.
Missing Data details
The missing_data_ member contains the number of bytes of data missing from msg_block_.

size_t missing_data_


Detailed Description

Represents a node in the queue of incoming messages.

This class contains necessary information about a message that is stored in the queue. Such a node can be used by the incoming thread from the reactor to dequeue and process the message by sending it to the higher layers of the ORB.

The ACE_Message_Block contained within this class may contain a chain of message blocks (usually when GIOP fragments are involved). In that case consolidate () needs to be called prior to being sent to higher layers of the ORB when the GIOP fragment chain is complete.


Constructor & Destructor Documentation

ACE_INLINE TAO_Queued_Data::TAO_Queued_Data ( ACE_Allocator alloc = 0  ) 

Default Constructor.

ACE_INLINE TAO_Queued_Data::TAO_Queued_Data ( ACE_Message_Block mb,
ACE_Allocator alloc = 0 
)

Constructor.

ACE_INLINE TAO_Queued_Data::TAO_Queued_Data ( const TAO_Queued_Data qd  ) 

Copy constructor.


Member Function Documentation

TAO_Queued_Data * TAO_Queued_Data::make_queued_data ( ACE_Allocator message_buffer_alloc = 0,
ACE_Allocator input_cdr_alloc = 0,
ACE_Data_Block db = 0 
) [static]

Creation of a node in the queue.

void TAO_Queued_Data::release ( TAO_Queued_Data qd  )  [static]

Deletion of a node from the queue.

TAO_Queued_Data * TAO_Queued_Data::duplicate ( TAO_Queued_Data qd  )  [static]

Duplicate ourselves. This creates a copy of ourselves on the heap and returns a pointer to the duplicated node.

int TAO_Queued_Data::consolidate ( void   ) 

Consolidate this fragments chained message blocks into one.

Returns:
-1 if consolidation failed, eg out or memory, otherwise 0

ACE_INLINE size_t TAO_Queued_Data::missing_data ( void   )  const

Get missing data.

ACE_INLINE void TAO_Queued_Data::missing_data ( size_t  data  ) 

Set missing data.

ACE_INLINE TAO_GIOP_Message_Version const & TAO_Queued_Data::giop_version ( void   )  const

Get the GIOP version.

ACE_INLINE CORBA::Octet TAO_Queued_Data::byte_order ( void   )  const

Get byte_order.

ACE_INLINE CORBA::Octet TAO_Queued_Data::more_fragments ( void   )  const

Get more fragments.

ACE_INLINE TAO_Pluggable_Message_Type TAO_Queued_Data::msg_type ( void   )  const

Get message type.

ACE_INLINE TAO_Queued_Data * TAO_Queued_Data::next ( void   )  const

Get next.

ACE_INLINE void TAO_Queued_Data::next ( TAO_Queued_Data qd  ) 

Set next.

ACE_INLINE ACE_Message_Block * TAO_Queued_Data::msg_block ( void   )  const

Get message block.

ACE_INLINE void TAO_Queued_Data::msg_block ( ACE_Message_Block mb  ) 

Set message block.

ACE_INLINE void TAO_Queued_Data::set_state ( const TAO_GIOP_Message_State state  ) 

Set the state.

TAO_BEGIN_VERSIONED_NAMESPACE_DECL ACE_INLINE void TAO_Queued_Data::replace_data_block ( ACE_Message_Block mb  )  [static, private]

Replace the datablock with a one allocated on the heap or allocator


Member Data Documentation

ACE_Message_Block* TAO_Queued_Data::msg_block_ [private]

The message block that contains the message.

size_t TAO_Queued_Data::missing_data_ [private]

Data missing in the above message that hasn't been read or processed yet, the value TAO_MISSING_DATA_UNDEFINED indicates it hasn't been processed yet, otherwise greater or equal zero.

TAO_GIOP_Message_State TAO_Queued_Data::state_ [private]

State of this queued data.

TAO_Queued_Data* TAO_Queued_Data::next_ [private]

Pounter to the next element in the queue.

ACE_Allocator* TAO_Queued_Data::allocator_ [private]

The allocator used to allocate this class.


The documentation for this class was generated from the following files:
Generated on Wed Sep 19 04:46:29 2007 for TAO by  doxygen 1.5.3