Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Related Pages  

ACE_MEM_Acceptor Class Reference

Defines the format and interface for the acceptor side of the local mmap stream. More...

#include <MEM_Acceptor.h>

Inheritance diagram for ACE_MEM_Acceptor

Inheritance graph
[legend]
Collaboration diagram for ACE_MEM_Acceptor:

Collaboration graph
[legend]
List of all members.

Public Types

typedef ACE_MEM_Addr PEER_ADDR
typedef ACE_MEM_Stream PEER_STREAM

Public Methods

 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, int restart = 1, int reset_new_handle = 0)
 Accept a new data transfer connection.

int shared_accept_finish (ACE_MEM_Stream new_stream, int in_blocking_mode, int reset_new_handle) const
 Perform operations that must occur after is called.

const ACE_TCHARmmap_prefix (void) const
void mmap_prefix (const ACE_TCHAR *prefix)
ACE_MEM_IO::Signal_Strategy preferred_strategy (void) const
void preferred_strategy (ACE_MEM_IO::Signal_Strategy strategy)
int get_local_addr (ACE_MEM_Addr &) const
 Return the local endpoint address in the referenced . Returns 0 if successful, else -1.

ACE_MEM_SAP::MALLOC_OPTIONSmalloc_options (void)
 Accessor to the mmap options.

void dump (void) const
 Dump the state of an object.


Public Attributes

 ACE_ALLOC_HOOK_DECLARE
 Declare the dynamic allocation hooks.


Protected Methods

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)
 Initialize a passive-mode QoS-enabled acceptor socket. Returns 0 on success and -1 on failure.

int accept (ACE_SOCK_Stream &new_stream, ACE_Addr *remote_addr = 0, ACE_Time_Value *timeout = 0, int restart = 1, int reset_new_handle = 0) const
int accept (ACE_SOCK_Stream &new_stream, ACE_Accept_QoS_Params qos_params, ACE_Addr *remote_addr = 0, ACE_Time_Value *timeout = 0, int restart = 1, int reset_new_handle = 0) const

Private Attributes

ACE_TCHARmmap_prefix_
 The filename prefix of the created mmap files. It should contains the absolute path name of the file.

ACE_MEM_SAP::MALLOC_OPTIONS malloc_options_
 A cached MALLOC_OPTIONS. MEM_Accaptor use it to create the shared mamory malloc upon every incoming connection.

ACE_MEM_IO::Signal_Strategy preferred_strategy_

Detailed Description

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 so we can later changed to use UNIX sockets with mmap stream if so desired. (Currently, using UNIX socket with this class will not work.)


Member Typedef Documentation

typedef ACE_MEM_Addr ACE_MEM_Acceptor::PEER_ADDR
 

Reimplemented from ACE_SOCK_Acceptor.

typedef ACE_MEM_Stream ACE_MEM_Acceptor::PEER_STREAM
 

Reimplemented from ACE_SOCK_Acceptor.


Constructor & Destructor Documentation

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.


Member Function Documentation

ASYS_INLINE 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,
int restart = 1,
int reset_new_handle = 0 ) const [protected]
 

Accept a new connection using the QoS information in <qos_params>. A <timeout> of 0 means block forever, a <timeout> of {0, 0} means poll. <restart> == 1 means "restart if interrupted," i.e., if errno == EINTR. Note that <new_stream> inherits the "blocking mode" of <this> , i.e., if <this> acceptor factory is in non-blocking mode, the <net_stream> will be in non-blocking mode and vice versa.

Reimplemented from ACE_SOCK_Acceptor.

ASYS_INLINE int ACE_MEM_Acceptor::accept ( ACE_SOCK_Stream & new_stream,
ACE_Addr * remote_addr = 0,
ACE_Time_Value * timeout = 0,
int restart = 1,
int reset_new_handle = 0 ) const [protected]
 

Accept a new connection. A <timeout> of 0 means block forever, a <timeout> of {0, 0} means poll. <restart> == 1 means "restart if interrupted," i.e., if errno == EINTR. Note that <new_stream> inherits the "blocking mode" of <this> , i.e., if <this> acceptor factory is in non-blocking mode, the <net_stream> will be in non-blocking mode and vice versa.

Reimplemented from ACE_SOCK_Acceptor.

int ACE_MEM_Acceptor::accept ( ACE_MEM_Stream & new_ipc_sap,
ACE_MEM_Addr * remote_addr = 0,
ACE_Time_Value * timeout = 0,
int restart = 1,
int reset_new_handle = 0 )
 

Accept a new data transfer connection.

void ACE_MEM_Acceptor::dump ( void ) const
 

Dump the state of an object.

Reimplemented from ACE_SOCK_Acceptor.

ASYS_INLINE int ACE_MEM_Acceptor::get_local_addr ( ACE_MEM_Addr & sap ) const
 

Return the local endpoint address in the referenced . Returns 0 if successful, else -1.

ASYS_INLINE ACE_MEM_SAP::MALLOC_OPTIONS & ACE_MEM_Acceptor::malloc_options ( void )
 

Accessor to the mmap options.

ASYS_INLINE void ACE_MEM_Acceptor::mmap_prefix ( const ACE_TCHAR * prefix )
 

ASYS_INLINE const ACE_TCHAR * ACE_MEM_Acceptor::mmap_prefix ( void ) const
 

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.

ASYS_INLINE 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 ) [protected]
 

Initialize a passive-mode QoS-enabled acceptor socket. Returns 0 on success and -1 on failure.

Reimplemented from ACE_SOCK_Acceptor.

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.

ASYS_INLINE void ACE_MEM_Acceptor::preferred_strategy ( ACE_MEM_IO::Signal_Strategy strategy )
 

ASYS_INLINE ACE_MEM_IO::Signal_Strategy ACE_MEM_Acceptor::preferred_strategy ( void ) const
 

int ACE_MEM_Acceptor::shared_accept_finish ( ACE_MEM_Stream new_stream,
int in_blocking_mode,
int reset_new_handle ) const
 

Perform operations that must occur after is called.


Member Data Documentation

ACE_MEM_Acceptor::ACE_ALLOC_HOOK_DECLARE
 

Declare the dynamic allocation hooks.

Reimplemented from ACE_SOCK_Acceptor.

ACE_MEM_SAP::MALLOC_OPTIONS ACE_MEM_Acceptor::malloc_options_ [private]
 

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.

ACE_MEM_IO::Signal_Strategy ACE_MEM_Acceptor::preferred_strategy_ [private]
 


The documentation for this class was generated from the following files:
Generated at Fri Oct 5 07:02:54 2001 for ACE by doxygen1.2.3 written by Dimitri van Heesch, © 1997-2000