|
TAO_CosNotification 2.0.5
|
Base Strategy to enqueue and dequeue items from a Message Queue. More...
#include <Buffering_Strategy.h>

Classes | |
| class | Tracker |
| This interface allows tracking of the queue size. More... | |
Public Member Functions | |
| TAO_Notify_Buffering_Strategy (TAO_Notify_Message_Queue &msg_queue, const TAO_Notify_AdminProperties::Ptr &admin_properties) | |
| ~TAO_Notify_Buffering_Strategy () | |
| void | update_qos_properties (const TAO_Notify_QoSProperties &qos_properties) |
| int | enqueue (TAO_Notify_Method_Request_Queueable *method_request) |
| int | dequeue (TAO_Notify_Method_Request_Queueable *&method_request, const ACE_Time_Value *abstime) |
| void | shutdown (void) |
| Shutdown. | |
| ACE_Time_Value | oldest_event (void) |
| Provide the time value of the oldest event in the queue. | |
| void | set_tracker (Tracker *tracker) |
| Set the tracker object. This strategy does not own the tracker. | |
Private Member Functions | |
| int | queue (TAO_Notify_Method_Request_Queueable *method_request) |
| Apply the Order Policy and queue. return -1 on error. | |
| bool | discard (TAO_Notify_Method_Request_Queueable *method_request) |
| Discard as per the Discard Policy. | |
Private Attributes | |
| TAO_Notify_Message_Queue & | msg_queue_ |
| = Data Members | |
| TAO_Notify_AdminProperties::Ptr | admin_properties_ |
| Reference to the properties per event channel. | |
| TAO_SYNCH_MUTEX & | global_queue_lock_ |
| The shared global lock used by all the queues. | |
| CORBA::Long & | global_queue_length_ |
| The global queue length - queue length accross all the queues. | |
| const TAO_Notify_Property_Long & | max_queue_length_ |
| The maximum events that can be queued overall. | |
| TAO_Notify_Property_Short | order_policy_ |
| Order of events in internal buffers. | |
| TAO_Notify_Property_Short | discard_policy_ |
| Policy to discard when buffers are full. | |
| TAO_Notify_Property_Long | max_events_per_consumer_ |
| TAO_Notify_Property_Time | blocking_policy_ |
| TAO_SYNCH_CONDITION & | global_not_full_ |
| TAO_SYNCH_CONDITION | local_not_full_ |
| TAO_SYNCH_CONDITION | local_not_empty_ |
| Condition that batch size reached. | |
| bool | shutdown_ |
| Flag to shutdown. | |
| Tracker * | tracker_ |
| Optional queue tracker. | |
Base Strategy to enqueue and dequeue items from a Message Queue.
| TAO_Notify_Buffering_Strategy::TAO_Notify_Buffering_Strategy | ( | TAO_Notify_Message_Queue & | msg_queue, |
| const TAO_Notify_AdminProperties::Ptr & | admin_properties | ||
| ) |
| TAO_Notify_Buffering_Strategy::~TAO_Notify_Buffering_Strategy | ( | ) |
| int TAO_Notify_Buffering_Strategy::dequeue | ( | TAO_Notify_Method_Request_Queueable *& | method_request, |
| const ACE_Time_Value * | abstime | ||
| ) |
Dequeue batch. This method will block for abstime if non-zero or else blocks till an item is available. Return -1 on error or if nothing is available, else the number of items actually dequeued (1).
| bool TAO_Notify_Buffering_Strategy::discard | ( | TAO_Notify_Method_Request_Queueable * | method_request | ) | [private] |
Discard as per the Discard Policy.
| int TAO_Notify_Buffering_Strategy::enqueue | ( | TAO_Notify_Method_Request_Queueable * | method_request | ) |
Enqueue according the enqueing strategy. Return -1 on error else the number of items in the queue.
| ACE_Time_Value TAO_Notify_Buffering_Strategy::oldest_event | ( | void | ) |
Provide the time value of the oldest event in the queue.
| int TAO_Notify_Buffering_Strategy::queue | ( | TAO_Notify_Method_Request_Queueable * | method_request | ) | [private] |
Apply the Order Policy and queue. return -1 on error.
| void TAO_Notify_Buffering_Strategy::set_tracker | ( | TAO_Notify_Buffering_Strategy::Tracker * | tracker | ) |
Set the tracker object. This strategy does not own the tracker.
| void TAO_Notify_Buffering_Strategy::shutdown | ( | void | ) |
Shutdown.
| void TAO_Notify_Buffering_Strategy::update_qos_properties | ( | const TAO_Notify_QoSProperties & | qos_properties | ) |
Update state with the following QoS Properties: Order Policy Discard Policy MaxEventsPerConsumer
Reference to the properties per event channel.
Policy to discard when buffers are full.
The global queue length - queue length accross all the queues.
The shared global lock used by all the queues.
Condition that batch size reached.
const TAO_Notify_Property_Long& TAO_Notify_Buffering_Strategy::max_queue_length_ [private] |
The maximum events that can be queued overall.
= Data Members
The local Message Queue
Order of events in internal buffers.
bool TAO_Notify_Buffering_Strategy::shutdown_ [private] |
Flag to shutdown.
Tracker* TAO_Notify_Buffering_Strategy::tracker_ [private] |
Optional queue tracker.
1.7.4