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 () |
| | Destructor.
|
| |
| 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 () 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 () |
| |
| 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 () const |
| | Get the underlying handle associated with the <peer_>.
|
| |
| virtual void | set_handle (ACE_HANDLE) |
| | Set the underlying handle associated with the <peer_>.
|
| |
| PEER_STREAM & | peer () const |
| |
| void * | operator new (size_t n) |
| |
| void * | operator new (size_t n, const std::nothrow_t &) noexcept |
| |
| void | operator delete (void *p, const std::nothrow_t &) noexcept |
| |
| void * | operator new (size_t n, void *p) |
| | This operator permits "placement new" on a per-object basis.
|
| |
| virtual void | destroy () |
| |
| void | operator delete (void *) |
| |
| void | operator delete (void *, void *) |
| |
| void | shutdown () |
| | Close down the descriptor and unregister from the Reactor.
|
| |
| void | dump () const |
| | Dump the state of an object.
|
| |
| virtual void | recycler (ACE_Connection_Recycling_Strategy *recycler, const void *recycling_act) |
| |
| virtual ACE_Connection_Recycling_Strategy * | recycler () const |
| | Get the recycler.
|
| |
| virtual const void * | recycling_act () const |
| | Get the recycling act.
|
| |
| 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 () |
| | Destructor.
|
| |
| ACE_Message_Queue< ACE_SYNCH_USE, ACE_System_Time_Policy > * | msg_queue () |
| | 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 () 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 () const |
| |
| virtual ACE_Task< ACE_SYNCH_USE, ACE_System_Time_Policy > * | next () |
| | 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 () |
| |
| virtual 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 () const |
| | Dump the state of an object.
|
| |
| | ACE_Task_Base (ACE_Thread_Manager *=0) |
| | Constructor.
|
| |
| virtual | ~ACE_Task_Base () |
| | Destructor.
|
| |
| virtual int | module_closed () |
| |
| virtual int | put (ACE_Message_Block *, ACE_Time_Value *=0) |
| | Default ACE_Task put routine.
|
| |
| virtual int | svc () |
| | Run by a daemon thread to handle deferred processing.
|
| |
| 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 () |
| | Wait for all threads running in a task to exit.
|
| |
| virtual int | suspend () |
| | Suspend a task.
|
| |
| virtual int | resume () |
| | Resume a suspended task.
|
| |
| int | grp_id () const |
| | Get the current group id.
|
| |
| void | grp_id (int) |
| | Set the current group id.
|
| |
| ACE_Thread_Manager * | thr_mgr () 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 () const |
| | True if queue is a reader, else false.
|
| |
| int | is_writer () const |
| | True if queue is a writer, else false.
|
| |
| size_t | thr_count () const |
| |
| ACE_thread_t | last_thread () const |
| |
| | ACE_Service_Object (ACE_Reactor *=0) |
| | Constructor.
|
| |
| virtual | ~ACE_Service_Object () |
| | Destructor.
|
| |
| virtual | ~ACE_Event_Handler ()=default |
| | Destructor is virtual to enable proper cleanup.
|
| |
| virtual int | priority () 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_exit (ACE_Process *) |
| | Called when a process exits.
|
| |
| virtual int | handle_signal (int signum, siginfo_t *=0, ucontext_t *=0) |
| |
| virtual int | resume_handler () |
| |
| 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 () const |
| | Get the event demultiplexors.
|
| |
| virtual ACE_Reactor_Timer_Interface * | reactor_timer_interface () const |
| | Get only the reactor's timer related interface.
|
| |
| virtual Reference_Count | add_reference () |
| | Increment reference count on the handler.
|
| |
| virtual Reference_Count | remove_reference () |
| | Decrement reference count on the handler.
|
| |
| Reference_Counting_Policy & | reference_counting_policy () |
| | Current Reference_Counting_Policy.
|
| |
| | ACE_Shared_Object () |
| | Constructor.
|
| |
| virtual | ~ACE_Shared_Object () |
| | Destructor.
|
| |
|
| static ACE_THR_FUNC_RETURN | svc_run (void *) |
| | Routine that runs the service routine as a daemon thread.
|
| |
| 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.
|
| |
| 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.
|
| |
| | ACE_ALLOC_HOOK_DECLARE |
| | Declare the dynamic allocation hooks.
|
| |
| typedef std::atomic< Reference_Count > | Atomic_Reference_Count |
| | Typedef for implementation of reference counting.
|
| |
| | ACE_Event_Handler (ACE_Reactor *=nullptr, int priority=ACE_Event_Handler::LO_PRIORITY) |
| | Force ACE_Event_Handler to be an abstract base class.
|
| |
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.