# ACE_SPIPE_Connector Class Reference

Defines an active connection factory for <ace_spipe_stream>. On Windows this is mapped to Named Pipes, whereas on UNIX it is mapped to STREAM pipes. More...

`#include <SPIPE_Connector.h>`

List of all members.

## Public Types

typedef ACE_SPIPE_Addr | PEER_ADDR
typedef ACE_SPIPE_Stream | PEER_STREAM

## Public Member Functions

| ACE_SPIPE_Connector (void)
| Default constructor.
| ACE_SPIPE_Connector (ACE_SPIPE_Stream &new_io, const ACE_SPIPE_Addr &remote_sap, ACE_Time_Value *timeout=0, const ACE_Addr &local_sap=ACE_Addr::sap_any, int reuse_addr=0, int flags=O_RDWR, int perms=0, LPSECURITY_ATTRIBUTES sa=0, int pipe_mode=PIPE_READMODE_MESSAGE|PIPE_WAIT)
int | connect (ACE_SPIPE_Stream &new_io, const ACE_SPIPE_Addr &remote_sap, ACE_Time_Value *timeout=0, const ACE_Addr &local_sap=ACE_Addr::sap_any, int reuse_addr=0, int flags=O_RDWR, int perms=0, LPSECURITY_ATTRIBUTES sa=0, int pipe_mode=PIPE_READMODE_MESSAGE|PIPE_WAIT)
int | reset_new_handle (ACE_HANDLE handle)
| Resets any event associations on this handle.
void | dump (void) const
| Dump the state of an object.

## Public Attributes

| ACE_ALLOC_HOOK_DECLARE
| Declare the dynamic allocation hooks.

## Detailed Description

Defines an active connection factory for <ace_spipe_stream>. On Windows this is mapped to Named Pipes, whereas on UNIX it is mapped to STREAM pipes.

## Member Typedef Documentation

typedef ACE_SPIPE_Addr ACE_SPIPE_Connector::PEER_ADDR

typedef ACE_SPIPE_Stream ACE_SPIPE_Connector::PEER_STREAM

## Constructor & Destructor Documentation

ACE_SPIPE_Connector::ACE_SPIPE_Connector | ( | void |  | ) |

| Default constructor.

ACE_BEGIN_VERSIONED_NAMESPACE_DECL ACE_SPIPE_Connector::ACE_SPIPE_Connector | ( | ACE_SPIPE_Stream & | new_io,
|  | const ACE_SPIPE_Addr & | remote_sap,
|  | ACE_Time_Value * | timeout = `0`,
|  | const ACE_Addr & | local_sap = `ACE_Addr::sap_any`,
|  | int | reuse_addr = `0`,
|  | int | flags = `O_RDWR`,
|  | int | perms = `0`,
|  | LPSECURITY_ATTRIBUTES | sa = `0`,
|  | int | pipe_mode = `PIPE_READMODE_MESSAGE|PIPE_WAIT`
| ) |

Actively connect and produce a <new_stream> if things go well. The <remote_sap> is the address that we are trying to connect with. The <timeout> is the amount of time to wait to connect. If it's 0 then we block indefinitely. If *timeout == {0, 0} then the connection is done using non-blocking mode. In this case, if the connection can't be made immediately the value of -1 is returned with <errno == EWOULDBLOCK>. If *timeout > {0, 0} then this is the maximum amount of time to wait before timing out. If the time expires before the connection is made <errno == ETIME>. The <local_sap> is the value of local address to bind to. If it's the default value of <ACE_Addr::sap_any> then the user is letting the OS do the binding. If <reuse_addr> == 1 then the <local_addr> is reused, even if it hasn't been cleanedup yet. The <flags> and <perms> arguments are passed down to the <open> method. The <pipe_mode> argument is only used in NT and is used to establish the NT pipe mode.

## Member Function Documentation

int ACE_SPIPE_Connector::connect | ( | ACE_SPIPE_Stream & | new_io,
|  | const ACE_SPIPE_Addr & | remote_sap,
|  | ACE_Time_Value * | timeout = `0`,
|  | const ACE_Addr & | local_sap = `ACE_Addr::sap_any`,
|  | int | reuse_addr = `0`,
|  | int | flags = `O_RDWR`,
|  | int | perms = `0`,
|  | LPSECURITY_ATTRIBUTES | sa = `0`,
|  | int | pipe_mode = `PIPE_READMODE_MESSAGE|PIPE_WAIT`
| ) |

Actively connect and produce a <new_stream> if things go well. The <remote_sap> is the address that we are trying to connect with. The <timeout> is the amount of time to wait to connect. If it's 0 then we block indefinitely. If *timeout == {0, 0} then the connection is done using non-blocking mode. In this case, if the connection can't be made immediately the value of -1 is returned with <errno == EWOULDBLOCK>. If *timeout > {0, 0} then this is the maximum amount of time to wait before timing out. If the time expires before the connection is made <errno == ETIME>. The <local_sap> is the value of local address to bind to. If it's the default value of <ACE_Addr::sap_any> then the user is letting the OS do the binding. If <reuse_addr> == 1 then the <local_addr> is reused, even if it hasn't been cleanedup yet. The <flags> and <perms> arguments are passed down to the <open> method. The <pipe_mode> argument is only used in NT and is used to establish the NT pipe mode.

void ACE_SPIPE_Connector::dump | ( | void |  | ) | const

| Dump the state of an object.

ACE_BEGIN_VERSIONED_NAMESPACE_DECL ACE_INLINE int ACE_SPIPE_Connector::reset_new_handle | ( | ACE_HANDLE | handle | ) |

| Resets any event associations on this handle.

## Member Data Documentation

ACE_SPIPE_Connector::ACE_ALLOC_HOOK_DECLARE

| Declare the dynamic allocation hooks.

The documentation for this class was generated from the following files:

- SPIPE_Connector.h
- SPIPE_Connector.cpp
- SPIPE_Connector.inl