ACE_Notification_Queue_Node Class Reference

Helper class. More...

#include <Notification_Queue.h>

Inheritance diagram for ACE_Notification_Queue_Node:

Inheritance graph
[legend]
Collaboration diagram for ACE_Notification_Queue_Node:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 ACE_Notification_Queue_Node ()
 Constructor.
void set (ACE_Notification_Buffer const &rhs)
 Modifier change the contained buffer.
ACE_Notification_Buffer const & get () const
 Accessor, fetch the contained buffer.
bool matches_for_purging (ACE_Event_Handler *eh) const
 Checks if the event handler matches the purge condition.
bool mask_disables_all_notifications (ACE_Reactor_Mask mask)
 Return true if clearing the mask would leave no notifications to deliver.
void clear_mask (ACE_Reactor_Mask mask)
 Clear the notifications specified by mask.

Private Attributes

ACE_Notification_Buffer contents_

Detailed Description

Helper class.

Definition at line 26 of file Notification_Queue.h.


Constructor & Destructor Documentation

ACE_BEGIN_VERSIONED_NAMESPACE_DECL ACE_INLINE ACE_Notification_Queue_Node::ACE_Notification_Queue_Node (  ) 

Constructor.

Definition at line 6 of file Notification_Queue.inl.

00007   : ACE_Intrusive_List_Node<ACE_Notification_Queue_Node>()
00008   , contents_(0, 0)
00009 {
00010 }


Member Function Documentation

ACE_INLINE void ACE_Notification_Queue_Node::clear_mask ( ACE_Reactor_Mask  mask  ) 

Clear the notifications specified by mask.

Definition at line 44 of file Notification_Queue.inl.

References ACE_CLR_BITS, contents_, and ACE_Notification_Buffer::mask_.

Referenced by ACE_Notification_Queue::purge_pending_notifications().

00045 {
00046   ACE_CLR_BITS(contents_.mask_, mask);
00047 }

ACE_INLINE ACE_Notification_Buffer const & ACE_Notification_Queue_Node::get (  )  const

Accessor, fetch the contained buffer.

Definition at line 21 of file Notification_Queue.inl.

References contents_.

Referenced by mask_disables_all_notifications(), matches_for_purging(), ACE_Notification_Queue::pop_next_notification(), and ACE_Notification_Queue::purge_pending_notifications().

00022 {
00023   return contents_;
00024 }

ACE_INLINE bool ACE_Notification_Queue_Node::mask_disables_all_notifications ( ACE_Reactor_Mask  mask  ) 

Return true if clearing the mask would leave no notifications to deliver.

Definition at line 35 of file Notification_Queue.inl.

References ACE_BIT_DISABLED, and get().

Referenced by ACE_Notification_Queue::purge_pending_notifications().

00036 {
00037   // the existing notification mask is left with nothing when applying
00038   // the mask
00039   return ACE_BIT_DISABLED (get().mask_, ~mask);
00040 }

ACE_INLINE bool ACE_Notification_Queue_Node::matches_for_purging ( ACE_Event_Handler eh  )  const

Checks if the event handler matches the purge condition.

Definition at line 28 of file Notification_Queue.inl.

References ACE_Notification_Buffer::eh_, and get().

Referenced by ACE_Notification_Queue::purge_pending_notifications().

00029 {
00030   return (0 != get().eh_) && (0 == eh || eh == get().eh_);
00031 }

ACE_INLINE void ACE_Notification_Queue_Node::set ( ACE_Notification_Buffer const &  rhs  ) 

Modifier change the contained buffer.

Definition at line 14 of file Notification_Queue.inl.

References contents_.

Referenced by ACE_Notification_Queue::push_new_notification().

00015 {
00016   contents_ = rhs;
00017 }


Member Data Documentation

ACE_Notification_Buffer ACE_Notification_Queue_Node::contents_ [private]

Definition at line 62 of file Notification_Queue.h.

Referenced by clear_mask(), get(), and set().


The documentation for this class was generated from the following files:
Generated on Tue Feb 2 17:35:23 2010 for ACE by  doxygen 1.4.7