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 Member Functions

 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 Member Functions

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.

Works on non-Windows platforms only when ACE_HAS_STREAM_PIPES is defined.


Member Typedef Documentation


Constructor & Destructor Documentation

ACE_BEGIN_VERSIONED_NAMESPACE_DECL 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::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::close ( void   ) 

Close down the passive-mode STREAM pipe listener.

Reimplemented from ACE_SPIPE.

Reimplemented in ACE_UPIPE_Acceptor.

int ACE_SPIPE_Acceptor::remove ( void   ) 

Remove the underlying mounted pipe from the file system.

Reimplemented from ACE_SPIPE.

Reimplemented in ACE_UPIPE_Acceptor.

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.

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::create_new_instance ( int  perms = 0  )  [private]

Create a new instance of an SPIPE.


Member Data Documentation

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 Apr 23 02:41:45 2008 for ACE by  doxygen 1.5.5