#include <Incoming_Message_Queue.h>
Collaboration diagram for TAO_Incoming_Message_Queue:
Public Member Functions | |
TAO_Incoming_Message_Queue (TAO_ORB_Core *orb_core) | |
Constructor. | |
~TAO_Incoming_Message_Queue (void) | |
Destructor. | |
TAO_Queued_Data * | dequeue_head (void) |
Adding and deleting a node from the queue. | |
TAO_Queued_Data * | dequeue_tail (void) |
int | enqueue_tail (TAO_Queued_Data *nd) |
CORBA::ULong | queue_length (void) |
Return the length of the queue.. | |
Private Attributes | |
TAO_Queued_Data * | last_added_ |
A circular linked list of messages awaiting processing. | |
CORBA::ULong | size_ |
The size of the queue. | |
TAO_ORB_Core * | orb_core_ |
Copy of our ORB Core. | |
Friends | |
class | TAO_Transport |
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.
|
|
Adding and deleting a node from the queue.
|
|
|
|
|
|
Return the length of the queue..
|
|
|
|
A circular linked list of messages awaiting processing. last_message_added_ points to the most recent message added to the list. The earliest addition can be easily accessed via last_message_added_->next_. |
|
Copy of our ORB Core.
|
|
The size of the queue.
|