ACE_Reactor_Impl Class Reference

An abstract class for implementing the Reactor Pattern. More...

#include <Reactor_Impl.h>

Inheritance diagram for ACE_Reactor_Impl:

Inheritance graph
[legend]
List of all members.

Public Member Functions

virtual ~ACE_Reactor_Impl (void)
 Close down and release all resources.

virtual int open (size_t size, int restart=0, ACE_Sig_Handler *=0, ACE_Timer_Queue *=0, int disable_notify_pipe=0, ACE_Reactor_Notify *=0)=0
 Initialization.

virtual int current_info (ACE_HANDLE, size_t &)=0
virtual int set_sig_handler (ACE_Sig_Handler *signal_handler)=0
 Use a user specified signal handler instead.

virtual int timer_queue (ACE_Timer_Queue *tq)=0
 Set a user-specified timer queue.

virtual ACE_Timer_Queuetimer_queue (void) const=0
 Return the current ACE_Timer_Queue.

virtual int close (void)=0
 Close down and release all resources.

virtual int work_pending (const ACE_Time_Value &max_wait_time=ACE_Time_Value::zero)=0
virtual int handle_events (ACE_Time_Value *max_wait_time=0)=0
virtual int alertable_handle_events (ACE_Time_Value *max_wait_time=0)=0
virtual int handle_events (ACE_Time_Value &max_wait_time)=0
virtual int alertable_handle_events (ACE_Time_Value &max_wait_time)=0
virtual int deactivated (void)=0
virtual void deactivate (int do_stop)=0
virtual int register_handler (ACE_Event_Handler *event_handler, ACE_Reactor_Mask mask)=0
virtual int register_handler (ACE_HANDLE io_handle, ACE_Event_Handler *event_handler, ACE_Reactor_Mask mask)=0
virtual int register_handler (ACE_Event_Handler *event_handler, ACE_HANDLE event_handle=ACE_INVALID_HANDLE)=0
virtual int register_handler (ACE_HANDLE event_handle, ACE_HANDLE io_handle, ACE_Event_Handler *event_handler, ACE_Reactor_Mask mask)=0
virtual int register_handler (const ACE_Handle_Set &handles, ACE_Event_Handler *event_handler, ACE_Reactor_Mask mask)=0
 Register with all the in the .

virtual int register_handler (int signum, ACE_Event_Handler *new_sh, ACE_Sig_Action *new_disp=0, ACE_Event_Handler **old_sh=0, ACE_Sig_Action *old_disp=0)=0
virtual int register_handler (const ACE_Sig_Set &sigset, ACE_Event_Handler *new_sh, ACE_Sig_Action *new_disp=0)=0
virtual int remove_handler (ACE_Event_Handler *event_handler, ACE_Reactor_Mask mask)=0
virtual int remove_handler (ACE_HANDLE handle, ACE_Reactor_Mask mask)=0
virtual int remove_handler (const ACE_Handle_Set &handle_set, ACE_Reactor_Mask mask)=0
virtual int remove_handler (int signum, ACE_Sig_Action *new_disp, ACE_Sig_Action *old_disp=0, int sigkey=-1)=0
virtual int remove_handler (const ACE_Sig_Set &sigset)=0
 Calls for every signal in .

virtual int suspend_handler (ACE_Event_Handler *event_handler)=0
virtual int suspend_handler (ACE_HANDLE handle)=0
 Suspend temporarily.

virtual int suspend_handler (const ACE_Handle_Set &handles)=0
 Suspend all in handle set temporarily.

virtual int suspend_handlers (void)=0
 Suspend all temporarily.

virtual int resume_handler (ACE_Event_Handler *event_handler)=0
virtual int resume_handler (ACE_HANDLE handle)=0
 Resume .

virtual int resume_handler (const ACE_Handle_Set &handles)=0
 Resume all in handle set.

virtual int resume_handlers (void)=0
 Resume all .

virtual int resumable_handler (void)=0
virtual int uses_event_associations (void)=0
virtual long schedule_timer (ACE_Event_Handler *event_handler, const void *arg, const ACE_Time_Value &delay, const ACE_Time_Value &interval=ACE_Time_Value::zero)=0
virtual int reset_timer_interval (long timer_id, const ACE_Time_Value &interval)=0
virtual int cancel_timer (ACE_Event_Handler *event_handler, int dont_call_handle_close=1)=0
virtual int cancel_timer (long timer_id, const void **arg=0, int dont_call_handle_close=1)=0
virtual int schedule_wakeup (ACE_Event_Handler *event_handler, ACE_Reactor_Mask masks_to_be_added)=0
virtual int schedule_wakeup (ACE_HANDLE handle, ACE_Reactor_Mask masks_to_be_added)=0
virtual int cancel_wakeup (ACE_Event_Handler *event_handler, ACE_Reactor_Mask masks_to_be_cleared)=0
 Clear from the 's entry.

virtual int cancel_wakeup (ACE_HANDLE handle, ACE_Reactor_Mask masks_to_be_cleared)=0
 Clear from the 's entry.

virtual int notify (ACE_Event_Handler *event_handler=0, ACE_Reactor_Mask mask=ACE_Event_Handler::EXCEPT_MASK, ACE_Time_Value *=0)=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 ACE_Event_Handlerfind_handler (ACE_HANDLE handle)=0
virtual int handler (ACE_HANDLE handle, ACE_Reactor_Mask mask, ACE_Event_Handler **event_handler=0)=0
virtual int handler (int signum, ACE_Event_Handler **=0)=0
virtual int initialized (void)=0
virtual size_t size (void) const=0
virtual ACE_Locklock (void)=0
 Returns a reference to the Reactor's internal lock.

virtual void wakeup_all_threads (void)=0
 Wake up all threads in waiting in the event loop.

virtual int owner (ACE_thread_t new_owner, ACE_thread_t *old_owner=0)=0
 Transfers ownership of Reactor_Impl to the .

virtual int owner (ACE_thread_t *owner)=0
 Return the ID of the "owner" thread.

virtual int restart (void)=0
 Get the existing restart value.

virtual int restart (int r)=0
 Set a new value for restart and return the original value.

virtual void requeue_position (int)=0
 Set position of the owner thread.

virtual int requeue_position (void)=0
 Get position of the owner thread.

virtual int mask_ops (ACE_Event_Handler *event_handler, ACE_Reactor_Mask mask, int ops)=0
virtual int mask_ops (ACE_HANDLE handle, ACE_Reactor_Mask mask, int ops)=0
virtual int ready_ops (ACE_Event_Handler *event_handler, ACE_Reactor_Mask mask, int ops)=0
virtual int ready_ops (ACE_HANDLE handle, ACE_Reactor_Mask, int ops)=0
 GET/SET/ADD/CLR the ready "bit" bound with the and .

virtual void dump (void) const=0
 Dump the state of an object.


Public Attributes

 ACE_ALLOC_HOOK_DECLARE
 Declare the dynamic allocation hooks.


Detailed Description

An abstract class for implementing the Reactor Pattern.

Definition at line 128 of file Reactor_Impl.h.


Constructor & Destructor Documentation

ACE_BEGIN_VERSIONED_NAMESPACE_DECL ACE_Reactor_Impl::~ACE_Reactor_Impl void   )  [virtual]
 

Close down and release all resources.

Definition at line 11 of file Reactor_Impl.cpp.

00012 {
00013 }


Member Function Documentation

virtual int ACE_Reactor_Impl::alertable_handle_events ACE_Time_Value max_wait_time  )  [pure virtual]
 

Implemented in ACE_Dev_Poll_Reactor, ACE_Msg_WFMO_Reactor, ACE_Select_Reactor_T< ACE_SELECT_REACTOR_TOKEN >, ACE_WFMO_Reactor, and ACE_Select_Reactor_T< ACE_Select_Reactor_Token >.

virtual int ACE_Reactor_Impl::alertable_handle_events ACE_Time_Value max_wait_time = 0  )  [pure virtual]
 

Implemented in ACE_Dev_Poll_Reactor, ACE_Msg_WFMO_Reactor, ACE_Select_Reactor_T< ACE_SELECT_REACTOR_TOKEN >, ACE_WFMO_Reactor, and ACE_Select_Reactor_T< ACE_Select_Reactor_Token >.

Referenced by ACE_Reactor::alertable_handle_events(), and ACE_Reactor::run_alertable_reactor_event_loop().

virtual int ACE_Reactor_Impl::cancel_timer long  timer_id,
const void **  arg = 0,
int  dont_call_handle_close = 1
[pure virtual]
 

Cancel the single Event_Handler that matches the value (which was returned from the schedule method). If arg is non-NULL then it will be set to point to the ``magic cookie'' argument passed in when the Event_Handler was registered. This makes it possible to free up the memory and avoid memory leaks. Returns 1 if cancellation succeeded and 0 if the wasn't found.

Implemented in ACE_Dev_Poll_Reactor, ACE_FlReactor, ACE_QtReactor, ACE_Select_Reactor_T< ACE_SELECT_REACTOR_TOKEN >, ACE_TkReactor, ACE_WFMO_Reactor, ACE_XtReactor, and ACE_Select_Reactor_T< ACE_Select_Reactor_Token >.

virtual int ACE_Reactor_Impl::cancel_timer ACE_Event_Handler event_handler,
int  dont_call_handle_close = 1
[pure virtual]
 

Cancel all Event_Handlers that match the address of . Returns number of handlers cancelled.

Implemented in ACE_Dev_Poll_Reactor, ACE_FlReactor, ACE_QtReactor, ACE_Select_Reactor_T< ACE_SELECT_REACTOR_TOKEN >, ACE_TkReactor, ACE_WFMO_Reactor, ACE_XtReactor, and ACE_Select_Reactor_T< ACE_Select_Reactor_Token >.

Referenced by ACE_Reactor::cancel_timer().

virtual int ACE_Reactor_Impl::cancel_wakeup ACE_HANDLE  handle,
ACE_Reactor_Mask  masks_to_be_cleared
[pure virtual]
 

Clear from the 's entry.

Implemented in ACE_Dev_Poll_Reactor, ACE_Select_Reactor_T< ACE_SELECT_REACTOR_TOKEN >, ACE_WFMO_Reactor, and ACE_Select_Reactor_T< ACE_Select_Reactor_Token >.

virtual int ACE_Reactor_Impl::cancel_wakeup ACE_Event_Handler event_handler,
ACE_Reactor_Mask  masks_to_be_cleared
[pure virtual]
 

Clear from the 's entry.

Implemented in ACE_Dev_Poll_Reactor, ACE_Select_Reactor_T< ACE_SELECT_REACTOR_TOKEN >, ACE_WFMO_Reactor, and ACE_Select_Reactor_T< ACE_Select_Reactor_Token >.

Referenced by ACE_Reactor::cancel_wakeup().

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

Close down and release all resources.

Implemented in ACE_Dev_Poll_Reactor, ACE_Select_Reactor_T< ACE_SELECT_REACTOR_TOKEN >, ACE_WFMO_Reactor, and ACE_Select_Reactor_T< ACE_Select_Reactor_Token >.

Referenced by ACE_Reactor::close(), and ACE_Reactor::~ACE_Reactor().

virtual int ACE_Reactor_Impl::current_info ACE_HANDLE  ,
size_t & 
[pure virtual]
 

Returns 0, if the size of the current message has been put in Returns -1, if not. ACE_HANDLE allows the reactor to check if the caller is valid.

Implemented in ACE_Dev_Poll_Reactor, ACE_Select_Reactor_T< ACE_SELECT_REACTOR_TOKEN >, ACE_WFMO_Reactor, and ACE_Select_Reactor_T< ACE_Select_Reactor_Token >.

Referenced by ACE_Reactor::current_info().

virtual void ACE_Reactor_Impl::deactivate int  do_stop  )  [pure virtual]
 

Control whether the Reactor will handle any more incoming events or not. If == 1, the Reactor will be disabled. By default, a reactor is in active state and can be deactivated/reactived as wish.

Implemented in ACE_Dev_Poll_Reactor, ACE_Select_Reactor_T< ACE_SELECT_REACTOR_TOKEN >, ACE_WFMO_Reactor, and ACE_Select_Reactor_T< ACE_Select_Reactor_Token >.

Referenced by ACE_Reactor::end_reactor_event_loop(), and ACE_Reactor::reset_reactor_event_loop().

virtual int ACE_Reactor_Impl::deactivated void   )  [pure virtual]
 

Return the status of Reactor. If this function returns 0, the reactor is actively handling events. If it returns non-zero, and return -1 immediately.

Implemented in ACE_Dev_Poll_Reactor, ACE_Select_Reactor_T< ACE_SELECT_REACTOR_TOKEN >, ACE_WFMO_Reactor, and ACE_Select_Reactor_T< ACE_Select_Reactor_Token >.

Referenced by ACE_Reactor::reactor_event_loop_done(), ACE_Reactor::run_alertable_reactor_event_loop(), and ACE_Reactor::run_reactor_event_loop().

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

Dump the state of an object.

Implemented in ACE_Dev_Poll_Reactor, ACE_Priority_Reactor, ACE_Select_Reactor_T< ACE_SELECT_REACTOR_TOKEN >, ACE_WFMO_Reactor, and ACE_Select_Reactor_T< ACE_Select_Reactor_Token >.

Referenced by ACE_Reactor::dump().

virtual ACE_Event_Handler* ACE_Reactor_Impl::find_handler ACE_HANDLE  handle  )  [pure virtual]
 

Return the Event_Handler associated with . Return 0 if is not registered.

Implemented in ACE_Dev_Poll_Reactor, ACE_Select_Reactor_T< ACE_SELECT_REACTOR_TOKEN >, ACE_WFMO_Reactor, and ACE_Select_Reactor_T< ACE_Select_Reactor_Token >.

Referenced by ACE_Reactor::find_handler().

virtual int ACE_Reactor_Impl::handle_events ACE_Time_Value max_wait_time  )  [pure virtual]
 

This method is just like the one above, except the value is a reference and can therefore never be NULL.

The only difference between and is that in the alertable case, the eventloop will return when the system queues an I/O completion routine or an Asynchronous Procedure Call.

Implemented in ACE_Dev_Poll_Reactor, ACE_Msg_WFMO_Reactor, ACE_Select_Reactor_T< ACE_SELECT_REACTOR_TOKEN >, ACE_TP_Reactor, ACE_WFMO_Reactor, and ACE_Select_Reactor_T< ACE_Select_Reactor_Token >.

virtual int ACE_Reactor_Impl::handle_events ACE_Time_Value max_wait_time = 0  )  [pure virtual]
 

This event loop driver blocks for up to before returning. It will return earlier if events occur. Note that can be 0, in which case this method blocks indefinitely until events occur.

is decremented to reflect how much time this call took. For instance, if a time value of 3 seconds is passed to handle_events and an event occurs after 2 seconds, will equal 1 second. This can be used if an application wishes to handle events for some fixed amount of time.

Returns the total number of ACE_Event_Handlers that were dispatched, 0 if the elapsed without dispatching any handlers, or -1 if an error occurs.

The only difference between and is that in the alertable case, the eventloop will return when the system queues an I/O completion routine or an Asynchronous Procedure Call.

Implemented in ACE_Dev_Poll_Reactor, ACE_Msg_WFMO_Reactor, ACE_Select_Reactor_T< ACE_SELECT_REACTOR_TOKEN >, ACE_TP_Reactor, ACE_WFMO_Reactor, and ACE_Select_Reactor_T< ACE_Select_Reactor_Token >.

Referenced by ACE_Reactor::handle_events(), and ACE_Reactor::run_reactor_event_loop().

virtual int ACE_Reactor_Impl::handler int  signum,
ACE_Event_Handler **  = 0
[pure virtual]
 

Check to see if is associated with a valid Event_Handler bound to a signal. Return the associated with this if != 0.

Implemented in ACE_Dev_Poll_Reactor, ACE_Select_Reactor_T< ACE_SELECT_REACTOR_TOKEN >, ACE_WFMO_Reactor, and ACE_Select_Reactor_T< ACE_Select_Reactor_Token >.

virtual int ACE_Reactor_Impl::handler ACE_HANDLE  handle,
ACE_Reactor_Mask  mask,
ACE_Event_Handler **  event_handler = 0
[pure virtual]
 

Check to see if is associated with a valid Event_Handler bound to . Return the associated with this if != 0.

Implemented in ACE_Dev_Poll_Reactor, ACE_Select_Reactor_T< ACE_SELECT_REACTOR_TOKEN >, ACE_WFMO_Reactor, and ACE_Select_Reactor_T< ACE_Select_Reactor_Token >.

Referenced by ACE_Reactor::handler().

virtual int ACE_Reactor_Impl::initialized void   )  [pure virtual]
 

Returns true if Reactor has been successfully initialized, else false.

Implemented in ACE_Dev_Poll_Reactor, ACE_Select_Reactor_T< ACE_SELECT_REACTOR_TOKEN >, ACE_WFMO_Reactor, and ACE_Select_Reactor_T< ACE_Select_Reactor_Token >.

Referenced by ACE_Reactor::initialized().

virtual ACE_Lock& ACE_Reactor_Impl::lock void   )  [pure virtual]
 

Returns a reference to the Reactor's internal lock.

Implemented in ACE_Dev_Poll_Reactor, ACE_Select_Reactor_T< ACE_SELECT_REACTOR_TOKEN >, ACE_WFMO_Reactor, and ACE_Select_Reactor_T< ACE_Select_Reactor_Token >.

Referenced by ACE_Reactor::lock().

virtual int ACE_Reactor_Impl::mask_ops ACE_HANDLE  handle,
ACE_Reactor_Mask  mask,
int  ops
[pure virtual]
 

GET/SET/ADD/CLR the dispatch MASK "bit" bound with the and .

Implemented in ACE_Dev_Poll_Reactor, ACE_Select_Reactor_T< ACE_SELECT_REACTOR_TOKEN >, ACE_WFMO_Reactor, and ACE_Select_Reactor_T< ACE_Select_Reactor_Token >.

virtual int ACE_Reactor_Impl::mask_ops ACE_Event_Handler event_handler,
ACE_Reactor_Mask  mask,
int  ops
[pure virtual]
 

GET/SET/ADD/CLR the dispatch mask "bit" bound with the and .

Implemented in ACE_Dev_Poll_Reactor, ACE_Select_Reactor_T< ACE_SELECT_REACTOR_TOKEN >, ACE_WFMO_Reactor, and ACE_Select_Reactor_T< ACE_Select_Reactor_Token >.

Referenced by ACE_Reactor::mask_ops().

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

Get the maximum number of times that the ACE_Reactor_Impl will iterate and dispatch the that are passed in via the notify queue before breaking out of its <ACE_Message_Queue::dequeue> loop.

Implemented in ACE_Dev_Poll_Reactor, ACE_Select_Reactor_T< ACE_SELECT_REACTOR_TOKEN >, ACE_WFMO_Reactor, and ACE_Select_Reactor_T< ACE_Select_Reactor_Token >.

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

Set the maximum number of times that ACE_Reactor_Impl will iterate and dispatch the that are passed in via the notify queue before breaking out of its <ACE_Message_Queue::dequeue> 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, ACE_Select_Reactor_T< ACE_SELECT_REACTOR_TOKEN >, ACE_WFMO_Reactor, and ACE_Select_Reactor_T< ACE_Select_Reactor_Token >.

Referenced by ACE_Reactor::max_notify_iterations().

virtual int ACE_Reactor_Impl::notify ACE_Event_Handler event_handler = 0,
ACE_Reactor_Mask  mask = ACE_Event_Handler::EXCEPT_MASK,
ACE_Time_Value = 0
[pure virtual]
 

Notify of event. The indicates how long to blocking trying to notify. 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, ACE_Select_Reactor_T< ACE_SELECT_REACTOR_TOKEN >, ACE_WFMO_Reactor, and ACE_Select_Reactor_T< ACE_Select_Reactor_Token >.

Referenced by ACE_Reactor::notify(), and ACE_Reactor_Token_T< ACE_TOKEN_TYPE >::sleep_hook().

virtual int ACE_Reactor_Impl::open size_t  size,
int  restart = 0,
ACE_Sig_Handler = 0,
ACE_Timer_Queue = 0,
int  disable_notify_pipe = 0,
ACE_Reactor_Notify = 0
[pure virtual]
 

Initialization.

Implemented in ACE_Dev_Poll_Reactor, ACE_Select_Reactor_T< ACE_SELECT_REACTOR_TOKEN >, ACE_WFMO_Reactor, and ACE_Select_Reactor_T< ACE_Select_Reactor_Token >.

Referenced by ACE_Reactor::open().

virtual int ACE_Reactor_Impl::owner ACE_thread_t owner  )  [pure virtual]
 

Return the ID of the "owner" thread.

Implemented in ACE_Dev_Poll_Reactor, ACE_Select_Reactor_T< ACE_SELECT_REACTOR_TOKEN >, ACE_TP_Reactor, ACE_WFMO_Reactor, and ACE_Select_Reactor_T< ACE_Select_Reactor_Token >.

virtual int ACE_Reactor_Impl::owner ACE_thread_t  new_owner,
ACE_thread_t old_owner = 0
[pure virtual]
 

Transfers ownership of Reactor_Impl to the .

Implemented in ACE_Dev_Poll_Reactor, ACE_Select_Reactor_T< ACE_SELECT_REACTOR_TOKEN >, ACE_TP_Reactor, ACE_WFMO_Reactor, and ACE_Select_Reactor_T< ACE_Select_Reactor_Token >.

Referenced by ACE_Reactor::owner().

virtual int ACE_Reactor_Impl::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, ACE_Select_Reactor_Impl, and ACE_WFMO_Reactor.

Referenced by ACE_Reactor::purge_pending_notifications().

virtual int ACE_Reactor_Impl::ready_ops ACE_HANDLE  handle,
ACE_Reactor_Mask  ,
int  ops
[pure virtual]
 

GET/SET/ADD/CLR the ready "bit" bound with the and .

Implemented in ACE_Dev_Poll_Reactor, ACE_Select_Reactor_T< ACE_SELECT_REACTOR_TOKEN >, ACE_WFMO_Reactor, and ACE_Select_Reactor_T< ACE_Select_Reactor_Token >.

virtual int ACE_Reactor_Impl::ready_ops ACE_Event_Handler event_handler,
ACE_Reactor_Mask  mask,
int  ops
[pure virtual]
 

GET/SET/ADD/CLR the ready "bit" bound with the and .

Implemented in ACE_Dev_Poll_Reactor, ACE_Select_Reactor_T< ACE_SELECT_REACTOR_TOKEN >, ACE_WFMO_Reactor, and ACE_Select_Reactor_T< ACE_Select_Reactor_Token >.

Referenced by ACE_Reactor::ready_ops().

virtual int ACE_Reactor_Impl::register_handler const ACE_Sig_Set sigset,
ACE_Event_Handler new_sh,
ACE_Sig_Action new_disp = 0
[pure virtual]
 

Registers to handle a set of signals using the .

Implemented in ACE_Dev_Poll_Reactor, ACE_Select_Reactor_T< ACE_SELECT_REACTOR_TOKEN >, ACE_TP_Reactor, ACE_WFMO_Reactor, and ACE_Select_Reactor_T< ACE_Select_Reactor_Token >.

virtual int ACE_Reactor_Impl::register_handler int  signum,
ACE_Event_Handler new_sh,
ACE_Sig_Action new_disp = 0,
ACE_Event_Handler **  old_sh = 0,
ACE_Sig_Action old_disp = 0
[pure virtual]
 

Register to handle the signal using the . Returns the that was previously registered (if any), along with the of the signal handler.

Implemented in ACE_Dev_Poll_Reactor, ACE_Select_Reactor_T< ACE_SELECT_REACTOR_TOKEN >, ACE_TP_Reactor, ACE_WFMO_Reactor, and ACE_Select_Reactor_T< ACE_Select_Reactor_Token >.

virtual int ACE_Reactor_Impl::register_handler const ACE_Handle_Set handles,
ACE_Event_Handler event_handler,
ACE_Reactor_Mask  mask
[pure virtual]
 

Register with all the in the .

Implemented in ACE_Dev_Poll_Reactor, ACE_Select_Reactor_T< ACE_SELECT_REACTOR_TOKEN >, ACE_TP_Reactor, ACE_WFMO_Reactor, and ACE_Select_Reactor_T< ACE_Select_Reactor_Token >.

virtual int ACE_Reactor_Impl::register_handler ACE_HANDLE  event_handle,
ACE_HANDLE  io_handle,
ACE_Event_Handler event_handler,
ACE_Reactor_Mask  mask
[pure virtual]
 

Register an that will be notified when is signaled. specifies the network events that the is interested in.

Implemented in ACE_Dev_Poll_Reactor, ACE_Select_Reactor_T< ACE_SELECT_REACTOR_TOKEN >, ACE_TP_Reactor, ACE_WFMO_Reactor, and ACE_Select_Reactor_T< ACE_Select_Reactor_Token >.

virtual int ACE_Reactor_Impl::register_handler ACE_Event_Handler event_handler,
ACE_HANDLE  event_handle = ACE_INVALID_HANDLE
[pure virtual]
 

Register an that will be notified when is signaled. Since no event mask is passed through this interface, it is assumed that the being passed in is an event handle and not an I/O handle.

Implemented in ACE_Select_Reactor_T< ACE_SELECT_REACTOR_TOKEN >, ACE_TP_Reactor, ACE_WFMO_Reactor, and ACE_Select_Reactor_T< ACE_Select_Reactor_Token >.

virtual int ACE_Reactor_Impl::register_handler ACE_HANDLE  io_handle,
ACE_Event_Handler event_handler,
ACE_Reactor_Mask  mask
[pure virtual]
 

Register with . The I/O handle is provided through the parameter.

Implemented in ACE_Dev_Poll_Reactor, ACE_Select_Reactor_T< ACE_SELECT_REACTOR_TOKEN >, ACE_TP_Reactor, ACE_WFMO_Reactor, and ACE_Select_Reactor_T< ACE_Select_Reactor_Token >.

virtual int ACE_Reactor_Impl::register_handler ACE_Event_Handler event_handler,
ACE_Reactor_Mask  mask
[pure virtual]
 

Register with . The I/O handle will always come from on the .

Implemented in ACE_Dev_Poll_Reactor, ACE_Select_Reactor_T< ACE_SELECT_REACTOR_TOKEN >, ACE_TP_Reactor, ACE_WFMO_Reactor, and ACE_Select_Reactor_T< ACE_Select_Reactor_Token >.

Referenced by ACE_WFMO_Reactor_Notify::open(), ACE_Select_Reactor_Notify::open(), and ACE_Reactor::register_handler().

virtual int ACE_Reactor_Impl::remove_handler const ACE_Sig_Set sigset  )  [pure virtual]
 

Calls for every signal in .

Implemented in ACE_Dev_Poll_Reactor, ACE_Select_Reactor_T< ACE_SELECT_REACTOR_TOKEN >, ACE_WFMO_Reactor, and ACE_Select_Reactor_T< ACE_Select_Reactor_Token >.

virtual int ACE_Reactor_Impl::remove_handler int  signum,
ACE_Sig_Action new_disp,
ACE_Sig_Action old_disp = 0,
int  sigkey = -1
[pure virtual]
 

Remove the ACE_Event_Handler currently associated with . Install the new disposition (if given) and return the previous disposition (if desired by the caller). Returns 0 on success and -1 if is invalid.

Implemented in ACE_Dev_Poll_Reactor, ACE_Select_Reactor_T< ACE_SELECT_REACTOR_TOKEN >, ACE_WFMO_Reactor, and ACE_Select_Reactor_T< ACE_Select_Reactor_Token >.

virtual int ACE_Reactor_Impl::remove_handler const ACE_Handle_Set handle_set,
ACE_Reactor_Mask  mask
[pure virtual]
 

Removes all handles in . If == <ACE_Event_Handler::DONT_CALL> then the method of the associated s is not invoked.

Implemented in ACE_Dev_Poll_Reactor, ACE_Select_Reactor_T< ACE_SELECT_REACTOR_TOKEN >, ACE_WFMO_Reactor, and ACE_Select_Reactor_T< ACE_Select_Reactor_Token >.

virtual int ACE_Reactor_Impl::remove_handler ACE_HANDLE  handle,
ACE_Reactor_Mask  mask
[pure virtual]
 

Removes . If == <ACE_Event_Handler::DONT_CALL> then the method of the associated is not invoked.

Implemented in ACE_Dev_Poll_Reactor, ACE_Select_Reactor_T< ACE_SELECT_REACTOR_TOKEN >, ACE_WFMO_Reactor, and ACE_Select_Reactor_T< ACE_Select_Reactor_Token >.

virtual int ACE_Reactor_Impl::remove_handler ACE_Event_Handler event_handler,
ACE_Reactor_Mask  mask
[pure virtual]
 

Removes . Note that the I/O handle will be obtained using method of . If == <ACE_Event_Handler::DONT_CALL> then the method of the is not invoked.

Implemented in ACE_Dev_Poll_Reactor, ACE_Select_Reactor_T< ACE_SELECT_REACTOR_TOKEN >, ACE_WFMO_Reactor, and ACE_Select_Reactor_T< ACE_Select_Reactor_Token >.

Referenced by ACE_Reactor::remove_handler().

virtual int ACE_Reactor_Impl::requeue_position void   )  [pure virtual]
 

Get position of the owner thread.

Implemented in ACE_Dev_Poll_Reactor, ACE_Select_Reactor_T< ACE_SELECT_REACTOR_TOKEN >, ACE_WFMO_Reactor, and ACE_Select_Reactor_T< ACE_Select_Reactor_Token >.

virtual void ACE_Reactor_Impl::requeue_position int   )  [pure virtual]
 

Set position of the owner thread.

Implemented in ACE_Dev_Poll_Reactor, ACE_Select_Reactor_T< ACE_SELECT_REACTOR_TOKEN >, ACE_WFMO_Reactor, and ACE_Select_Reactor_T< ACE_Select_Reactor_Token >.

Referenced by ACE_Reactor::requeue_position().

virtual int ACE_Reactor_Impl::reset_timer_interval long  timer_id,
const ACE_Time_Value interval
[pure virtual]
 

Resets the interval of the timer represented by to , which is specified in relative time to the current . If is equal to <ACE_Time_Value::zero>, the timer will become a non-rescheduling timer. Returns 0 if successful, -1 if not.

Implemented in ACE_Dev_Poll_Reactor, ACE_FlReactor, ACE_Select_Reactor_T< ACE_SELECT_REACTOR_TOKEN >, ACE_TkReactor, ACE_WFMO_Reactor, ACE_XtReactor, and ACE_Select_Reactor_T< ACE_Select_Reactor_Token >.

virtual int ACE_Reactor_Impl::restart int  r  )  [pure virtual]
 

Set a new value for restart and return the original value.

Implemented in ACE_Dev_Poll_Reactor, ACE_Select_Reactor_T< ACE_SELECT_REACTOR_TOKEN >, ACE_WFMO_Reactor, and ACE_Select_Reactor_T< ACE_Select_Reactor_Token >.

virtual int ACE_Reactor_Impl::restart void   )  [pure virtual]
 

Get the existing restart value.

Implemented in ACE_Dev_Poll_Reactor, ACE_Select_Reactor_T< ACE_SELECT_REACTOR_TOKEN >, ACE_WFMO_Reactor, and ACE_Select_Reactor_T< ACE_Select_Reactor_Token >.

Referenced by ACE_Reactor::restart().

virtual int ACE_Reactor_Impl::resumable_handler void   )  [pure virtual]
 

Does the reactor allow the application to resume the handle on its own ie. can it pass on the control of handle resumption to the application

Implemented in ACE_Dev_Poll_Reactor, ACE_Select_Reactor_Impl, ACE_TP_Reactor, and ACE_WFMO_Reactor.

Referenced by ACE_Reactor::resumable_handler().

virtual int ACE_Reactor_Impl::resume_handler const ACE_Handle_Set handles  )  [pure virtual]
 

Resume all in handle set.

Implemented in ACE_Dev_Poll_Reactor, ACE_Select_Reactor_T< ACE_SELECT_REACTOR_TOKEN >, ACE_WFMO_Reactor, and ACE_Select_Reactor_T< ACE_Select_Reactor_Token >.

virtual int ACE_Reactor_Impl::resume_handler ACE_HANDLE  handle  )  [pure virtual]
 

Resume .

Implemented in ACE_Dev_Poll_Reactor, ACE_Select_Reactor_T< ACE_SELECT_REACTOR_TOKEN >, ACE_WFMO_Reactor, and ACE_Select_Reactor_T< ACE_Select_Reactor_Token >.

virtual int ACE_Reactor_Impl::resume_handler ACE_Event_Handler event_handler  )  [pure virtual]
 

Resume . Use <ACE_Event_Handler::get_handle> to get the handle.

Implemented in ACE_Dev_Poll_Reactor, ACE_Select_Reactor_T< ACE_SELECT_REACTOR_TOKEN >, ACE_WFMO_Reactor, and ACE_Select_Reactor_T< ACE_Select_Reactor_Token >.

Referenced by ACE_Reactor::resume_handler().

virtual int ACE_Reactor_Impl::resume_handlers void   )  [pure virtual]
 

Resume all .

Implemented in ACE_Dev_Poll_Reactor, ACE_Select_Reactor_T< ACE_SELECT_REACTOR_TOKEN >, ACE_WFMO_Reactor, and ACE_Select_Reactor_T< ACE_Select_Reactor_Token >.

Referenced by ACE_Reactor::resume_handlers().

virtual long ACE_Reactor_Impl::schedule_timer ACE_Event_Handler event_handler,
const void *  arg,
const ACE_Time_Value delay,
const ACE_Time_Value interval = ACE_Time_Value::zero
[pure virtual]
 

Schedule an ACE_Event_Handler that will expire after an amount of time. The return value of this method, a timer_id value, uniquely identifies the event_handler in the ACE_Reactor's internal list of timers. This timer_id value can be used to cancel the timer with the cancel_timer() call.

See also:
cancel_timer()

reset_timer_interval()

Parameters:
event_handler event handler to schedule on reactor
arg argument passed to the handle_timeout() method of event_handler
delay time interval after which the timer will expire
interval time interval after which the timer will be automatically rescheduled
Returns:
-1 on failure, a timer_id value on success

Implemented in ACE_Dev_Poll_Reactor, ACE_FlReactor, ACE_QtReactor, ACE_Select_Reactor_T< ACE_SELECT_REACTOR_TOKEN >, ACE_TkReactor, ACE_WFMO_Reactor, ACE_XtReactor, and ACE_Select_Reactor_T< ACE_Select_Reactor_Token >.

Referenced by ACE_Reactor::schedule_timer().

virtual int ACE_Reactor_Impl::schedule_wakeup ACE_HANDLE  handle,
ACE_Reactor_Mask  masks_to_be_added
[pure virtual]
 

Add to the 's entry. associated with must already have been registered.

Implemented in ACE_Dev_Poll_Reactor, ACE_Select_Reactor_T< ACE_SELECT_REACTOR_TOKEN >, ACE_WFMO_Reactor, and ACE_Select_Reactor_T< ACE_Select_Reactor_Token >.

virtual int ACE_Reactor_Impl::schedule_wakeup ACE_Event_Handler event_handler,
ACE_Reactor_Mask  masks_to_be_added
[pure virtual]
 

Add to the 's entry. must already have been registered.

Implemented in ACE_Dev_Poll_Reactor, ACE_Select_Reactor_T< ACE_SELECT_REACTOR_TOKEN >, ACE_WFMO_Reactor, and ACE_Select_Reactor_T< ACE_Select_Reactor_Token >.

Referenced by ACE_Reactor::schedule_wakeup().

virtual int ACE_Reactor_Impl::set_sig_handler ACE_Sig_Handler signal_handler  )  [pure virtual]
 

Use a user specified signal handler instead.

Implemented in ACE_Dev_Poll_Reactor, ACE_Select_Reactor_T< ACE_SELECT_REACTOR_TOKEN >, ACE_WFMO_Reactor, and ACE_Select_Reactor_T< ACE_Select_Reactor_Token >.

Referenced by ACE_Reactor::set_sig_handler().

virtual size_t ACE_Reactor_Impl::size void   )  const [pure virtual]
 

Returns the current size of the Reactor's internal descriptor table.

Implemented in ACE_Dev_Poll_Reactor, ACE_Select_Reactor_T< ACE_SELECT_REACTOR_TOKEN >, ACE_WFMO_Reactor, and ACE_Select_Reactor_T< ACE_Select_Reactor_Token >.

Referenced by ACE_Reactor::size().

virtual int ACE_Reactor_Impl::suspend_handler const ACE_Handle_Set handles  )  [pure virtual]
 

Suspend all in handle set temporarily.

Implemented in ACE_Dev_Poll_Reactor, ACE_Select_Reactor_T< ACE_SELECT_REACTOR_TOKEN >, ACE_WFMO_Reactor, and ACE_Select_Reactor_T< ACE_Select_Reactor_Token >.

virtual int ACE_Reactor_Impl::suspend_handler ACE_HANDLE  handle  )  [pure virtual]
 

Suspend temporarily.

Implemented in ACE_Dev_Poll_Reactor, ACE_Select_Reactor_T< ACE_SELECT_REACTOR_TOKEN >, ACE_WFMO_Reactor, and ACE_Select_Reactor_T< ACE_Select_Reactor_Token >.

virtual int ACE_Reactor_Impl::suspend_handler ACE_Event_Handler event_handler  )  [pure virtual]
 

Suspend temporarily. Use <ACE_Event_Handler::get_handle> to get the handle.

Implemented in ACE_Dev_Poll_Reactor, ACE_Select_Reactor_T< ACE_SELECT_REACTOR_TOKEN >, ACE_WFMO_Reactor, and ACE_Select_Reactor_T< ACE_Select_Reactor_Token >.

Referenced by ACE_Reactor::suspend_handler().

virtual int ACE_Reactor_Impl::suspend_handlers void   )  [pure virtual]
 

Suspend all temporarily.

Implemented in ACE_Dev_Poll_Reactor, ACE_Select_Reactor_T< ACE_SELECT_REACTOR_TOKEN >, ACE_WFMO_Reactor, and ACE_Select_Reactor_T< ACE_Select_Reactor_Token >.

Referenced by ACE_Reactor::suspend_handlers().

virtual ACE_Timer_Queue* ACE_Reactor_Impl::timer_queue void   )  const [pure virtual]
 

Return the current ACE_Timer_Queue.

Implemented in ACE_Dev_Poll_Reactor, ACE_Select_Reactor_T< ACE_SELECT_REACTOR_TOKEN >, ACE_WFMO_Reactor, and ACE_Select_Reactor_T< ACE_Select_Reactor_Token >.

virtual int ACE_Reactor_Impl::timer_queue ACE_Timer_Queue tq  )  [pure virtual]
 

Set a user-specified timer queue.

Implemented in ACE_Dev_Poll_Reactor, ACE_Select_Reactor_T< ACE_SELECT_REACTOR_TOKEN >, ACE_WFMO_Reactor, and ACE_Select_Reactor_T< ACE_Select_Reactor_Token >.

Referenced by ACE_Reactor::timer_queue().

virtual int ACE_Reactor_Impl::uses_event_associations void   )  [pure virtual]
 

Return 1 if we any event associations were made by the reactor for the handles that it waits on, 0 otherwise.

Implemented in ACE_Dev_Poll_Reactor, ACE_Select_Reactor_T< ACE_SELECT_REACTOR_TOKEN >, ACE_WFMO_Reactor, and ACE_Select_Reactor_T< ACE_Select_Reactor_Token >.

Referenced by ACE_Reactor::uses_event_associations().

virtual void ACE_Reactor_Impl::wakeup_all_threads void   )  [pure virtual]
 

Wake up all threads in waiting in the event loop.

Implemented in ACE_Dev_Poll_Reactor, ACE_Select_Reactor_T< ACE_SELECT_REACTOR_TOKEN >, ACE_WFMO_Reactor, and ACE_Select_Reactor_T< ACE_Select_Reactor_Token >.

Referenced by ACE_Reactor::wakeup_all_threads().

virtual int ACE_Reactor_Impl::work_pending const ACE_Time_Value max_wait_time = ACE_Time_Value::zero  )  [pure virtual]
 

Returns non-zero if there are I/O events "ready" for dispatching, but does not actually dispatch the event handlers. By default, don't block while checking this, i.e., "poll".

Implemented in ACE_Dev_Poll_Reactor, ACE_Select_Reactor_T< ACE_SELECT_REACTOR_TOKEN >, ACE_WFMO_Reactor, and ACE_Select_Reactor_T< ACE_Select_Reactor_Token >.

Referenced by ACE_Reactor::work_pending().


Member Data Documentation

ACE_Reactor_Impl::ACE_ALLOC_HOOK_DECLARE
 

Declare the dynamic allocation hooks.

Reimplemented in ACE_Dev_Poll_Reactor, ACE_Priority_Reactor, ACE_Select_Reactor_T< ACE_SELECT_REACTOR_TOKEN >, ACE_TP_Reactor, ACE_WFMO_Reactor, and ACE_Select_Reactor_T< ACE_Select_Reactor_Token >.

Definition at line 563 of file Reactor_Impl.h.


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