| ACE
    6.2.2
    | 
Abstract factory for creating a service handler (SVC_HANDLER), accepting into the SVC_HANDLER, and activating the SVC_HANDLER. More...
#include <Acceptor.h>


| Public Types | |
| typedef ACE_Creation_Strategy < SVC_HANDLER > | creation_strategy_type | 
| typedef ACE_Accept_Strategy < SVC_HANDLER, PEER_ACCEPTOR > | accept_strategy_type | 
| typedef ACE_Concurrency_Strategy < SVC_HANDLER > | concurrency_strategy_type | 
| typedef ACE_Scheduling_Strategy < SVC_HANDLER > | scheduling_strategy_type | 
| typedef ACE_Acceptor < SVC_HANDLER, PEER_ACCEPTOR > | base_type | 
| typedef ACE_Creation_Strategy < SVC_HANDLER > | CREATION_STRATEGY | 
| typedef ACE_Accept_Strategy < SVC_HANDLER, PEER_ACCEPTOR > | ACCEPT_STRATEGY | 
| typedef ACE_Concurrency_Strategy < SVC_HANDLER > | CONCURRENCY_STRATEGY | 
| typedef ACE_Scheduling_Strategy < SVC_HANDLER > | SCHEDULING_STRATEGY | 
|  Public Types inherited from ACE_Acceptor< SVC_HANDLER, PEER_ACCEPTOR > | |
| typedef PEER_ACCEPTOR::PEER_ADDR | addr_type | 
| typedef PEER_ACCEPTOR | acceptor_type | 
| typedef SVC_HANDLER | handler_type | 
| typedef SVC_HANDLER::stream_type | stream_type | 
| Public Member Functions | |
| ACE_Strategy_Acceptor (const ACE_TCHAR service_name[]=0, const ACE_TCHAR service_description[]=0, int use_select=1, int reuse_addr=1) | |
| Default constructor.  More... | |
| 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=1, int reuse_addr=1) | |
| virtual int | open (const typename PEER_ACCEPTOR::PEER_ADDR &local_addr, ACE_Reactor *reactor, int flags=0, int use_select=1, 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=1, int reuse_addr=1) | 
| virtual | ~ACE_Strategy_Acceptor (void) | 
| Close down the Strategy_Acceptor's resources.  More... | |
| virtual | operator PEER_ACCEPTOR & () const | 
| Return the underlying PEER_ACCEPTOR object.  More... | |
| virtual PEER_ACCEPTOR & | acceptor (void) const | 
| Return the underlying PEER_ACCEPTOR object.  More... | |
| virtual ACE_HANDLE | get_handle (void) const | 
| Returns the listening acceptor's {ACE_HANDLE}.  More... | |
| void | dump (void) const | 
| Dump the state of an object.  More... | |
| virtual int | suspend (void) | 
| virtual int | resume (void) | 
|  Public Member Functions inherited from ACE_Acceptor< SVC_HANDLER, PEER_ACCEPTOR > | |
| ACE_Acceptor (ACE_Reactor *=0, int use_select=1) | |
| "Do-nothing" constructor.  More... | |
| ACE_Acceptor (const typename PEER_ACCEPTOR::PEER_ADDR &local_addr, ACE_Reactor *reactor=ACE_Reactor::instance(), int flags=0, int use_select=1, int reuse_addr=1) | |
| virtual | ~ACE_Acceptor (void) | 
| Close down the Acceptor's resources.  More... | |
| virtual int | close (void) | 
| Close down the Acceptor.  More... | |
| virtual int | handle_accept_error (void) | 
| void | dump (void) const | 
| Dump the state of an object.  More... | |
|  Public Member Functions inherited from ACE_Service_Object | |
| ACE_Service_Object (ACE_Reactor *=0) | |
| Constructor.  More... | |
| virtual | ~ACE_Service_Object (void) | 
| Destructor.  More... | |
|  Public Member Functions inherited from ACE_Event_Handler | |
| virtual | ~ACE_Event_Handler (void) | 
| Destructor is virtual to enable proper cleanup.  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_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 | 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... | |
|  Public Member Functions inherited from ACE_Shared_Object | |
| ACE_Shared_Object (void) | |
| Constructor.  More... | |
| virtual | ~ACE_Shared_Object (void) | 
| Destructor.  More... | |
| Public Attributes | |
| ACE_ALLOC_HOOK_DECLARE | |
| Declare the dynamic allocation hooks.  More... | |
|  Public Attributes inherited from ACE_Acceptor< SVC_HANDLER, PEER_ACCEPTOR > | |
| ACE_ALLOC_HOOK_DECLARE | |
| Declare the dynamic allocation hooks.  More... | |
| Protected Member Functions | |
| virtual int | fini (void) | 
| Calls {handle_close} when dynamically unlinked.  More... | |
| virtual int | info (ACE_TCHAR **buf, size_t) const | 
| Default version returns address info in {buf}.  More... | |
| virtual int | make_svc_handler (SVC_HANDLER *&) | 
| virtual int | accept_svc_handler (SVC_HANDLER *svc_handler) | 
| virtual int | activate_svc_handler (SVC_HANDLER *svc_handler) | 
| virtual int | handle_close (ACE_HANDLE=ACE_INVALID_HANDLE, ACE_Reactor_Mask=ACE_Event_Handler::ALL_EVENTS_MASK) | 
| virtual int | handle_signal (int signum, siginfo_t *, ucontext_t *) | 
| Handle SIGINT.  More... | |
|  Protected Member Functions inherited from ACE_Acceptor< SVC_HANDLER, PEER_ACCEPTOR > | |
| virtual int | handle_input (ACE_HANDLE) | 
| virtual int | init (int argc, ACE_TCHAR *argv[]) | 
| Protected Attributes | |
| CREATION_STRATEGY * | creation_strategy_ | 
| Creation strategy for an Acceptor.  More... | |
| bool | delete_creation_strategy_ | 
| ACCEPT_STRATEGY * | accept_strategy_ | 
| Accept strategy for an {Acceptor}.  More... | |
| bool | delete_accept_strategy_ | 
| CONCURRENCY_STRATEGY * | concurrency_strategy_ | 
| Concurrency strategy for an {Acceptor}.  More... | |
| bool | delete_concurrency_strategy_ | 
| SCHEDULING_STRATEGY * | scheduling_strategy_ | 
| Scheduling strategy for an {Acceptor}.  More... | |
| bool | delete_scheduling_strategy_ | 
| ACE_TCHAR * | service_name_ | 
| Name of the service.  More... | |
| ACE_TCHAR * | service_description_ | 
| Description of the service.  More... | |
| PEER_ACCEPTOR::PEER_ADDR | service_addr_ | 
|  Protected Attributes inherited from ACE_Acceptor< SVC_HANDLER, PEER_ACCEPTOR > | |
| PEER_ACCEPTOR | peer_acceptor_ | 
| Concrete factory for accepting connections from clients...  More... | |
| PEER_ACCEPTOR::PEER_ADDR | peer_acceptor_addr_ | 
| Needed to reopen the socket if {accept} fails.  More... | |
| int | flags_ | 
| int | use_select_ | 
| int | reuse_addr_ | 
| Needed to reopen the socket if {accept} fails.  More... | |
| Additional Inherited Members | |
|  Static Public Member Functions inherited from ACE_Event_Handler | |
| 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... | |
|  Protected Types inherited from ACE_Event_Handler | |
| typedef ACE_Atomic_Op < ACE_SYNCH_MUTEX, Reference_Count > | Atomic_Reference_Count | 
| Typedef for implementation of reference counting.  More... | |
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.
| typedef ACE_Accept_Strategy<SVC_HANDLER, PEER_ACCEPTOR> ACE_Strategy_Acceptor< SVC_HANDLER, PEER_ACCEPTOR >::ACCEPT_STRATEGY | 
| typedef ACE_Accept_Strategy<SVC_HANDLER, PEER_ACCEPTOR> ACE_Strategy_Acceptor< SVC_HANDLER, PEER_ACCEPTOR >::accept_strategy_type | 
| typedef ACE_Acceptor<SVC_HANDLER, PEER_ACCEPTOR> ACE_Strategy_Acceptor< SVC_HANDLER, PEER_ACCEPTOR >::base_type | 
| typedef ACE_Concurrency_Strategy<SVC_HANDLER> ACE_Strategy_Acceptor< SVC_HANDLER, PEER_ACCEPTOR >::CONCURRENCY_STRATEGY | 
| typedef ACE_Concurrency_Strategy<SVC_HANDLER> ACE_Strategy_Acceptor< SVC_HANDLER, PEER_ACCEPTOR >::concurrency_strategy_type | 
| typedef ACE_Creation_Strategy<SVC_HANDLER> ACE_Strategy_Acceptor< SVC_HANDLER, PEER_ACCEPTOR >::CREATION_STRATEGY | 
| typedef ACE_Creation_Strategy<SVC_HANDLER> ACE_Strategy_Acceptor< SVC_HANDLER, PEER_ACCEPTOR >::creation_strategy_type | 
| typedef ACE_Scheduling_Strategy<SVC_HANDLER> ACE_Strategy_Acceptor< SVC_HANDLER, PEER_ACCEPTOR >::SCHEDULING_STRATEGY | 
| typedef ACE_Scheduling_Strategy<SVC_HANDLER> ACE_Strategy_Acceptor< SVC_HANDLER, PEER_ACCEPTOR >::scheduling_strategy_type | 
| ACE_Strategy_Acceptor< SVC_HANDLER, PEER_ACCEPTOR >::ACE_Strategy_Acceptor | ( | const ACE_TCHAR | service_name[] = 0, | 
| const ACE_TCHAR | service_description[] = 0, | ||
| int | use_select = 1, | ||
| int | reuse_addr = 1 | ||
| ) | 
Default constructor.
| ACE_Strategy_Acceptor< SVC_HANDLER, PEER_ACCEPTOR >::ACE_Strategy_Acceptor | ( | const typename PEER_ACCEPTOR::PEER_ADDR & | local_addr, | 
| ACE_Reactor * | reactor = ACE_Reactor::instance (), | ||
| ACE_Creation_Strategy< SVC_HANDLER > * | cre_s = 0, | ||
| ACE_Accept_Strategy< SVC_HANDLER, PEER_ACCEPTOR > * | acc_s = 0, | ||
| ACE_Concurrency_Strategy< SVC_HANDLER > * | con_s = 0, | ||
| ACE_Scheduling_Strategy< SVC_HANDLER > * | sch_s = 0, | ||
| const ACE_TCHAR | service_name[] = 0, | ||
| const ACE_TCHAR | service_description[] = 0, | ||
| int | use_select = 1, | ||
| int | reuse_addr = 1 | ||
| ) | 
Initialize the appropriate strategies for creation, passive connection acceptance, and concurrency, and then register {this} with the Reactor and listen for connection requests at the designated {local_addr}.
| 
 | virtual | 
Close down the Strategy_Acceptor's resources.
| 
 | protectedvirtual | 
Bridge method for accepting the new connection into the {SVC_HANDLER}. The default behavior delegates to the {PEER_ACCEPTOR::accept} in the {Acceptor_Strategy}.
Reimplemented from ACE_Acceptor< SVC_HANDLER, PEER_ACCEPTOR >.
| 
 | virtual | 
Return the underlying PEER_ACCEPTOR object.
Reimplemented from ACE_Acceptor< SVC_HANDLER, PEER_ACCEPTOR >.
| 
 | protectedvirtual | 
Bridge method for activating a {SVC_HANDLER} with the appropriate concurrency strategy. The default behavior of this method is to activate the {SVC_HANDLER} by calling its {open} method (which allows the {SVC_HANDLER} to define its own concurrency strategy). However, subclasses can override this strategy to do more sophisticated concurrency activations (such as creating the {SVC_HANDLER} as an "active object" via multi-threading or multi-processing).
Reimplemented from ACE_Acceptor< SVC_HANDLER, PEER_ACCEPTOR >.
| void ACE_Strategy_Acceptor< SVC_HANDLER, PEER_ACCEPTOR >::dump | ( | void | ) | const | 
Dump the state of an object.
| 
 | protectedvirtual | 
Calls {handle_close} when dynamically unlinked.
Reimplemented from ACE_Acceptor< SVC_HANDLER, PEER_ACCEPTOR >.
| 
 | virtual | 
Returns the listening acceptor's {ACE_HANDLE}.
Reimplemented from ACE_Acceptor< SVC_HANDLER, PEER_ACCEPTOR >.
| 
 | protectedvirtual | 
Perform termination activities when {this} is removed from the {Reactor}.
Reimplemented from ACE_Acceptor< SVC_HANDLER, PEER_ACCEPTOR >.
| 
 | protectedvirtual | 
Handle SIGINT.
Reimplemented from ACE_Event_Handler.
| 
 | protectedvirtual | 
Default version returns address info in {buf}.
Reimplemented from ACE_Acceptor< SVC_HANDLER, PEER_ACCEPTOR >.
| 
 | protectedvirtual | 
Bridge method for creating a {SVC_HANDLER}. The strategy for creating a {SVC_HANDLER} are configured into the Acceptor via it's {creation_strategy_}. The default is to create a new {SVC_HANDLER} if {sh} == 0, else {sh} is unchanged. However, subclasses can override this policy to perform {SVC_HANDLER} creation in any way that they like (such as creating subclass instances of {SVC_HANDLER}, using a singleton, dynamically linking the handler, etc.). Returns -1 on failure, else 0.
Reimplemented from ACE_Acceptor< SVC_HANDLER, PEER_ACCEPTOR >.
| 
 | virtual | 
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.
| 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 inSVC_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 withlocal_addr. Generally used to request that the OS allow reuse of the listen port. The default is 1. | 
| 0 | Success | 
| -1 | Failure, errnocontains an error code. | 
Reimplemented from ACE_Acceptor< SVC_HANDLER, PEER_ACCEPTOR >.
| 
 | virtual | 
Initialize the appropriate strategies for creation, passive connection acceptance, and concurrency, and then register {this} with the Reactor and listen for connection requests at the designated {local_addr}.
| 
 | virtual | 
Return the underlying PEER_ACCEPTOR object.
Reimplemented from ACE_Acceptor< SVC_HANDLER, PEER_ACCEPTOR >.
| 
 | virtual | 
This method delegates to the {Scheduling_Strategy}'s {resume} method.
Reimplemented from ACE_Acceptor< SVC_HANDLER, PEER_ACCEPTOR >.
| 
 | virtual | 
This method delegates to the {Scheduling_Strategy}'s {suspend} method.
Reimplemented from ACE_Acceptor< SVC_HANDLER, PEER_ACCEPTOR >.
| 
 | protected | 
Accept strategy for an {Acceptor}.
| ACE_Strategy_Acceptor< SVC_HANDLER, PEER_ACCEPTOR >::ACE_ALLOC_HOOK_DECLARE | 
Declare the dynamic allocation hooks.
| 
 | protected | 
Concurrency strategy for an {Acceptor}.
| 
 | protected | 
Creation strategy for an Acceptor.
| 
 | protected | 
true if {Acceptor} created the accept strategy and thus should delete it, else false.
| 
 | protected | 
true if {Acceptor} created the concurrency strategy and thus should delete it, else false.
| 
 | protected | 
true if {Acceptor} created the creation strategy and thus should delete it, else false.
| 
 | protected | 
true if {Acceptor} created the scheduling strategy and thus should delete it, else false.
| 
 | protected | 
Scheduling strategy for an {Acceptor}.
| 
 | protected | 
Address that the {Strategy_Acceptor} uses to listen for connections.
| 
 | protected | 
Description of the service.
| 
 | protected | 
Name of the service.
 1.8.3.1
 1.8.3.1