TAO
2.3.3
|
A queue of the messages in the incoming data path. More...
#include <Incoming_Message_Queue.h>
Public Member Functions | |
TAO_Incoming_Message_Queue (TAO_ORB_Core *orb_core) | |
Constructor. More... | |
~TAO_Incoming_Message_Queue (void) | |
Destructor. More... | |
TAO_Queued_Data * | dequeue_head (void) |
Adding and deleting a node from the queue. More... | |
TAO_Queued_Data * | dequeue_tail (void) |
int | enqueue_tail (TAO_Queued_Data *nd) |
CORBA::ULong | queue_length (void) const |
Return the length of the queue.. More... | |
Private Attributes | |
TAO_Queued_Data * | last_added_ |
A circular linked list of messages awaiting processing. More... | |
CORBA::ULong | size_ |
The size of the queue. More... | |
TAO_ORB_Core * | orb_core_ |
Copy of our ORB Core. More... | |
Friends | |
class | TAO_Transport |
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
TAO_Incoming_Message_Queue::TAO_Incoming_Message_Queue | ( | TAO_ORB_Core * | orb_core | ) |
Constructor.
TAO_Incoming_Message_Queue::~TAO_Incoming_Message_Queue | ( | void | ) |
Destructor.
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 | ) |
CORBA::ULong TAO_Incoming_Message_Queue::queue_length | ( | void | ) | const |
Return the length of the queue..
|
friend |
|
private |
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_.
|
private |
Copy of our ORB Core.
|
private |
The size of the queue.