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

ACE_SPIPE_Acceptor Class Reference

A factory class that produces ACE_SPIPE_Stream objects. More...

#include <SPIPE_Acceptor.h>

Inheritance diagram for ACE_SPIPE_Acceptor:

Inheritance graph
[legend]
Collaboration diagram for ACE_SPIPE_Acceptor:

Collaboration graph
[legend]
List of all members.

Public Types

typedef ACE_SPIPE_Addr PEER_ADDR
typedef ACE_SPIPE_Stream PEER_STREAM

Public Methods

 ACE_SPIPE_Acceptor (void)
 Default constructor.

 ACE_SPIPE_Acceptor (const ACE_SPIPE_Addr &local_sap, int reuse_addr=1, int perms=ACE_DEFAULT_FILE_PERMS, LPSECURITY_ATTRIBUTES sa=0, int pipe_mode=PIPE_TYPE_MESSAGE|PIPE_READMODE_MESSAGE)
 Initiate a passive-mode STREAM pipe listener.

int open (const ACE_SPIPE_Addr &local_sap, int reuse_addr=1, int perms=ACE_DEFAULT_FILE_PERMS, LPSECURITY_ATTRIBUTES sa=0, int pipe_mode=PIPE_TYPE_MESSAGE|PIPE_READMODE_MESSAGE)
 Initiate a passive-mode STREAM pipe listener.

int close (void)
 Close down the passive-mode STREAM pipe listener.

int remove (void)
 Remove the underlying mounted pipe from the file system.

int accept (ACE_SPIPE_Stream &ipc_sap_spipe, ACE_SPIPE_Addr *remote_addr=0, ACE_Time_Value *timeout=0, int restart=1, int reset_new_handle=0)
void dump (void) const
 Dump the state of an object.


Public Attributes

 ACE_ALLOC_HOOK_DECLARE
 Declare the dynamic allocation hooks.


Private Methods

int create_new_instance (int perms=0)
 Create a new instance of an SPIPE.


Detailed Description

A factory class that produces ACE_SPIPE_Stream objects.

ACE_SPIPE_Acceptor is a factory class that accepts SPIPE connections. Each accepted connection produces an ACE_SPIPE_Stream object.

Warning:
Windows: Works only on Windows NT 4 and higher. To use this class with the ACE_Reactor framework, note that the handle to demultiplex on is an event handle and should be registered with the ACE_Reactor::register_handler (ACE_Event_Handler *, ACE_HANDLE) method.
Warning:
Works on non-Windows platforms only when ACE_HAS_STREAM_PIPES is defined.


Member Typedef Documentation

typedef ACE_SPIPE_Addr ACE_SPIPE_Acceptor::PEER_ADDR
 

typedef ACE_SPIPE_Stream ACE_SPIPE_Acceptor::PEER_STREAM
 


Constructor & Destructor Documentation

ACE_SPIPE_Acceptor::ACE_SPIPE_Acceptor void   
 

Default constructor.

ACE_SPIPE_Acceptor::ACE_SPIPE_Acceptor const ACE_SPIPE_Addr   local_sap,
int    reuse_addr = 1,
int    perms = ACE_DEFAULT_FILE_PERMS,
LPSECURITY_ATTRIBUTES    sa = 0,
int    pipe_mode = PIPE_TYPE_MESSAGE|PIPE_READMODE_MESSAGE
 

Initiate a passive-mode STREAM pipe listener.

Parameters:
local_sap  The name of the pipe instance to open and listen on.
reuse_addr  Optional, and ignored. Needed for API compatibility with other acceptor classes.
perms  Optional, the protection mask to create the pipe with. Ignored on Windows.
sa  Optional, ignored on non-Windows. The SECURITY_ATTRIBUTES to create the named pipe instances with. This pointer is remembered and reused on each new named pipe instance, so only pass a value that remains valid as long as this object does.
pipe_mode  Optional, ignored on non-Windows. The NT pipe mode used when creating the pipe.


Member Function Documentation

int ACE_SPIPE_Acceptor::accept ACE_SPIPE_Stream   ipc_sap_spipe,
ACE_SPIPE_Addr   remote_addr = 0,
ACE_Time_Value   timeout = 0,
int    restart = 1,
int    reset_new_handle = 0
 

Accept a new data transfer connection.

Parameters:
ipc_sap_spipe  The ACE_SPIPE_Stream to initialize with the newly-accepted pipe.
remote_addr  Optional, accepts the address of the peer.
timeout  0 means block forever, {0, 0} means poll.
restart  1 means "restart if interrupted."
Return values:
0  for success.
-1  for failure.

int ACE_SPIPE_Acceptor::close void   
 

Close down the passive-mode STREAM pipe listener.

Reimplemented from ACE_SPIPE.

Reimplemented in ACE_UPIPE_Acceptor.

int ACE_SPIPE_Acceptor::create_new_instance int    perms = 0 [private]
 

Create a new instance of an SPIPE.

void ACE_SPIPE_Acceptor::dump void    const
 

Dump the state of an object.

Reimplemented from ACE_SPIPE.

Reimplemented in ACE_UPIPE_Acceptor.

int ACE_SPIPE_Acceptor::open const ACE_SPIPE_Addr   local_sap,
int    reuse_addr = 1,
int    perms = ACE_DEFAULT_FILE_PERMS,
LPSECURITY_ATTRIBUTES    sa = 0,
int    pipe_mode = PIPE_TYPE_MESSAGE|PIPE_READMODE_MESSAGE
 

Initiate a passive-mode STREAM pipe listener.

Parameters:
local_sap  The name of the pipe instance to open and listen on.
reuse_addr  Optional, and ignored. Needed for API compatibility with other acceptor classes.
perms  Optional, the protection mask to create the pipe with. Ignored on Windows.
sa  Optional, ignored on non-Windows. The SECURITY_ATTRIBUTES to create the named pipe instances with. This pointer is remembered and reused on each new named pipe instance, so only pass a value that remains valid as long as this object does.
pipe_mode  Optional, ignored on non-Windows. The NT pipe mode used when creating the pipe.
Return values:
0  for success.
-1  for failure.

int ACE_SPIPE_Acceptor::remove void   
 

Remove the underlying mounted pipe from the file system.

Reimplemented from ACE_SPIPE.

Reimplemented in ACE_UPIPE_Acceptor.


Member Data Documentation

ACE_SPIPE_Acceptor::ACE_ALLOC_HOOK_DECLARE
 

Declare the dynamic allocation hooks.

Reimplemented from ACE_SPIPE.

Reimplemented in ACE_UPIPE_Acceptor.


The documentation for this class was generated from the following files:
Generated on Wed Jan 14 22:48:11 2004 for ACE by doxygen1.2.18