Defines the interface for a service that exchanges data with its connected peer.
More...
|
| ACE_Svc_Handler (ACE_Thread_Manager *thr_mgr=0, ACE_Message_Queue< SYNCH_TRAITS > *mq=0, ACE_Reactor *reactor=ACE_Reactor::instance()) |
|
virtual | ~ACE_Svc_Handler (void) |
| Destructor. More...
|
|
virtual int | open (void *acceptor_or_connector=0) |
|
virtual int | close (u_long flags=0) |
|
virtual int | idle (u_long flags=0) |
|
virtual ACE_Recyclable_State | recycle_state (void) const |
|
virtual int | recycle_state (ACE_Recyclable_State new_state) |
|
virtual void | cleanup_hint (void **act_holder=0) |
|
virtual int | init (int argc, ACE_TCHAR *argv[]) |
|
virtual int | fini (void) |
|
virtual int | info (ACE_TCHAR **info_string, size_t length) const |
|
virtual int | handle_close (ACE_HANDLE=ACE_INVALID_HANDLE, ACE_Reactor_Mask=ACE_Event_Handler::ALL_EVENTS_MASK) |
|
virtual int | handle_timeout (const ACE_Time_Value &time, const void *) |
|
virtual ACE_HANDLE | get_handle (void) const |
| Get the underlying handle associated with the <peer_>. More...
|
|
virtual void | set_handle (ACE_HANDLE) |
| Set the underlying handle associated with the <peer_>. More...
|
|
PEER_STREAM & | peer (void) const |
|
void * | operator new (size_t n) |
|
void * | operator new (size_t n, void *p) |
| This operator permits "placement new" on a per-object basis. More...
|
|
virtual void | destroy (void) |
|
void | operator delete (void *) |
|
void | operator delete (void *, void *) |
|
void | shutdown (void) |
| Close down the descriptor and unregister from the Reactor. More...
|
|
void | dump (void) const |
| Dump the state of an object. More...
|
|
virtual void | recycler (ACE_Connection_Recycling_Strategy *recycler, const void *recycling_act) |
|
virtual ACE_Connection_Recycling_Strategy * | recycler (void) const |
| Get the recycler. More...
|
|
virtual const void * | recycling_act (void) const |
| Get the recycling act. More...
|
|
virtual int | recycle (void *=0) |
|
| 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. More...
|
|
ACE_Message_Queue< ACE_SYNCH_USE, ACE_System_Time_Policy > * | msg_queue (void) |
| Gets the message queue associated with this task. More...
|
|
void | msg_queue (ACE_Message_Queue< ACE_SYNCH_USE, ACE_System_Time_Policy > *) |
| Sets the message queue associated with this task. More...
|
|
ACE_Time_Value_T< ACE_System_Time_Policy > | gettimeofday (void) const |
|
void | set_time_policy (ACE_System_Time_Policy const &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. More...
|
|
void | next (ACE_Task< ACE_SYNCH_USE, ACE_System_Time_Policy > *) |
| Set next Task pointer. More...
|
|
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. 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 | 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 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_exit (ACE_Process *) |
| Called when a process exits. More...
|
|
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...
|
|
|
static ACE_THR_FUNC_RETURN | svc_run (void *) |
| Routine that runs the service routine as a daemon thread. More...
|
|
static void | cleanup (void *object, void *params) |
|
static ACE_THR_FUNC_RETURN | read_adapter (void *event_handler) |
|
static int | register_stdin_handler (ACE_Event_Handler *eh, ACE_Reactor *reactor, ACE_Thread_Manager *thr_mgr, int flags=THR_DETACHED) |
|
static int | remove_stdin_handler (ACE_Reactor *reactor, ACE_Thread_Manager *thr_mgr) |
| Performs the inverse of the register_stdin_handler() method. More...
|
|
ACE_Message_Queue< ACE_SYNCH_USE, ACE_System_Time_Policy > * | msg_queue_ |
| Queue of messages on the ACE_Task.. More...
|
|
bool | delete_msg_queue_ |
| true if should delete Message_Queue, false otherwise. More...
|
|
ACE_Module< ACE_SYNCH_USE, ACE_System_Time_Policy > * | mod_ |
| Back-pointer to the enclosing module. More...
|
|
ACE_Task< ACE_SYNCH_USE, ACE_System_Time_Policy > * | next_ |
| Pointer to adjacent ACE_Task. More...
|
|
| ACE_ALLOC_HOOK_DECLARE |
| Declare the dynamic allocation hooks. More...
|
|
| ACE_ALLOC_HOOK_DECLARE |
| Declare the dynamic allocation hooks. More...
|
|
typedef ACE_Atomic_Op< ACE_SYNCH_MUTEX, Reference_Count > | Atomic_Reference_Count |
| Typedef for implementation of reference counting. More...
|
|
| ACE_Event_Handler (ACE_Reactor *=0, int priority=ACE_Event_Handler::LO_PRIORITY) |
| Force ACE_Event_Handler to be an abstract base class. More...
|
|
template<typename PEER_STREAM, typename SYNCH_TRAITS>
class ACE_Svc_Handler< PEER_STREAM, SYNCH_TRAITS >
Defines the interface for a service that exchanges data with its connected peer.
This class provides a well-defined interface that the ACE_Acceptor and ACE_Connector factories use as their target. Typically, client applications will subclass ACE_Svc_Handler and do all the interesting work in the subclass. An ACE_Svc_Handler is parameterized by concrete types that conform to the interfaces of PEER_ACCEPTOR and SYNCH_TRAITS described below.
- Template Parameters
-
PEER_STREAM | The name of the class that implements the PEER_STREAM endpoint (e.g., ACE_SOCK_Stream) that is contained in an ACE_Svc_Handler and initialized by an ACE_Acceptor or ACE_Connector when a connection is established successfully. A PEER_STREAM implementation must provide a PEER_ADDR trait (e.g., ACE_INET_Addr to identify the type of address used by the endpoint. This endpoint is used to exchange data between a ACE_Svc_Handler and the peer it is connected with. |
SYNCH_TRAITS | The name of the synchronization traits class that will be used by the ACE_Svc_Handler (e.g., ACE_NULL_SYNCH or ACE_MT_SYNCH). The synchronization traits class provides typedefs for the mutex, condition, and semaphore implementations the ACE_Svc_Handler will use. |
- See also
- Synch_Traits.h.