00001 // $Id: Notification_Queue.inl 81315 2008-04-10 07:14:15Z johnnyw $ 00002 00003 ACE_BEGIN_VERSIONED_NAMESPACE_DECL 00004 00005 ACE_INLINE ACE_Notification_Queue_Node:: 00006 ACE_Notification_Queue_Node() 00007 : ACE_Intrusive_List_Node<ACE_Notification_Queue_Node>() 00008 , contents_(0, 0) 00009 { 00010 } 00011 00012 ACE_INLINE void 00013 ACE_Notification_Queue_Node:: 00014 set(ACE_Notification_Buffer const & rhs) 00015 { 00016 contents_ = rhs; 00017 } 00018 00019 ACE_INLINE ACE_Notification_Buffer const & 00020 ACE_Notification_Queue_Node:: 00021 get() const 00022 { 00023 return contents_; 00024 } 00025 00026 ACE_INLINE bool 00027 ACE_Notification_Queue_Node:: 00028 matches_for_purging(ACE_Event_Handler * eh) const 00029 { 00030 return (0 != get().eh_) && (0 == eh || eh == get().eh_); 00031 } 00032 00033 ACE_INLINE bool 00034 ACE_Notification_Queue_Node:: 00035 mask_disables_all_notifications(ACE_Reactor_Mask mask) 00036 { 00037 // the existing notification mask is left with nothing when applying 00038 // the mask 00039 return ACE_BIT_DISABLED (get().mask_, ~mask); 00040 } 00041 00042 ACE_INLINE void 00043 ACE_Notification_Queue_Node:: 00044 clear_mask(ACE_Reactor_Mask mask) 00045 { 00046 ACE_CLR_BITS(contents_.mask_, mask); 00047 } 00048 00049 ACE_END_VERSIONED_NAMESPACE_DECL 00050