ACE
6.1.6
|
A Handler for timer. It helps in the management of timers registered with the Proactor. More...
Public Member Functions | |
ACE_Proactor_Timer_Handler (ACE_Proactor &proactor) | |
Constructor. | |
virtual | ~ACE_Proactor_Timer_Handler (void) |
Destructor. | |
int | destroy (void) |
int | signal (void) |
![]() | |
ACE_Task (ACE_Thread_Manager *thr_mgr=0, ACE_Message_Queue< ACE_SYNCH_USE, ACE_System_Time_Policy > *mq=0) | |
virtual | ~ACE_Task (void) |
Destructor. | |
ACE_Message_Queue < ACE_SYNCH_USE, ACE_System_Time_Policy > * | msg_queue (void) |
Gets the message queue associated with this task. | |
void | msg_queue (ACE_Message_Queue< ACE_SYNCH_USE, ACE_System_Time_Policy > *) |
Sets the message queue associated with this task. | |
ACE_Time_Value_T < ACE_System_Time_Policy > | gettimeofday (void) const |
void | set_time_policy (ACE_System_Time_Policyconst &time_policy) |
int | putq (ACE_Message_Block *, ACE_Time_Value *timeout=0) |
int | getq (ACE_Message_Block *&mb, ACE_Time_Value *timeout=0) |
int | ungetq (ACE_Message_Block *, ACE_Time_Value *timeout=0) |
int | reply (ACE_Message_Block *mb, ACE_Time_Value *tv=0) |
int | put_next (ACE_Message_Block *msg, ACE_Time_Value *timeout=0) |
const ACE_TCHAR * | name (void) const |
ACE_Task< ACE_SYNCH_USE, ACE_System_Time_Policy > * | next (void) |
Get next Task pointer. | |
void | next (ACE_Task< ACE_SYNCH_USE, ACE_System_Time_Policy > *) |
Set next Task pointer. | |
ACE_Task< ACE_SYNCH_USE, ACE_System_Time_Policy > * | sibling (void) |
ACE_Module< ACE_SYNCH_USE, ACE_System_Time_Policy > * | module (void) const |
Return the Task's Module if there is one, else returns 0. | |
int | flush (u_long flag=ACE_Task_Flags::ACE_FLUSHALL) |
void | water_marks (ACE_IO_Cntl_Msg::ACE_IO_Cntl_Cmds, size_t) |
Manipulate watermarks. | |
void | dump (void) const |
Dump the state of an object. | |
![]() | |
ACE_Task_Base (ACE_Thread_Manager *=0) | |
Constructor. | |
virtual | ~ACE_Task_Base (void) |
Destructor. | |
virtual int | open (void *args=0) |
Default ACE_Task open routine. | |
virtual int | close (u_long flags=0) |
Default ACE_Task close routine. | |
virtual int | module_closed (void) |
virtual int | put (ACE_Message_Block *, ACE_Time_Value *=0) |
Default ACE_Task put routine. | |
virtual int | activate (long flags=THR_NEW_LWP|THR_JOINABLE|THR_INHERIT_SCHED, int n_threads=1, int force_active=0, long priority=ACE_DEFAULT_THREAD_PRIORITY, int grp_id=-1, ACE_Task_Base *task=0, ACE_hthread_t thread_handles[]=0, void *stack[]=0, size_t stack_size[]=0, ACE_thread_t thread_ids[]=0, const char *thr_name[]=0) |
virtual int | wait (void) |
Wait for all threads running in a task to exit. | |
virtual int | suspend (void) |
Suspend a task. | |
virtual int | resume (void) |
Resume a suspended task. | |
int | grp_id (void) const |
Get the current group id. | |
void | grp_id (int) |
Set the current group id. | |
ACE_Thread_Manager * | thr_mgr (void) const |
Get the thread manager associated with this Task. | |
void | thr_mgr (ACE_Thread_Manager *) |
Set the thread manager associated with this Task. | |
int | is_reader (void) const |
True if queue is a reader, else false. | |
int | is_writer (void) const |
True if queue is a writer, else false. | |
size_t | thr_count (void) const |
ACE_thread_t | last_thread (void) const |
![]() | |
ACE_Service_Object (ACE_Reactor *=0) | |
Constructor. | |
virtual | ~ACE_Service_Object (void) |
Destructor. | |
![]() | |
virtual | ~ACE_Event_Handler (void) |
Destructor is virtual to enable proper cleanup. | |
virtual ACE_HANDLE | get_handle (void) const |
Get the I/O handle. | |
virtual void | set_handle (ACE_HANDLE) |
Set the I/O handle. | |
virtual int | priority (void) const |
virtual void | priority (int priority) |
Set the priority of the Event_Handler. | |
virtual int | handle_input (ACE_HANDLE fd=ACE_INVALID_HANDLE) |
Called when input events occur (e.g., connection or data). | |
virtual int | handle_output (ACE_HANDLE fd=ACE_INVALID_HANDLE) |
virtual int | handle_exception (ACE_HANDLE fd=ACE_INVALID_HANDLE) |
Called when an exceptional events occur (e.g., SIGURG). | |
virtual int | handle_timeout (const ACE_Time_Value ¤t_time, const void *act=0) |
virtual int | handle_exit (ACE_Process *) |
Called when a process exits. | |
virtual int | handle_close (ACE_HANDLE handle, ACE_Reactor_Mask close_mask) |
virtual int | handle_signal (int signum, siginfo_t *=0, ucontext_t *=0) |
virtual int | resume_handler (void) |
virtual int | handle_qos (ACE_HANDLE=ACE_INVALID_HANDLE) |
virtual int | handle_group_qos (ACE_HANDLE=ACE_INVALID_HANDLE) |
virtual void | reactor (ACE_Reactor *reactor) |
Set the event demultiplexors. | |
virtual ACE_Reactor * | reactor (void) const |
Get the event demultiplexors. | |
virtual ACE_Reactor_Timer_Interface * | reactor_timer_interface (void) const |
Get only the reactor's timer related interface. | |
virtual Reference_Count | add_reference (void) |
Increment reference count on the handler. | |
virtual Reference_Count | remove_reference (void) |
Decrement reference count on the handler. | |
Reference_Counting_Policy & | reference_counting_policy (void) |
Current Reference_Counting_Policy. | |
![]() | |
ACE_Shared_Object (void) | |
Constructor. | |
virtual | ~ACE_Shared_Object (void) |
Destructor. | |
virtual int | init (int argc, ACE_TCHAR *argv[]) |
Initializes object when dynamic linking occurs. | |
virtual int | fini (void) |
Terminates object when dynamic unlinking occurs. | |
virtual int | info (ACE_TCHAR **info_string, size_t length=0) const |
Returns information on a service object. |
Protected Member Functions | |
virtual int | svc (void) |
Protected Attributes | |
ACE_Auto_Event | timer_event_ |
Event to wait on. | |
ACE_Proactor & | proactor_ |
Proactor. | |
int | shutting_down_ |
Flag used to indicate when we are shutting down. |
Additional Inherited Members | |
![]() | |
ACE_Message_Queue < ACE_SYNCH_USE, ACE_System_Time_Policy > * | msg_queue_ |
Queue of messages on the ACE_Task.. | |
bool | delete_msg_queue_ |
true if should delete Message_Queue, false otherwise. | |
ACE_Module< ACE_SYNCH_USE, ACE_System_Time_Policy > * | mod_ |
Back-pointer to the enclosing module. | |
ACE_Task< ACE_SYNCH_USE, ACE_System_Time_Policy > * | next_ |
Pointer to adjacent ACE_Task. | |
ACE_ALLOC_HOOK_DECLARE | |
Declare the dynamic allocation hooks. |
A Handler for timer. It helps in the management of timers registered with the Proactor.
This object has a thread that will wait on the earliest time in a list of timers and an event. When a timer expires, the thread will post a completion event on the port and go back to waiting on the timer queue and event. If the event is signaled, the thread will refresh the time it is currently waiting on (in case the earliest time has changed).
ACE_Proactor_Timer_Handler::ACE_Proactor_Timer_Handler | ( | ACE_Proactor & | proactor | ) |
Constructor.
|
virtual |
Destructor.
int ACE_Proactor_Timer_Handler::destroy | ( | void | ) |
Proactor calls this to shut down the timer handler gracefully. Just calling the destructor alone doesnt do what <destroy> does. <destroy> make sure the thread exits properly.
int ACE_Proactor_Timer_Handler::signal | ( | void | ) |
Proactor calls this to refresh the timer event thread, to wake up the thread from a sleep. This is needed to make the thread recompute its sleep time after changes to the timer queue.
|
protectedvirtual |
Run by a daemon thread to handle deferred processing. In other words, this method will do the waiting on the earliest timer and event.
Reimplemented from ACE_Task_Base.
|
protected |
Proactor.
|
protected |
Flag used to indicate when we are shutting down.
|
protected |
Event to wait on.