#include <Acceptor.h>
Inheritance diagram for ACE_Strategy_Acceptor< SVC_HANDLER, >:


Public Types | |
| typedef ACE_Creation_Strategy< SVC_HANDLER > | creation_strategy_type |
| typedef ACE_Accept_Strategy< SVC_HANDLER, ACE_PEER_ACCEPTOR_2 > | 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, ACE_PEER_ACCEPTOR_2 > | base_type |
| typedef ACE_Creation_Strategy< SVC_HANDLER > | CREATION_STRATEGY |
| typedef ACE_Accept_Strategy< SVC_HANDLER, ACE_PEER_ACCEPTOR_2 > | ACCEPT_STRATEGY |
| typedef ACE_Concurrency_Strategy< SVC_HANDLER > | CONCURRENCY_STRATEGY |
| typedef ACE_Scheduling_Strategy< SVC_HANDLER > | SCHEDULING_STRATEGY |
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. | |
| ACE_Strategy_Acceptor (const ACE_PEER_ACCEPTOR_ADDR &local_addr, ACE_Reactor *=ACE_Reactor::instance(), ACE_Creation_Strategy< SVC_HANDLER > *=0, ACE_Accept_Strategy< SVC_HANDLER, ACE_PEER_ACCEPTOR_2 > *=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 ACE_PEER_ACCEPTOR_ADDR &local_addr, ACE_Reactor *reactor, int flags=0, int use_select=1, int reuse_addr=1) |
| virtual int | open (const ACE_PEER_ACCEPTOR_ADDR &, ACE_Reactor *=ACE_Reactor::instance(), ACE_Creation_Strategy< SVC_HANDLER > *=0, ACE_Accept_Strategy< SVC_HANDLER, ACE_PEER_ACCEPTOR_2 > *=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. | |
| virtual | operator ACE_PEER_ACCEPTOR & () const |
| Return the underlying PEER_ACCEPTOR object. | |
| virtual ACE_PEER_ACCEPTOR & | acceptor (void) const |
| Return the underlying PEER_ACCEPTOR object. | |
| virtual ACE_HANDLE | get_handle (void) const |
| Returns the listening acceptor's {ACE_HANDLE}. | |
| void | dump (void) const |
| Dump the state of an object. | |
Public Attributes | |
| ACE_ALLOC_HOOK_DECLARE | |
| Declare the dynamic allocation hooks. | |
Protected Member Functions | |
| virtual int | suspend (void) |
| virtual int | resume (void) |
| virtual int | fini (void) |
| Calls {handle_close} when dynamically unlinked. | |
| virtual int | info (ACE_TCHAR **buf, size_t) const |
| Default version returns address info in {buf}. | |
| 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. | |
Protected Attributes | |
| CREATION_STRATEGY * | creation_strategy_ |
| Creation strategy for an Acceptor. | |
| int | delete_creation_strategy_ |
| ACCEPT_STRATEGY * | accept_strategy_ |
| Accept strategy for an {Acceptor}. | |
| int | delete_accept_strategy_ |
| CONCURRENCY_STRATEGY * | concurrency_strategy_ |
| Concurrency strategy for an {Acceptor}. | |
| int | delete_concurrency_strategy_ |
| SCHEDULING_STRATEGY * | scheduling_strategy_ |
| Scheduling strategy for an {Acceptor}. | |
| int | delete_scheduling_strategy_ |
| ACE_TCHAR * | service_name_ |
| Name of the service. | |
| ACE_TCHAR * | service_description_ |
| Description of the service. | |
| ACE_PEER_ACCEPTOR_ADDR | service_addr_ |
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.
|
|||||
|
|
|
|||||
|
|
|
|||||
|
|
|
|||||
|
|
|
|||||
|
|
|
|||||
|
|
|
|||||
|
|
|
|||||
|
|
|
|||||
|
|
|
||||||||||||||||||||||||
|
Default constructor.
|
|
||||||||||||||||||||||||||||||||||||||||||||||||
|
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}. |
|
||||||||||
|
Close down the Strategy_Acceptor's resources.
|
|
||||||||||
|
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, ACE_PEER_ACCEPTOR_2 >. |
|
||||||||||
|
Return the underlying PEER_ACCEPTOR object.
Reimplemented from ACE_Acceptor< SVC_HANDLER, ACE_PEER_ACCEPTOR_2 >. |
|
||||||||||
|
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, ACE_PEER_ACCEPTOR_2 >. |
|
||||||||||
|
Dump the state of an object.
Reimplemented from ACE_Acceptor< SVC_HANDLER, ACE_PEER_ACCEPTOR_2 >. |
|
||||||||||
|
Calls {handle_close} when dynamically unlinked.
Reimplemented from ACE_Acceptor< SVC_HANDLER, ACE_PEER_ACCEPTOR_2 >. |
|
||||||||||
|
Returns the listening acceptor's {ACE_HANDLE}.
Reimplemented from ACE_Acceptor< SVC_HANDLER, ACE_PEER_ACCEPTOR_2 >. |
|
||||||||||||||||
|
Perform termination activities when {this} is removed from the {Reactor}. Reimplemented from ACE_Acceptor< SVC_HANDLER, ACE_PEER_ACCEPTOR_2 >. |
|
||||||||||||||||||||
|
Handle SIGINT.
Reimplemented from ACE_Event_Handler. |
|
||||||||||||||||
|
Default version returns address info in {buf}.
Reimplemented from ACE_Acceptor< SVC_HANDLER, ACE_PEER_ACCEPTOR_2 >. |
|
||||||||||
|
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, ACE_PEER_ACCEPTOR_2 >. |
|
||||||||||||||||||||||||||||||||||||||||||||||||
|
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}. |
|
||||||||||||||||||||||||||||
|
Open the contained
The
Reimplemented from ACE_Acceptor< SVC_HANDLER, ACE_PEER_ACCEPTOR_2 >. |
|
|||||||||
|
Return the underlying PEER_ACCEPTOR object.
Reimplemented from ACE_Acceptor< SVC_HANDLER, ACE_PEER_ACCEPTOR_2 >. |
|
||||||||||
|
This method delegates to the {Scheduling_Strategy}'s {resume} method. Reimplemented from ACE_Acceptor< SVC_HANDLER, ACE_PEER_ACCEPTOR_2 >. |
|
||||||||||
|
This method delegates to the {Scheduling_Strategy}'s {suspend} method. Reimplemented from ACE_Acceptor< SVC_HANDLER, ACE_PEER_ACCEPTOR_2 >. |
|
|||||
|
Accept strategy for an {Acceptor}.
|
|
|||||
|
Declare the dynamic allocation hooks.
Reimplemented from ACE_Acceptor< SVC_HANDLER, ACE_PEER_ACCEPTOR_2 >. |
|
|||||
|
Concurrency strategy for an {Acceptor}.
|
|
|||||
|
Creation strategy for an Acceptor.
|
|
|||||
|
1 if {Acceptor} created the accept strategy and thus should delete it, else 0. |
|
|||||
|
1 if {Acceptor} created the concurrency strategy and thus should delete it, else 0. |
|
|||||
|
1 if {Acceptor} created the creation strategy and thus should delete it, else 0. |
|
|||||
|
1 if {Acceptor} created the scheduling strategy and thus should delete it, else 0. |
|
|||||
|
Scheduling strategy for an {Acceptor}.
|
|
|||||
|
Address that the {Strategy_Acceptor} uses to listen for connections. |
|
|||||
|
Description of the service.
|
|
|||||
|
Name of the service.
|
1.3.9.1