ACE_Reactor_Notify Class Reference

Abstract class for unblocking an from its event loop. More...

#include <Reactor_Impl.h>

Inheritance diagram for ACE_Reactor_Notify:

Inheritance graph
[legend]
Collaboration diagram for ACE_Reactor_Notify:

Collaboration graph
[legend]
List of all members.

Public Member Functions

virtual int open (ACE_Reactor_Impl *, ACE_Timer_Queue *timer_queue=0, int disable_notify=0)=0
virtual int close (void)=0
virtual int notify (ACE_Event_Handler *eh=0, ACE_Reactor_Mask mask=ACE_Event_Handler::EXCEPT_MASK, ACE_Time_Value *timeout=0)=0
virtual int dispatch_notifications (int &number_of_active_handles, ACE_Handle_Set &rd_mask)=0
virtual ACE_HANDLE notify_handle (void)=0
virtual int is_dispatchable (ACE_Notification_Buffer &buffer)=0
 Verify whether the buffer has dispatchable info or not.

virtual int dispatch_notify (ACE_Notification_Buffer &buffer)=0
virtual int read_notify_pipe (ACE_HANDLE handle, ACE_Notification_Buffer &buffer)=0
virtual void max_notify_iterations (int)=0
virtual int max_notify_iterations (void)=0
virtual int purge_pending_notifications (ACE_Event_Handler *=0, ACE_Reactor_Mask=ACE_Event_Handler::ALL_EVENTS_MASK)=0
virtual void dump (void) const=0
 Dump the state of an object.


Detailed Description

Abstract class for unblocking an from its event loop.

For internal use only.

This class is for ACE internal use only.

Definition at line 47 of file Reactor_Impl.h.


Member Function Documentation

virtual int ACE_Reactor_Notify::close void   )  [pure virtual]
 

Implemented in ACE_Dev_Poll_Reactor_Notify, ACE_Select_Reactor_Notify, and ACE_WFMO_Reactor_Notify.

Referenced by ACE_FlReactor::ACE_FlReactor(), ACE_TkReactor::ACE_TkReactor(), ACE_XtReactor::ACE_XtReactor(), ACE_Select_Reactor_T< ACE_SELECT_REACTOR_TOKEN >::close(), ACE_Dev_Poll_Reactor::close(), and ACE_QtReactor::reopen_notification_pipe().

virtual int ACE_Reactor_Notify::dispatch_notifications int &  number_of_active_handles,
ACE_Handle_Set rd_mask
[pure virtual]
 

Handles pending threads (if any) that are waiting to unblock the .

Implemented in ACE_Dev_Poll_Reactor_Notify, ACE_Select_Reactor_Notify, and ACE_WFMO_Reactor_Notify.

virtual int ACE_Reactor_Notify::dispatch_notify ACE_Notification_Buffer buffer  )  [pure virtual]
 

Handle one of the notify call on the . This could be because of a thread trying to unblock the

Implemented in ACE_Dev_Poll_Reactor_Notify, ACE_Select_Reactor_Notify, and ACE_WFMO_Reactor_Notify.

Referenced by ACE_TP_Reactor::handle_notify_events().

virtual void ACE_Reactor_Notify::dump void   )  const [pure virtual]
 

Dump the state of an object.

Implemented in ACE_Dev_Poll_Reactor_Notify, ACE_Select_Reactor_Notify, and ACE_WFMO_Reactor_Notify.

Referenced by ACE_Select_Reactor_T< ACE_SELECT_REACTOR_TOKEN >::dump().

virtual int ACE_Reactor_Notify::is_dispatchable ACE_Notification_Buffer buffer  )  [pure virtual]
 

Verify whether the buffer has dispatchable info or not.

Implemented in ACE_Dev_Poll_Reactor_Notify, ACE_Select_Reactor_Notify, and ACE_WFMO_Reactor_Notify.

Referenced by ACE_TP_Reactor::handle_notify_events().

virtual int ACE_Reactor_Notify::max_notify_iterations void   )  [pure virtual]
 

Get the maximum number of times that the method will iterate and dispatch the that are passed in via the notify queue before breaking out of its event loop.

Implemented in ACE_Dev_Poll_Reactor_Notify, ACE_Select_Reactor_Notify, and ACE_WFMO_Reactor_Notify.

virtual void ACE_Reactor_Notify::max_notify_iterations int   )  [pure virtual]
 

Set the maximum number of times that the method will iterate and dispatch the that are passed in via the notify queue before breaking out of the event loop. By default, this is set to -1, which means "iterate until the queue is empty." Setting this to a value like "1 or 2" will increase "fairness" (and thus prevent starvation) at the expense of slightly higher dispatching overhead.

Implemented in ACE_Dev_Poll_Reactor_Notify, ACE_Select_Reactor_Notify, and ACE_WFMO_Reactor_Notify.

Referenced by ACE_WFMO_Reactor::max_notify_iterations(), ACE_Select_Reactor_T< ACE_SELECT_REACTOR_TOKEN >::max_notify_iterations(), and ACE_Dev_Poll_Reactor::max_notify_iterations().

virtual int ACE_Reactor_Notify::notify ACE_Event_Handler eh = 0,
ACE_Reactor_Mask  mask = ACE_Event_Handler::EXCEPT_MASK,
ACE_Time_Value timeout = 0
[pure virtual]
 

Called by a thread when it wants to unblock the . This wakeups the if currently blocked. Pass over both the *and* the to allow the caller to dictate which method the will invoke. The indicates how long to blocking trying to notify the . If == 0, the caller will block until action is possible, else will wait until the relative time specified in * elapses).

Implemented in ACE_Dev_Poll_Reactor_Notify, ACE_Select_Reactor_Notify, and ACE_WFMO_Reactor_Notify.

Referenced by ACE_WFMO_Reactor::notify(), ACE_Select_Reactor_T< ACE_SELECT_REACTOR_TOKEN >::notify(), and ACE_Dev_Poll_Reactor::notify().

virtual ACE_HANDLE ACE_Reactor_Notify::notify_handle void   )  [pure virtual]
 

Returns the ACE_HANDLE of the notify pipe on which the reactor is listening for notifications so that other threads can unblock the

Implemented in ACE_Dev_Poll_Reactor_Notify, ACE_Select_Reactor_Notify, and ACE_WFMO_Reactor_Notify.

Referenced by ACE_TP_Reactor::get_notify_handle().

virtual int ACE_Reactor_Notify::open ACE_Reactor_Impl ,
ACE_Timer_Queue timer_queue = 0,
int  disable_notify = 0
[pure virtual]
 

Implemented in ACE_Dev_Poll_Reactor_Notify, ACE_Select_Reactor_Notify, and ACE_WFMO_Reactor_Notify.

Referenced by ACE_FlReactor::ACE_FlReactor(), ACE_TkReactor::ACE_TkReactor(), ACE_XtReactor::ACE_XtReactor(), ACE_WFMO_Reactor::open(), ACE_Dev_Poll_Reactor::open(), and ACE_QtReactor::reopen_notification_pipe().

virtual int ACE_Reactor_Notify::purge_pending_notifications ACE_Event_Handler = 0,
ACE_Reactor_Mask  = ACE_Event_Handler::ALL_EVENTS_MASK
[pure virtual]
 

Purge any notifications pending in this reactor for the specified ACE_Event_Handler object. Returns the number of notifications purged. Returns -1 on error.

Implemented in ACE_Dev_Poll_Reactor_Notify, ACE_Select_Reactor_Notify, and ACE_WFMO_Reactor_Notify.

Referenced by ACE_WFMO_Reactor::purge_pending_notifications(), ACE_Select_Reactor_Impl::purge_pending_notifications(), and ACE_Dev_Poll_Reactor::purge_pending_notifications().

virtual int ACE_Reactor_Notify::read_notify_pipe ACE_HANDLE  handle,
ACE_Notification_Buffer buffer
[pure virtual]
 

Read one of the notify call on the into the . This could be because of a thread trying to unblock the

Implemented in ACE_Dev_Poll_Reactor_Notify, ACE_Select_Reactor_Notify, and ACE_WFMO_Reactor_Notify.

Referenced by ACE_TP_Reactor::handle_notify_events().


The documentation for this class was generated from the following file:
Generated on Thu Nov 9 11:27:46 2006 for ACE by doxygen 1.3.6