A threaded message queueing facility, modeled after the queueing facilities in System V STREAMs which can enqueue multiple messages in one call.
More...
|
| ACE_Message_Queue_Ex_N (size_t high_water_mark=ACE_Message_Queue_Base::DEFAULT_HWM, size_t low_water_mark=ACE_Message_Queue_Base::DEFAULT_LWM, ACE_Notification_Strategy *ns=0) |
|
virtual | ~ACE_Message_Queue_Ex_N () |
| Close down the message queue and release all resources.
|
|
virtual int | enqueue_head (ACE_MESSAGE_TYPE *new_item, ACE_Time_Value *tv=0) |
|
virtual int | enqueue_tail (ACE_MESSAGE_TYPE *new_item, ACE_Time_Value *tv=0) |
|
| ACE_Message_Queue_Ex (size_t high_water_mark=ACE_Message_Queue_Base::DEFAULT_HWM, size_t low_water_mark=ACE_Message_Queue_Base::DEFAULT_LWM, ACE_Notification_Strategy *ns=0) |
|
virtual int | open (size_t hwm=ACE_Message_Queue_Base::DEFAULT_HWM, size_t lwm=ACE_Message_Queue_Base::DEFAULT_LWM, ACE_Notification_Strategy *=0) |
|
virtual int | close () |
|
virtual | ~ACE_Message_Queue_Ex () |
| Releases all resources from the message queue and marks it deactivated.
|
|
virtual int | flush () |
|
virtual int | flush_i () |
|
virtual int | peek_dequeue_head (ACE_MESSAGE_TYPE *&first_item, ACE_Time_Value *timeout=0) |
|
virtual int | enqueue_prio (ACE_MESSAGE_TYPE *new_item, ACE_Time_Value *timeout=0, unsigned long priority=DEFAULT_PRIORITY) |
|
virtual int | enqueue_deadline (ACE_MESSAGE_TYPE *new_item, ACE_Time_Value *timeout=0) |
|
virtual int | enqueue (ACE_MESSAGE_TYPE *new_item, ACE_Time_Value *timeout=0) |
|
virtual int | dequeue (ACE_MESSAGE_TYPE *&first_item, ACE_Time_Value *timeout=0) |
| This method is an alias for the following <dequeue_head> method.
|
|
virtual int | dequeue_head (ACE_MESSAGE_TYPE *&first_item, ACE_Time_Value *timeout=0) |
|
virtual int | dequeue_prio (ACE_MESSAGE_TYPE *&dequeued, ACE_Time_Value *timeout=0) |
|
virtual int | dequeue_tail (ACE_MESSAGE_TYPE *&dequeued, ACE_Time_Value *timeout=0) |
|
virtual int | dequeue_deadline (ACE_MESSAGE_TYPE *&dequeued, ACE_Time_Value *timeout=0) |
|
virtual bool | is_full () |
| True if queue is full, else false.
|
|
virtual bool | is_empty () |
| True if queue is empty, else false.
|
|
virtual size_t | message_bytes () |
|
virtual size_t | message_length () |
|
virtual size_t | message_count () |
|
virtual void | message_bytes (size_t new_size) |
|
virtual void | message_length (size_t new_length) |
|
virtual size_t | high_water_mark () |
|
virtual void | high_water_mark (size_t hwm) |
|
virtual size_t | low_water_mark () |
|
virtual void | low_water_mark (size_t lwm) |
|
virtual int | deactivate () |
|
virtual int | activate () |
|
virtual int | pulse () |
|
virtual int | state () |
|
virtual int | deactivated () |
|
virtual int | notify () |
|
virtual ACE_Notification_Strategy * | notification_strategy () |
| Get the notification strategy for the <Message_Queue>
|
|
virtual void | notification_strategy (ACE_Notification_Strategy *s) |
| Set the notification strategy for the <Message_Queue>
|
|
virtual ACE_SYNCH_MUTEX_T & | lock () |
| Returns a reference to the lock used by the ACE_Message_Queue_Ex.
|
|
ACE_Time_Value_T< TIME_POLICY > | gettimeofday () |
|
void | set_time_policy (TIME_POLICY const &time_policy) |
|
virtual void | dump () const |
| Dump the state of an object.
|
|
ACE_Message_Queue< ACE_SYNCH_USE, TIME_POLICY > & | queue () |
|
A threaded message queueing facility, modeled after the queueing facilities in System V STREAMs which can enqueue multiple messages in one call.
As ACE_Message_Queue_Ex, ACE_Message_Queue_Ex_N is a strongly-typed version of the ACE_Message_Queue. If ACE_SYNCH_DECL
is ACE_MT_SYNCH
then all operations are thread-safe. Otherwise, if it's ACE_NULL_SYNCH
then there's no locking overhead.
The ACE_MESSAGE_TYPE
messages that are sent to this queue can be chained. Messages are expected to have a next
method that returns the next message in the chain; ACE_Message_Queue_Ex_N uses this method to run through all the incoming messages and enqueue them in one call.