Primary interface for application message processing, as well as input and output message queueing.  
 More...
 | 
|   | ACE_Task_Ex (ACE_Thread_Manager *thr_mgr=0, MESSAGE_QUEUE_EX *mq=0) | 
|   | 
| virtual  | ~ACE_Task_Ex (void) | 
|   | Destructor.  More...
  | 
|   | 
| MESSAGE_QUEUE_EX *  | msg_queue (void) | 
|   | Gets the message queue associated with this task.  More...
  | 
|   | 
| void  | msg_queue (MESSAGE_QUEUE_EX *) | 
|   | Sets the message queue associated with this task.  More...
  | 
|   | 
| int  | putq (ACE_MESSAGE_TYPE *, ACE_Time_Value *timeout=0) | 
|   | 
| int  | getq (ACE_MESSAGE_TYPE *&mb, ACE_Time_Value *timeout=0) | 
|   | 
| int  | ungetq (ACE_MESSAGE_TYPE *, ACE_Time_Value *timeout=0) | 
|   | 
| int  | reply (ACE_MESSAGE_TYPE *, ACE_Time_Value *timeout=0) | 
|   | 
| int  | put_next (ACE_MESSAGE_TYPE *msg, ACE_Time_Value *timeout=0) | 
|   | 
| const ACE_TCHAR *  | name (void) const  | 
|   | 
ACE_Task< ACE_SYNCH_USE,  
TIME_POLICY > *  | next (void) | 
|   | Get next Task pointer.  More...
  | 
|   | 
| void  | next (ACE_Task< ACE_SYNCH_USE, TIME_POLICY > *) | 
|   | Set next Task pointer.  More...
  | 
|   | 
ACE_Task< ACE_SYNCH_USE,  
TIME_POLICY > *  | sibling (void) | 
|   | Alwasy return 0.  More...
  | 
|   | 
ACE_Module< ACE_SYNCH_USE,  
TIME_POLICY > *  | module (void) const  | 
|   | Return the Task's Module if there is one, else returns 0.  More...
  | 
|   | 
| 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.  More...
  | 
|   | 
| void  | dump (void) const  | 
|   | Dump the state of an object.  More...
  | 
|   | 
|   | ACE_Task_Base (ACE_Thread_Manager *=0) | 
|   | Constructor.  More...
  | 
|   | 
| virtual  | ~ACE_Task_Base (void) | 
|   | Destructor.  More...
  | 
|   | 
| virtual int  | open (void *args=0) | 
|   | Default ACE_Task open routine.  More...
  | 
|   | 
| virtual int  | close (u_long flags=0) | 
|   | Default ACE_Task close routine.  More...
  | 
|   | 
| virtual int  | module_closed (void) | 
|   | 
| virtual int  | put (ACE_Message_Block *, ACE_Time_Value *=0) | 
|   | Default ACE_Task put routine.  More...
  | 
|   | 
| virtual int  | svc (void) | 
|   | Run by a daemon thread to handle deferred processing.  More...
  | 
|   | 
| 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.  More...
  | 
|   | 
| virtual int  | suspend (void) | 
|   | Suspend a task.  More...
  | 
|   | 
| virtual int  | resume (void) | 
|   | Resume a suspended task.  More...
  | 
|   | 
| int  | grp_id (void) const  | 
|   | Get the current group id.  More...
  | 
|   | 
| void  | grp_id (int) | 
|   | Set the current group id.  More...
  | 
|   | 
| ACE_Thread_Manager *  | thr_mgr (void) const  | 
|   | Get the thread manager associated with this Task.  More...
  | 
|   | 
| void  | thr_mgr (ACE_Thread_Manager *) | 
|   | Set the thread manager associated with this Task.  More...
  | 
|   | 
| int  | is_reader (void) const  | 
|   | True if queue is a reader, else false.  More...
  | 
|   | 
| int  | is_writer (void) const  | 
|   | True if queue is a writer, else false.  More...
  | 
|   | 
| size_t  | thr_count (void) const  | 
|   | 
| ACE_thread_t  | last_thread (void) const  | 
|   | 
|   | ACE_Service_Object (ACE_Reactor *=0) | 
|   | Constructor.  More...
  | 
|   | 
| virtual  | ~ACE_Service_Object (void) | 
|   | Destructor.  More...
  | 
|   | 
| virtual  | ~ACE_Event_Handler (void) | 
|   | Destructor is virtual to enable proper cleanup.  More...
  | 
|   | 
| virtual ACE_HANDLE  | get_handle (void) const  | 
|   | Get the I/O handle.  More...
  | 
|   | 
| virtual void  | set_handle (ACE_HANDLE) | 
|   | Set the I/O handle.  More...
  | 
|   | 
| virtual int  | priority (void) const  | 
|   | 
| virtual void  | priority (int priority) | 
|   | Set the priority of the Event_Handler.  More...
  | 
|   | 
| virtual int  | handle_input (ACE_HANDLE fd=ACE_INVALID_HANDLE) | 
|   | Called when input events occur (e.g., connection or data).  More...
  | 
|   | 
| 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).  More...
  | 
|   | 
| 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.  More...
  | 
|   | 
| 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.  More...
  | 
|   | 
| virtual ACE_Reactor *  | reactor (void) const  | 
|   | Get the event demultiplexors.  More...
  | 
|   | 
virtual  
ACE_Reactor_Timer_Interface *  | reactor_timer_interface (void) const  | 
|   | Get only the reactor's timer related interface.  More...
  | 
|   | 
| virtual Reference_Count  | add_reference (void) | 
|   | Increment reference count on the handler.  More...
  | 
|   | 
| virtual Reference_Count  | remove_reference (void) | 
|   | Decrement reference count on the handler.  More...
  | 
|   | 
| Reference_Counting_Policy &  | reference_counting_policy (void) | 
|   | Current Reference_Counting_Policy.  More...
  | 
|   | 
|   | ACE_Shared_Object (void) | 
|   | Constructor.  More...
  | 
|   | 
| virtual  | ~ACE_Shared_Object (void) | 
|   | Destructor.  More...
  | 
|   | 
| virtual int  | init (int argc, ACE_TCHAR *argv[]) | 
|   | Initializes object when dynamic linking occurs.  More...
  | 
|   | 
| virtual int  | fini (void) | 
|   | Terminates object when dynamic unlinking occurs.  More...
  | 
|   | 
| virtual int  | info (ACE_TCHAR **info_string, size_t length=0) const  | 
|   | Returns information on a service object.  More...
  | 
|   | 
template<ACE_SYNCH_DECL, class ACE_MESSAGE_TYPE, class TIME_POLICY = ACE_System_Time_Policy>
class ACE_Task_Ex< ACE_SYNCH_DECL, ACE_MESSAGE_TYPE, TIME_POLICY >
Primary interface for application message processing, as well as input and output message queueing. 
Unlike ACE_Task, these class doesn't have the ability to be a part of a Stream chain. I.e. You cannot (yet) chain modules based on ACE_Task_Ex.
- Todo:
 - : We can merge ACE_Task and ACE_Task_Ex to be one class. something like that: template <ACE_SYNCH_DECL, ACE_MESSAGE_TYPE = ACE_Message_Block> class ACE_Task : public ACE_Task_Base { // use here the code from ACE_Task_Ex using ACE_Message_Queue_Ex };
 
Now specialized version of ACE_Task with ACE_Message_Block as its ACE_MESSAGE_TYPE...
template <ACE_SYNCH_DECL> class ACE_Task <ACE_SYNCH_USE, ACE_Message_Block> : public ACE_Task_Base { // put here the good old ACE_Task code };
When User (and legacy code) write ACE_Task<ACE_MT_SYNCH>, specialized ACE_Task code is in action.