Abstract factory for creating a service handler (SVC_HANDLER), accepting into the SVC_HANDLER, and activating the SVC_HANDLER.
More...
|
| ACE_Strategy_Acceptor (const ACE_TCHAR service_name[]=0, const ACE_TCHAR service_description[]=0, int use_select=ACE_DEFAULT_ACCEPTOR_USE_SELECT, int reuse_addr=1) |
| Default constructor.
|
|
| ACE_Strategy_Acceptor (const typename PEER_ACCEPTOR::PEER_ADDR &local_addr, ACE_Reactor *=ACE_Reactor::instance(), ACE_Creation_Strategy< SVC_HANDLER > *=0, ACE_Accept_Strategy< SVC_HANDLER, PEER_ACCEPTOR > *=0, ACE_Concurrency_Strategy< SVC_HANDLER > *=0, ACE_Scheduling_Strategy< SVC_HANDLER > *=0, const ACE_TCHAR service_name[]=0, const ACE_TCHAR service_description[]=0, int use_select=ACE_DEFAULT_ACCEPTOR_USE_SELECT, int reuse_addr=1) |
|
virtual int | open (const typename PEER_ACCEPTOR::PEER_ADDR &local_addr, ACE_Reactor *reactor, int flags=0, int use_select=ACE_DEFAULT_ACCEPTOR_USE_SELECT, int reuse_addr=1) |
|
virtual int | open (const typename PEER_ACCEPTOR::PEER_ADDR &, ACE_Reactor *=ACE_Reactor::instance(), ACE_Creation_Strategy< SVC_HANDLER > *=0, ACE_Accept_Strategy< SVC_HANDLER, PEER_ACCEPTOR > *=0, ACE_Concurrency_Strategy< SVC_HANDLER > *=0, ACE_Scheduling_Strategy< SVC_HANDLER > *=0, const ACE_TCHAR *service_name=0, const ACE_TCHAR *service_description=0, int use_select=ACE_DEFAULT_ACCEPTOR_USE_SELECT, int reuse_addr=1) |
|
virtual | ~ACE_Strategy_Acceptor () |
| Close down the Strategy_Acceptor's resources.
|
|
virtual | operator PEER_ACCEPTOR & () const |
| Return the underlying PEER_ACCEPTOR object.
|
|
virtual PEER_ACCEPTOR & | acceptor () const |
| Return the underlying PEER_ACCEPTOR object.
|
|
virtual ACE_HANDLE | get_handle () const |
| Returns the listening acceptor's {ACE_HANDLE}.
|
|
void | dump () const |
| Dump the state of an object.
|
|
virtual int | suspend () |
|
virtual int | resume () |
|
| ACE_Acceptor (ACE_Reactor *=0, int use_select=ACE_DEFAULT_ACCEPTOR_USE_SELECT) |
| "Do-nothing" constructor.
|
|
| ACE_Acceptor (const typename PEER_ACCEPTOR::PEER_ADDR &local_addr, ACE_Reactor *reactor=ACE_Reactor::instance(), int flags=0, int use_select=ACE_DEFAULT_ACCEPTOR_USE_SELECT, int reuse_addr=1) |
|
virtual | ~ACE_Acceptor () |
| Close down the Acceptor's resources.
|
|
virtual int | close () |
| Close down the Acceptor.
|
|
virtual int | handle_accept_error () |
|
void | dump () const |
| Dump the state of an object.
|
|
| 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 void | set_handle (ACE_HANDLE) |
| Set the I/O handle.
|
|
virtual int | priority () const |
|
virtual void | priority (int priority) |
| Set the priority of the Event_Handler.
|
|
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 | 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.
|
|
Abstract factory for creating a service handler (SVC_HANDLER), accepting into the SVC_HANDLER, and activating the SVC_HANDLER.
Implements a flexible and extensible set of strategies for passively establishing connections with clients. There are three main strategies: (1) creating a SVC_HANDLER, (2) passively accepting a new connection from a client into the SVC_HANDLER, and (3) activating the SVC_HANDLER with a particular concurrency mechanism.
Open the contained PEER_ACCEPTOR
object to begin listening, and register with the specified reactor for accept events.
The PEER_ACCEPTOR
handle is put into non-blocking mode as a safeguard against the race condition that can otherwise occur between the time when the passive-mode socket handle is "ready" and when the actual accept
call is made. During this interval, the client can shutdown the connection, in which case, the {accept} call can hang.
- Parameters
-
local_addr | The address to listen at. |
reactor | Pointer to the ACE_Reactor instance to register this object with. The default is the singleton. |
flags | Flags to control what mode an accepted socket will be put into after it is accepted. The only legal value for this argument is ACE_NONBLOCK , which enables non-blocking mode on the accepted peer stream object in SVC_HANDLER . The default is 0. |
use_select | Affects behavior when called back by the reactor when a connection can be accepted. If non-zero, this object will accept all pending connections, instead of just the one that triggered the reactor callback. Uses ACE_OS::select() internally to detect any remaining acceptable connections. The default is 1. |
reuse_addr | Passed to the PEER_ACCEPTOR::open() method with local_addr . Generally used to request that the OS allow reuse of the listen port. The default is 1. |
- Return values
-
0 | Success |
-1 | Failure, errno contains an error code. |
Reimplemented from ACE_Acceptor< SVC_HANDLER, PEER_ACCEPTOR >.