| ACE 7.1.0
    | 
Defines a factory that creates new ACE_Streams passively. More...
#include <SOCK_Acceptor.h>


| Public Types | |
| typedef ACE_INET_Addr | PEER_ADDR | 
| typedef ACE_SOCK_Stream | PEER_STREAM | 
| Public Member Functions | |
| ACE_SOCK_Acceptor () | |
| Default constructor. | |
| ACE_SOCK_Acceptor (const ACE_Addr &local_sap, int reuse_addr=0, int protocol_family=PF_UNSPEC, int backlog=ACE_DEFAULT_BACKLOG, int protocol=0, int ipv6_only=0) | |
| ACE_SOCK_Acceptor (const ACE_Addr &local_sap, ACE_Protocol_Info *protocolinfo, ACE_SOCK_GROUP g, u_long flags, int reuse_addr, int protocol_family=PF_UNSPEC, int backlog=ACE_DEFAULT_BACKLOG, int protocol=0, int ipv6_only=0) | |
| Initialize a passive-mode QoS-enabled acceptor socket. | |
| int | open (const ACE_Addr &local_sap, int reuse_addr=0, int protocol_family=PF_UNSPEC, int backlog=ACE_DEFAULT_BACKLOG, int protocol=0, int ipv6_only=0) | 
| int | open (const ACE_Addr &local_sap, ACE_Protocol_Info *protocolinfo, ACE_SOCK_GROUP g, u_long flags, int reuse_addr, int protocol_family=PF_UNSPEC, int backlog=ACE_DEFAULT_BACKLOG, int protocol=0, int ipv6_only=0) | 
| int | close () | 
| Close the socket. Returns 0 on success and -1 on failure. | |
| ~ACE_SOCK_Acceptor () | |
| Default dtor. | |
| int | accept (ACE_SOCK_Stream &new_stream, ACE_Addr *remote_addr=0, ACE_Time_Value *timeout=0, bool restart=true, bool reset_new_handle=false) const | 
| int | accept (ACE_SOCK_Stream &new_stream, ACE_Accept_QoS_Params qos_params, ACE_Addr *remote_addr=0, ACE_Time_Value *timeout=0, bool restart=true, bool reset_new_handle=false) const | 
| void | dump () const | 
| Dump the state of an object. | |
|  Public Member Functions inherited from ACE_SOCK | |
| int | set_option (int level, int option, void *optval, int optlen) const | 
| Wrapper around the setsockoptsystem call. | |
| int | get_option (int level, int option, void *optval, int *optlen) const | 
| Wrapper around the getsockoptsystem call. | |
| int | close () | 
| int | get_local_addr (ACE_Addr &) const | 
| int | get_remote_addr (ACE_Addr &) const | 
| void | dump () const | 
| Dump the state of an object. | |
| int | open (int type, int protocol_family, int protocol, int reuse_addr) | 
| Wrapper around the BSD-style socketsystem call (no QoS). | |
| int | open (int type, int protocol_family, int protocol, ACE_Protocol_Info *protocolinfo, ACE_SOCK_GROUP g, u_long flags, int reuse_addr) | 
| Wrapper around the QoS-enabled WSASocketfunction. | |
|  Public Member Functions inherited from ACE_IPC_SAP | |
| int | control (int cmd, void *) const | 
| Interface for <ioctl>. | |
| int | enable (int value) const | 
| int | disable (int value) const | 
| ACE_HANDLE | get_handle () const | 
| Get the underlying handle. | |
| void | set_handle (ACE_HANDLE handle) | 
| Set the underlying handle. | |
| void | dump () const | 
| Dump the state of an object. | |
| Public Attributes | |
| ACE_ALLOC_HOOK_DECLARE | |
| Declare the dynamic allocation hooks. | |
|  Public Attributes inherited from ACE_SOCK | |
| ACE_ALLOC_HOOK_DECLARE | |
| Declare the dynamic allocation hooks. | |
|  Public Attributes inherited from ACE_IPC_SAP | |
| ACE_ALLOC_HOOK_DECLARE | |
| Declare the dynamic allocation hooks. | |
| Protected Member Functions | |
| int | shared_accept_start (ACE_Time_Value *timeout, bool restart, int &in_blocking_mode) const | 
| int | shared_accept_finish (ACE_SOCK_Stream new_stream, int in_blocking_mode, bool reset_new_handle) const | 
| int | shared_open (const ACE_Addr &local_sap, int protocol_family, int backlog, int ipv6_only) | 
|  Protected Member Functions inherited from ACE_SOCK | |
| ACE_SOCK (int type, int protocol_family, int protocol=0, int reuse_addr=0) | |
| ACE_SOCK (int type, int protocol_family, int protocol, ACE_Protocol_Info *protocolinfo, ACE_SOCK_GROUP g, u_long flags, int reuse_addr) | |
| ACE_SOCK () | |
| ~ACE_SOCK ()=default | |
| Protected destructor. | |
|  Protected Member Functions inherited from ACE_IPC_SAP | |
| ACE_IPC_SAP () | |
| Default constructor. | |
| ~ACE_IPC_SAP () | |
| Protected destructor. | |
| Private Member Functions | |
| int | get_remote_addr (ACE_Addr &) const | 
| Do not allow this function to percolate up to this interface... | |
Defines a factory that creates new ACE_Streams passively.
The ACE_SOCK_Acceptor has its own "passive-mode" socket. This serves as a factory to create so-called "data-mode" sockets, which are what the ACE_SOCK_Stream encapsulates. Therefore, by inheriting from ACE_SOCK, ACE_SOCK_Acceptor gets its very own socket.
| ACE_SOCK_Acceptor::ACE_SOCK_Acceptor | ( | ) | 
Default constructor.
| ACE_SOCK_Acceptor::ACE_SOCK_Acceptor | ( | const ACE_Addr & | local_sap, | 
| int | reuse_addr = 0, | ||
| int | protocol_family = PF_UNSPEC, | ||
| int | backlog = ACE_DEFAULT_BACKLOG, | ||
| int | protocol = 0, | ||
| int | ipv6_only = 0 | ||
| ) | 
Initialize a passive-mode BSD-style acceptor socket (no QoS). local_sap is the address that we're going to listen for connections on. If reuse_addr is 1 then we'll use the SO_REUSEADDR to reuse this address. ipv6_only is used when opening a IPv6 acceptor. If non-zero, the socket will only accept connections from IPv6 peers. If zero the socket will accept both IPv4 and v6 if it is able to. 
| ACE_SOCK_Acceptor::ACE_SOCK_Acceptor | ( | const ACE_Addr & | local_sap, | 
| ACE_Protocol_Info * | protocolinfo, | ||
| ACE_SOCK_GROUP | g, | ||
| u_long | flags, | ||
| int | reuse_addr, | ||
| int | protocol_family = PF_UNSPEC, | ||
| int | backlog = ACE_DEFAULT_BACKLOG, | ||
| int | protocol = 0, | ||
| int | ipv6_only = 0 | ||
| ) | 
Initialize a passive-mode QoS-enabled acceptor socket.
| 
 | inline | 
Default dtor.
| int ACE_SOCK_Acceptor::accept | ( | ACE_SOCK_Stream & | new_stream, | 
| ACE_Accept_QoS_Params | qos_params, | ||
| ACE_Addr * | remote_addr = 0, | ||
| ACE_Time_Value * | timeout = 0, | ||
| bool | restart = true, | ||
| bool | reset_new_handle = false | ||
| ) | const | 
Accept a new ACE_SOCK_Stream connection using the QoS information in qos_params. A timeout of 0 means block forever, a timeout of {0, 0} means poll. restart == true means "restart if interrupted," i.e., if errno == EINTR. Note that new_stream inherits the "blocking mode" of this ACE_SOCK_Acceptor, i.e., if this acceptor factory is in non-blocking mode, the new_stream will be in non-blocking mode and vice versa. 
| int ACE_SOCK_Acceptor::accept | ( | ACE_SOCK_Stream & | new_stream, | 
| ACE_Addr * | remote_addr = 0, | ||
| ACE_Time_Value * | timeout = 0, | ||
| bool | restart = true, | ||
| bool | reset_new_handle = false | ||
| ) | const | 
Accept a new ACE_SOCK_Stream connection. A timeout of 0 means block forever, a timeout of {0, 0} means poll. restart == true means "restart if interrupted," i.e., if errno == EINTR. Note that new_stream inherits the "blocking mode" of this ACE_SOCK_Acceptor, i.e., if this acceptor factory is in non-blocking mode, the new_stream will be in non-blocking mode and vice versa. 
| int ACE_SOCK_Acceptor::close | ( | ) | 
Close the socket. Returns 0 on success and -1 on failure.
| void ACE_SOCK_Acceptor::dump | ( | ) | const | 
Dump the state of an object.
| 
 | private | 
Do not allow this function to percolate up to this interface...
| int ACE_SOCK_Acceptor::open | ( | const ACE_Addr & | local_sap, | 
| ACE_Protocol_Info * | protocolinfo, | ||
| ACE_SOCK_GROUP | g, | ||
| u_long | flags, | ||
| int | reuse_addr, | ||
| int | protocol_family = PF_UNSPEC, | ||
| int | backlog = ACE_DEFAULT_BACKLOG, | ||
| int | protocol = 0, | ||
| int | ipv6_only = 0 | ||
| ) | 
Initialize a passive-mode QoS-enabled acceptor socket. Returns 0 on success and -1 on failure.
| int ACE_SOCK_Acceptor::open | ( | const ACE_Addr & | local_sap, | 
| int | reuse_addr = 0, | ||
| int | protocol_family = PF_UNSPEC, | ||
| int | backlog = ACE_DEFAULT_BACKLOG, | ||
| int | protocol = 0, | ||
| int | ipv6_only = 0 | ||
| ) | 
Initialize a passive-mode BSD-style acceptor socket (no QoS). local_sap is the address that we're going to listen for connections on. If reuse_addr is 1 then we'll use the SO_REUSEADDR to reuse this address. ipv6_only is used when opening a IPv6 acceptor. If non-zero, the socket will only accept connections from IPv6 peers. If zero the socket will accept both IPv4 and v6 if it is able to. 
| Returns | 0 on success and -1 on failure. | 
| 
 | protected | 
Perform operations that must occur after <ACE_OS::accept> is called.
| 
 | protected | 
Perform operations that must occur before <ACE_OS::accept> is called.
| 
 | protected | 
This method factors out the common <open> code and is called by both the QoS-enabled <open> method and the BSD-style <open> method.
| ACE_SOCK_Acceptor::ACE_ALLOC_HOOK_DECLARE | 
Declare the dynamic allocation hooks.