|
| ACE_Select_Reactor_T (ACE_Sig_Handler *=0, ACE_Timer_Queue *=0, int disable_notify_pipe=ACE_DISABLE_NOTIFY_PIPE_DEFAULT, ACE_Reactor_Notify *notify=0, bool mask_signals=true, int s_queue=ACE_SELECT_TOKEN::FIFO) |
|
| ACE_Select_Reactor_T (size_t size, bool restart=false, ACE_Sig_Handler *=0, ACE_Timer_Queue *=0, int disable_notify_pipe=ACE_DISABLE_NOTIFY_PIPE_DEFAULT, ACE_Reactor_Notify *notify=0, bool mask_signals=true, int s_queue=ACE_SELECT_TOKEN::FIFO) |
|
virtual int | open (size_t max_number_of_handles=DEFAULT_SIZE, bool restart=false, ACE_Sig_Handler *=0, ACE_Timer_Queue *=0, int disable_notify_pipe=ACE_DISABLE_NOTIFY_PIPE_DEFAULT, ACE_Reactor_Notify *=0) |
|
virtual int | current_info (ACE_HANDLE, size_t &size) |
| Returns -1 (not used in this implementation);.
|
|
virtual int | set_sig_handler (ACE_Sig_Handler *signal_handler) |
| Use a user specified signal handler instead.
|
|
virtual int | timer_queue (ACE_Timer_Queue *tq) |
| Set a user-specified timer queue.
|
|
virtual ACE_Timer_Queue * | timer_queue () const |
| Return the current ACE_Timer_Queue.
|
|
virtual int | close () |
| Close down the select_reactor and release all of its resources.
|
|
virtual | ~ACE_Select_Reactor_T () |
| Close down the select_reactor and release all of its resources.
|
|
virtual int | work_pending (const ACE_Time_Value &max_wait_time=ACE_Time_Value::zero) |
|
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 | handle_events (ACE_Time_Value &max_wait_time) |
|
virtual int | alertable_handle_events (ACE_Time_Value &max_wait_time) |
|
virtual int | deactivated () |
|
virtual void | deactivate (int do_stop) |
|
virtual int | register_handler (ACE_Event_Handler *eh, ACE_Reactor_Mask mask) |
|
virtual int | register_handler (ACE_HANDLE handle, ACE_Event_Handler *eh, ACE_Reactor_Mask mask) |
|
virtual int | register_handler (ACE_Event_Handler *event_handler, ACE_HANDLE event_handle=ACE_INVALID_HANDLE) |
| Not implemented.
|
|
virtual int | register_handler (ACE_HANDLE event_handle, ACE_HANDLE io_handle, ACE_Event_Handler *event_handler, ACE_Reactor_Mask mask) |
| Not implemented.
|
|
virtual int | register_handler (const ACE_Handle_Set &handles, ACE_Event_Handler *eh, ACE_Reactor_Mask mask) |
| Register eh with all the handles in the <Handle_Set>.
|
|
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) |
|
virtual int | register_handler (const ACE_Sig_Set &sigset, ACE_Event_Handler *new_sh, ACE_Sig_Action *new_disp=0) |
|
virtual int | remove_handler (ACE_Event_Handler *eh, ACE_Reactor_Mask mask) |
|
virtual int | remove_handler (ACE_HANDLE handle, ACE_Reactor_Mask) |
|
virtual int | remove_handler (const ACE_Handle_Set &handle_set, ACE_Reactor_Mask) |
|
virtual int | remove_handler (int signum, ACE_Sig_Action *new_disp, ACE_Sig_Action *old_disp=0, int sigkey=-1) |
|
virtual int | remove_handler (const ACE_Sig_Set &sigset) |
| Calls <remove_handler> for every signal in sigset.
|
|
virtual int | suspend_handler (ACE_Event_Handler *eh) |
| Temporarily suspend the <Event_Handler> associated with eh.
|
|
virtual int | suspend_handler (ACE_HANDLE handle) |
| Temporarily suspend the Event_Handler associated with handle.
|
|
virtual int | suspend_handler (const ACE_Handle_Set &handles) |
| Suspend all handles in handle set temporarily.
|
|
virtual int | suspend_handlers () |
| Suspend all the <Event_Handlers> in the Select_Reactor.
|
|
virtual int | resume_handler (ACE_Event_Handler *eh) |
|
virtual int | resume_handler (ACE_HANDLE handle) |
|
virtual int | resume_handler (const ACE_Handle_Set &handles) |
| Resume all handles in handle set.
|
|
virtual int | resume_handlers () |
| Resume all the <Event_Handlers> in the Select_Reactor.
|
|
virtual bool | uses_event_associations () |
|
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) |
|
virtual int | reset_timer_interval (long timer_id, const ACE_Time_Value &interval) |
|
virtual int | cancel_timer (ACE_Event_Handler *event_handler, int dont_call_handle_close=1) |
|
virtual int | cancel_timer (long timer_id, const void **arg=0, int dont_call_handle_close=1) |
|
virtual int | schedule_wakeup (ACE_Event_Handler *eh, ACE_Reactor_Mask mask) |
| ADD the dispatch MASK "bit" bound with the eh and the mask.
|
|
virtual int | schedule_wakeup (ACE_HANDLE handle, ACE_Reactor_Mask mask) |
| ADD the dispatch MASK "bit" bound with the handle and the mask.
|
|
virtual int | cancel_wakeup (ACE_Event_Handler *eh, ACE_Reactor_Mask mask) |
| CLR the dispatch MASK "bit" bound with the eh and the mask.
|
|
virtual int | cancel_wakeup (ACE_HANDLE handle, ACE_Reactor_Mask mask) |
| CLR the dispatch MASK "bit" bound with the handle and the mask.
|
|
virtual int | notify (ACE_Event_Handler *=0, ACE_Reactor_Mask=ACE_Event_Handler::EXCEPT_MASK, ACE_Time_Value *=0) |
|
virtual void | max_notify_iterations (int) |
|
virtual int | max_notify_iterations () |
|
virtual bool | restart () |
| Get the existing restart value.
|
|
virtual bool | restart (bool r) |
| Set a new value for restart and return the original value.
|
|
virtual void | requeue_position (int) |
|
virtual int | requeue_position () |
|
virtual int | mask_ops (ACE_Event_Handler *eh, ACE_Reactor_Mask mask, int ops) |
|
virtual int | mask_ops (ACE_HANDLE handle, ACE_Reactor_Mask mask, int ops) |
|
virtual int | ready_ops (ACE_Event_Handler *eh, ACE_Reactor_Mask mask, int ops) |
| GET/SET/ADD/CLR the ready "bit" bound with the eh and mask.
|
|
virtual int | ready_ops (ACE_HANDLE handle, ACE_Reactor_Mask, int ops) |
| GET/SET/ADD/CLR the ready "bit" bound with the handle and mask.
|
|
virtual void | wakeup_all_threads () |
| Wake up all threads in waiting in the event loop.
|
|
virtual int | owner (ACE_thread_t n_id, ACE_thread_t *o_id=0) |
| Set the new owner of the thread and return the old owner.
|
|
virtual int | owner (ACE_thread_t *) |
| Return the current owner of the thread.
|
|
virtual ACE_Event_Handler * | find_handler (ACE_HANDLE handle) |
|
virtual int | handler (ACE_HANDLE handle, ACE_Reactor_Mask mask, ACE_Event_Handler **eh=0) |
|
virtual int | handler (int signum, ACE_Event_Handler **=0) |
|
virtual bool | initialized () |
| Returns true if we've been successfully initialized, else false.
|
|
virtual size_t | size () const |
|
virtual ACE_Lock & | lock () |
|
virtual void | dump () const |
| Dump the state of an object.
|
|
| ACE_Select_Reactor_Impl (bool mask_signals=true) |
| Constructor.
|
|
virtual int | purge_pending_notifications (ACE_Event_Handler *=0, ACE_Reactor_Mask=ACE_Event_Handler::ALL_EVENTS_MASK) |
|
virtual int | resumable_handler () |
|
virtual | ~ACE_Reactor_Impl () |
| Close down and release all resources.
|
|
|
virtual int | register_handler_i (ACE_HANDLE handle, ACE_Event_Handler *eh, ACE_Reactor_Mask mask) |
|
virtual int | register_handler_i (const ACE_Handle_Set &handles, ACE_Event_Handler *handler, ACE_Reactor_Mask mask) |
| Register a set of handles.
|
|
virtual int | remove_handler_i (ACE_HANDLE handle, ACE_Reactor_Mask) |
|
virtual int | remove_handler_i (const ACE_Handle_Set &handles, ACE_Reactor_Mask) |
| Remove a set of handles.
|
|
virtual int | suspend_i (ACE_HANDLE handle) |
| Suspend the <Event_Handler> associated with handle.
|
|
virtual int | is_suspended_i (ACE_HANDLE handle) |
|
virtual int | resume_i (ACE_HANDLE handle) |
| Resume the <Event_Handler> associated with handle.
|
|
virtual ACE_Event_Handler * | find_handler_i (ACE_HANDLE handle) |
| Implement the public handler method.
|
|
virtual int | handler_i (ACE_HANDLE handle, ACE_Reactor_Mask, ACE_Event_Handler **=0) |
| Implement the public handler method.
|
|
virtual int | handler_i (int signum, ACE_Event_Handler **=0) |
| Implement the public handler method.
|
|
virtual int | any_ready (ACE_Select_Reactor_Handle_Set &handle_set) |
|
virtual int | any_ready_i (ACE_Select_Reactor_Handle_Set &handle_set) |
|
virtual int | handle_error () |
| Take corrective action when errors occur.
|
|
virtual int | check_handles () |
| Make sure the handles are all valid.
|
|
virtual int | wait_for_multiple_events (ACE_Select_Reactor_Handle_Set &, ACE_Time_Value *) |
| Wait for events to occur.
|
|
virtual int | dispatch (int nfound, ACE_Select_Reactor_Handle_Set &) |
|
virtual int | dispatch_timer_handlers (int &number_dispatched) |
|
virtual int | dispatch_notification_handlers (ACE_Select_Reactor_Handle_Set &dispatch_set, int &number_of_active_handles, int &number_of_handlers_dispatched) |
|
virtual int | dispatch_io_handlers (ACE_Select_Reactor_Handle_Set &dispatch_set, int &number_of_active_handles, int &number_of_handlers_dispatched) |
|
virtual int | dispatch_io_set (int number_of_active_handles, int &number_of_handlers_dispatched, int mask, ACE_Handle_Set &dispatch_mask, ACE_Handle_Set &ready_mask, ACE_EH_PTMF callback) |
|
virtual void | notify_handle (ACE_HANDLE handle, ACE_Reactor_Mask mask, ACE_Handle_Set &, ACE_Event_Handler *eh, ACE_EH_PTMF callback) |
|
virtual void | renew () |
|
int | release_token () |
| Release the token lock when a Win32 structured exception occurs.
|
|
int | handle_events_i (ACE_Time_Value *max_wait_time=0) |
| Stops the VC++ compiler from bitching about exceptions and destructors.
|
|
virtual int | bit_ops (ACE_HANDLE handle, ACE_Reactor_Mask mask, ACE_Select_Reactor_Handle_Set &handle_set, int ops) |
| Allow manipulation of the <wait_set_> mask and <ready_set_> mask.
|
|
virtual void | clear_dispatch_mask (ACE_HANDLE handle, ACE_Reactor_Mask mask) |
|
bool | supress_notify_renew () |
|
void | supress_notify_renew (bool sr) |
|
An object oriented event demultiplexor and event handler dispatcher.
The ACE_Select_Reactor is an object-oriented event demultiplexor and event handler dispatcher. The sources of events that the ACE_Select_Reactor waits for and dispatches includes I/O events, signals, and timer events. All public methods acquire the main ACE_Reactor_Token lock and call down to private or protected methods, which assume that the lock is held and so therefore don't (re)acquire the lock.
This event loop driver that blocks for max_wait_time before returning. It will return earlier if timer events, I/O events, or signal events occur. Note that max_wait_time can be 0, in which case this method blocks indefinitely until events occur.
max_wait_time 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, max_wait_time 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 I/O and Timer ACE_Event_Handler's that were dispatched, 0 if the max_wait_time elapsed without dispatching any handlers, or -1 if something goes wrong.
Current alertable_handle_events() is identical to handle_events().
Implements ACE_Reactor_Impl.
Reimplemented in ACE_TP_Reactor.