Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

TAO_Incoming_Message_Queue Class Reference

A queue of the messages in the incoming data path. More...

#include <Incoming_Message_Queue.h>

Collaboration diagram for TAO_Incoming_Message_Queue:

Collaboration graph
List of all members.

Public Methods

 TAO_Incoming_Message_Queue (TAO_ORB_Core *orb_core)

 ~TAO_Incoming_Message_Queue (void)

TAO_Queued_Datadequeue_head (void)
 Adding and deleting a node from the queue.

TAO_Queued_Datadequeue_tail (void)
int enqueue_tail (TAO_Queued_Data *nd)
size_t copy_tail (ACE_Message_Block &block)
CORBA::ULong queue_length (void)
 Return the length of the queue..

int is_tail_complete (void)
int is_head_complete (void)
int is_tail_fragmented (void)
size_t missing_data_tail (void) const
 Return the size of data that is missing in tail of the queue.

Private Methods

TAO_Queued_Dataget_node (void)
 Make a node for the queue.

Private Attributes

 A linked listof messages that await processing.

CORBA::ULong size_
 The size of the queue.

 Copy of our ORB Core.


class TAO_Transport
 void missing_data (size_t data);

Detailed Description

A queue of the messages in the incoming data path.

Please read the documentation in the TAO_Transport class to find out more about the design of the incoming data path.

Under certain conditions TAO may have to maintain a queue per-connection. This queue is drained by the pluggable protocols framework, normally under control of the ACE_Reactor, but other configurations are conceivable.

The memory that is allocated for holding the messages comes from the global pool for the following reasons

Constructor & Destructor Documentation

TAO_Incoming_Message_Queue::TAO_Incoming_Message_Queue TAO_ORB_Core   orb_core


TAO_Incoming_Message_Queue::~TAO_Incoming_Message_Queue void   


Member Function Documentation

size_t TAO_Incoming_Message_Queue::copy_tail ACE_Message_Block   block

Copy message from <block> to the tail of the queue. The size of message that is copied to the tail node is returned. The number of bytes copied depends on the amount of bytes needed to make the tail node consistent.

TAO_Queued_Data * TAO_Incoming_Message_Queue::dequeue_head void   

Adding and deleting a node from the queue.

TAO_Queued_Data * TAO_Incoming_Message_Queue::dequeue_tail void   

int TAO_Incoming_Message_Queue::enqueue_tail TAO_Queued_Data   nd

ACE_INLINE TAO_Queued_Data * TAO_Incoming_Message_Queue::get_node void    [private]

Make a node for the queue.

ACE_INLINE int TAO_Incoming_Message_Queue::is_head_complete void   

ACE_INLINE int TAO_Incoming_Message_Queue::is_tail_complete void   

Methods for sanity check. Checks to see whether the node on the head or tail is complete or not and ready for further processing.

ACE_INLINE int TAO_Incoming_Message_Queue::is_tail_fragmented void   

This method checks whether the last message that was queued up was fragmented...

ACE_INLINE size_t TAO_Incoming_Message_Queue::missing_data_tail void    const

Return the size of data that is missing in tail of the queue.

ACE_INLINE CORBA::ULong TAO_Incoming_Message_Queue::queue_length void   

Return the length of the queue..

Friends And Related Function Documentation

friend class TAO_Transport [friend]

void missing_data (size_t data);

Member Data Documentation

TAO_ORB_Core* TAO_Incoming_Message_Queue::orb_core_ [private]

Copy of our ORB Core.

TAO_Queued_Data* TAO_Incoming_Message_Queue::queued_data_ [private]

A linked listof messages that await processing.

CORBA::ULong TAO_Incoming_Message_Queue::size_ [private]

The size of the queue.

The documentation for this class was generated from the following files:
Generated on Fri Apr 2 17:33:08 2004 for TAO by doxygen1.2.18