|
TAO_CosNotification
2.4.2
|
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. More... | |
| ACE_Time_Value | oldest_event (void) |
| Provide the time value of the oldest event in the queue. More... | |
| void | set_tracker (Tracker *tracker) |
| Set the tracker object. This strategy does not own the tracker. More... | |
Private Member Functions | |
| int | queue (TAO_Notify_Method_Request_Queueable *method_request) |
| Apply the Order Policy and queue. return -1 on error. More... | |
| bool | discard (TAO_Notify_Method_Request_Queueable *method_request) |
| Discard as per the Discard Policy. More... | |
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).
|
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.
|
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
|
private |
Reference to the properties per event channel.
|
private |
|
private |
Policy to discard when buffers are full.
|
private |
|
private |
The global queue length - queue length accross all the queues.
|
private |
The shared global lock used by all the queues.
|
private |
Condition that batch size reached.
|
private |
|
private |
|
private |
The maximum events that can be queued overall.
|
private |
= Data Members
The local Message Queue
|
private |
Order of events in internal buffers.
|
private |
Flag to shutdown.
|
private |
Optional queue tracker.
1.8.11