ACE 6.0.3
|
Defines the format and interface for the acceptor side of the local mmap stream. More...
#include <MEM_Acceptor.h>
Public Types | |
typedef ACE_MEM_Addr | PEER_ADDR |
typedef ACE_MEM_Stream | PEER_STREAM |
Public Member Functions | |
ACE_MEM_Acceptor (void) | |
Default constructor. | |
~ACE_MEM_Acceptor (void) | |
Destructor. | |
ACE_MEM_Acceptor (const ACE_MEM_Addr &remote_sap, int reuse_addr=0, int backlog=ACE_DEFAULT_BACKLOG, int protocol=0) | |
Initiate a passive mode socket. | |
int | open (const ACE_MEM_Addr &local_sap, int reuse_addr=0, int backlog=ACE_DEFAULT_BACKLOG, int protocol=0) |
int | accept (ACE_MEM_Stream &new_ipc_sap, ACE_MEM_Addr *remote_addr=0, ACE_Time_Value *timeout=0, bool restart=true, bool reset_new_handle=false) |
Accept a new data transfer connection. | |
int | shared_accept_finish (ACE_MEM_Stream new_stream, int in_blocking_mode, bool reset_new_handle) const |
const ACE_TCHAR * | mmap_prefix (void) const |
void | mmap_prefix (const ACE_TCHAR *prefix) |
void | init_buffer_size (ACE_OFF_T bytes) |
ACE_MEM_IO::Signal_Strategy | preferred_strategy (void) const |
Get the preferred signaling strategy. | |
void | preferred_strategy (ACE_MEM_IO::Signal_Strategy strategy) |
Set the preferred signaling strategy. | |
int | get_local_addr (ACE_MEM_Addr &) const |
void | dump (void) const |
Dump the state of an object. | |
Public Attributes | |
ACE_ALLOC_HOOK_DECLARE | |
Declare the dynamic allocation hooks. | |
Protected Member Functions | |
int | open (const ACE_Addr &local_sap, int reuse_addr=0, int protocol_family=PF_INET, int backlog=ACE_DEFAULT_BACKLOG, int protocol=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, int backlog=ACE_DEFAULT_BACKLOG, int protocol=0) |
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 |
Private Attributes | |
ACE_TCHAR * | mmap_prefix_ |
ACE_MEM_SAP::MALLOC_OPTIONS | malloc_options_ |
ACE_MEM_IO::Signal_Strategy | preferred_strategy_ |
Preferred signaling strategy. |
Defines the format and interface for the acceptor side of the local mmap stream.
This class should be modified to prevent user passing a non-localhost endpoint as the acceptor listen point because it doesn't make any sense at all to make the listening endpoint visible (or connectable) anywhere outside of this machine. However, the type of endpoint is left as <ACE_Addr> so we can later changed to use UNIX-domain sockets with mmap stream if so desired. (Currently, using UNIX-domain sockets, i.e., ACE_LSOCK_*, with this class will not work.)
Reimplemented from ACE_SOCK_Acceptor.
Reimplemented from ACE_SOCK_Acceptor.
ACE_MEM_Acceptor::ACE_MEM_Acceptor | ( | void | ) |
Default constructor.
ACE_MEM_Acceptor::~ACE_MEM_Acceptor | ( | void | ) |
Destructor.
ACE_MEM_Acceptor::ACE_MEM_Acceptor | ( | const ACE_MEM_Addr & | remote_sap, |
int | reuse_addr = 0 , |
||
int | backlog = ACE_DEFAULT_BACKLOG , |
||
int | protocol = 0 |
||
) |
Initiate a passive mode socket.
int ACE_MEM_Acceptor::accept | ( | ACE_MEM_Stream & | new_ipc_sap, |
ACE_MEM_Addr * | remote_addr = 0 , |
||
ACE_Time_Value * | timeout = 0 , |
||
bool | restart = true , |
||
bool | reset_new_handle = false |
||
) |
Accept a new data transfer connection.
int ACE_MEM_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 [inline, protected] |
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.
Reimplemented from ACE_SOCK_Acceptor.
int ACE_MEM_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 [inline, protected] |
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.
Reimplemented from ACE_SOCK_Acceptor.
void ACE_MEM_Acceptor::dump | ( | void | ) | const |
Dump the state of an object.
Reimplemented from ACE_SOCK_Acceptor.
int ACE_MEM_Acceptor::get_local_addr | ( | ACE_MEM_Addr & | sap | ) | const [inline] |
Return the local endpoint address in the referenced <ACE_Addr>. Returns 0 if successful, else -1.
void ACE_MEM_Acceptor::init_buffer_size | ( | ACE_OFF_T | bytes | ) | [inline] |
Change the initial MMAP buffer size (in bytes) of the MEM_Stream this MEM_Acceptor creates.
const ACE_TCHAR * ACE_MEM_Acceptor::mmap_prefix | ( | void | ) | const [inline] |
Accessor/mutator of mmap filename prefix. By default, the <mmap_prefix_> is not set and the mmap filename is ${(TMP|TEMP)}//ACE_MEM_Acceptor_(port-number)_(&stream), otherwise, it is <mmap_prefix_>_(port-number)_(&stream), <mmap_prefix_> should include _absolute_ path so the connector within the same host can located the mmap file. Example: /tmp/mmapfile.
void ACE_MEM_Acceptor::mmap_prefix | ( | const ACE_TCHAR * | prefix | ) | [inline] |
int ACE_MEM_Acceptor::open | ( | const ACE_Addr & | local_sap, |
int | reuse_addr = 0 , |
||
int | protocol_family = PF_INET , |
||
int | backlog = ACE_DEFAULT_BACKLOG , |
||
int | protocol = 0 |
||
) | [protected] |
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. Returns 0 on success and -1 on failure.
Reimplemented from ACE_SOCK_Acceptor.
int ACE_MEM_Acceptor::open | ( | const ACE_MEM_Addr & | local_sap, |
int | reuse_addr = 0 , |
||
int | backlog = ACE_DEFAULT_BACKLOG , |
||
int | protocol = 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. Returns 0 on success and -1 on failure.
int ACE_MEM_Acceptor::open | ( | const ACE_Addr & | local_sap, |
ACE_Protocol_Info * | protocolinfo, | ||
ACE_SOCK_GROUP | g, | ||
u_long | flags, | ||
int | reuse_addr, | ||
int | protocol_family, | ||
int | backlog = ACE_DEFAULT_BACKLOG , |
||
int | protocol = 0 |
||
) | [inline, protected] |
Initialize a passive-mode QoS-enabled acceptor socket. Returns 0 on success and -1 on failure.
Reimplemented from ACE_SOCK_Acceptor.
void ACE_MEM_Acceptor::preferred_strategy | ( | ACE_MEM_IO::Signal_Strategy | strategy | ) | [inline] |
Set the preferred signaling strategy.
ACE_MEM_IO::Signal_Strategy ACE_MEM_Acceptor::preferred_strategy | ( | void | ) | const [inline] |
Get the preferred signaling strategy.
int ACE_MEM_Acceptor::shared_accept_finish | ( | ACE_MEM_Stream | new_stream, |
int | in_blocking_mode, | ||
bool | reset_new_handle | ||
) | const |
Perform operations that must occur after <ACE_OS::accept> is called.
Declare the dynamic allocation hooks.
Reimplemented from ACE_SOCK_Acceptor.
A cached MALLOC_OPTIONS. MEM_Accaptor use it to create the shared mamory malloc upon every incoming connection.
ACE_TCHAR* ACE_MEM_Acceptor::mmap_prefix_ [private] |
The filename prefix of the created mmap files. It should contains the absolute path name of the file.
Preferred signaling strategy.