diff options
Diffstat (limited to 'ACE/ace/Notification_Queue.inl')
-rw-r--r-- | ACE/ace/Notification_Queue.inl | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/ACE/ace/Notification_Queue.inl b/ACE/ace/Notification_Queue.inl new file mode 100644 index 00000000000..247205144ce --- /dev/null +++ b/ACE/ace/Notification_Queue.inl @@ -0,0 +1,50 @@ +// $Id$ + +ACE_BEGIN_VERSIONED_NAMESPACE_DECL + +ACE_INLINE ACE_Notification_Queue_Node:: +ACE_Notification_Queue_Node() + : ACE_Intrusive_List_Node<ACE_Notification_Queue_Node>() + , contents_(0, 0) +{ +} + +ACE_INLINE void +ACE_Notification_Queue_Node:: +set(ACE_Notification_Buffer const & rhs) +{ + contents_ = rhs; +} + +ACE_INLINE ACE_Notification_Buffer const & +ACE_Notification_Queue_Node:: +get() const +{ + return contents_; +} + +ACE_INLINE bool +ACE_Notification_Queue_Node:: +matches_for_purging(ACE_Event_Handler * eh) const +{ + return (0 != get().eh_) && (0 == eh || eh == get().eh_); +} + +ACE_INLINE bool +ACE_Notification_Queue_Node:: +mask_disables_all_notifications(ACE_Reactor_Mask mask) +{ + // the existing notification mask is left with nothing when applying + // the mask + return ACE_BIT_DISABLED (get().mask_, ~mask); +} + +ACE_INLINE void +ACE_Notification_Queue_Node:: +clear_mask(ACE_Reactor_Mask mask) +{ + ACE_CLR_BITS(contents_.mask_, mask); +} + +ACE_END_VERSIONED_NAMESPACE_DECL + |