# ACE_MEM_Connector Class Reference

Defines the format and interface for connecting to a peer on a `ACE_MEM_Stream` object. More...

`#include <MEM_Connector.h>`

Inheritance diagram for ACE_MEM_Connector:

[legend]
Collaboration diagram for ACE_MEM_Connector:

[legend]
List of all members.

## Public Types

typedef ACE_INET_Addr | PEER_ADDR
typedef ACE_MEM_Stream | PEER_STREAM

## Public Member Functions

| ACE_MEM_Connector (void)
| Default constructor.
| ACE_MEM_Connector (ACE_MEM_Stream &new_stream, const ACE_INET_Addr &remote_sap, ACE_Time_Value *timeout=0, const ACE_Addr &local_sap=ACE_Addr::sap_any, int reuse_addr=0, int flags=0, int perms=0)
int | connect (ACE_MEM_Stream &new_stream, const ACE_INET_Addr &remote_sap, ACE_Time_Value *timeout=0, const ACE_Addr &local_sap=ACE_Addr::sap_any, int reuse_addr=0, int flags=0, int perms=0)
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.
ACE_MEM_SAP::MALLOC_OPTIONS & | malloc_options (void)
void | dump (void) const
| Dump the state of an object.

## Public Attributes

| ACE_ALLOC_HOOK_DECLARE
| Declare the dynamic allocation hooks.

## Private Attributes

ACE_MEM_Addr | address_
| The acceptor address this connector is connecting to.
ACE_MEM_SAP::MALLOC_OPTIONS | malloc_options_
ACE_MEM_IO::Signal_Strategy | preferred_strategy_
| Preferred signaling strategy.

## Detailed Description

Defines the format and interface for connecting to a peer on a `ACE_MEM_Stream` object.

## Member Typedef Documentation

typedef ACE_INET_Addr ACE_MEM_Connector::PEER_ADDR

| Reimplemented from ACE_SOCK_Connector.

typedef ACE_MEM_Stream ACE_MEM_Connector::PEER_STREAM

| Reimplemented from ACE_SOCK_Connector.

## Constructor & Destructor Documentation

ACE_MEM_Connector::ACE_MEM_Connector | ( | void |  | ) |

| Default constructor.

ACE_MEM_Connector::ACE_MEM_Connector | ( | ACE_MEM_Stream & | new_stream,
|  | const ACE_INET_Addr & | remote_sap,
|  | ACE_Time_Value * | timeout = `0`,
|  | const ACE_Addr & | local_sap = `ACE_Addr::sap_any`,
|  | int | reuse_addr = `0`,
|  | int | flags = `0`,
|  | int | perms = `0`
| ) |

Actively connect to a peer, producing a connected `ACE_MEM_Stream` object if the connection succeeds.

Parameters:

  | new_stream | The `ACE_MEM_Stream` object that will be connected to the peer.
  | remote_sap | The address that we are trying to connect to. The protocol family of `remote_sap` is used for the connected socket. That is, if `remote_sap` contains an IPv6 address, a socket with family PF_INET6 will be used, else it will be PF_INET.

Note:
  remote_sap must be an address on the local host.

Parameters:

  timeout

  Pointer to an `ACE_Time_Value` object with amount of time to wait to connect. If the pointer is 0 then the call blocks until the connection attempt is complete, whether it succeeds or fails. If *timeout == {0, 0} then the connection is done using nonblocking mode. In this case, if the connection can't be made immediately, this method returns -1 and errno == EWOULDBLOCK. If *timeout > {0, 0} then this is the maximum amount of time to wait before timing out; if the specified amount of time passes before the connection is made, this method returns -1 and errno == ETIME. Note the difference between this case and when a blocking connect is attmpted that TCP times out - in the latter case, errno will be ETIMEDOUT.

  | local_sap | (optional) The local address to bind to. If it's the default value of `ACE_Addr::sap_any` then the OS will choose an unused port.
  | reuse_addr | (optional) If the value is 1, the local address (`local_sap`) is reused, even if it hasn't been cleaned up yet.
  | flags | Ignored.
  | perms | Ignored.

## Member Function Documentation

int ACE_MEM_Connector::connect | ( | ACE_MEM_Stream & | new_stream,
|  | const ACE_INET_Addr & | remote_sap,
|  | ACE_Time_Value * | timeout = `0`,
|  | const ACE_Addr & | local_sap = `ACE_Addr::sap_any`,
|  | int | reuse_addr = `0`,
|  | int | flags = `0`,
|  | int | perms = `0`
| ) |

Actively connect to a peer, producing a connected `ACE_MEM_Stream` object if the connection succeeds.

Parameters:

  | new_stream | The `ACE_MEM_Stream` object that will be connected to the peer.
  | remote_sap | The address that we are trying to connect to. The protocol family of `remote_sap` is used for the connected socket. That is, if `remote_sap` contains an IPv6 address, a socket with family PF_INET6 will be used, else it will be PF_INET.

Note:
  remote_sap must be an address on the local host.

Parameters:

  timeout

  Pointer to an `ACE_Time_Value` object with amount of time to wait to connect. If the pointer is 0 then the call blocks until the connection attempt is complete, whether it succeeds or fails. If *timeout == {0, 0} then the connection is done using nonblocking mode. In this case, if the connection can't be made immediately, this method returns -1 and errno == EWOULDBLOCK. If *timeout > {0, 0} then this is the maximum amount of time to wait before timing out; if the specified amount of time passes before the connection is made, this method returns -1 and errno == ETIME. Note the difference between this case and when a blocking connect is attmpted that TCP times out - in the latter case, errno will be ETIMEDOUT.

  | local_sap | (optional) The local address to bind to. If it's the default value of `ACE_Addr::sap_any` then the OS will choose an unused port.
  | reuse_addr | (optional) If the value is 1, the local address (`local_sap`) is reused, even if it hasn't been cleaned up yet.
  | flags | Ignored.
  | perms | Ignored.

Returns:
  Returns 0 if the connection succeeds. If it fails, -1 is returned and errno contains a specific error code.

ACE_BEGIN_VERSIONED_NAMESPACE_DECL void ACE_MEM_Connector::dump | ( | void |  | ) | const

| Dump the state of an object. Reimplemented from ACE_SOCK_Connector.

ACE_INLINE ACE_MEM_SAP::MALLOC_OPTIONS & ACE_MEM_Connector::malloc_options | ( | void |  | ) |

Accessor to underlying malloc options.

Deprecated:
  This method has been deprecated.

ACE_INLINE void ACE_MEM_Connector::preferred_strategy | ( | ACE_MEM_IO::Signal_Strategy | strategy | ) |

| Set the preferred signaling strategy.

ACE_BEGIN_VERSIONED_NAMESPACE_DECL ACE_INLINE ACE_MEM_IO::Signal_Strategy ACE_MEM_Connector::preferred_strategy | ( | void |  | ) | const

| Get the preferred signaling strategy.

## Member Data Documentation

ACE_MEM_Connector::ACE_ALLOC_HOOK_DECLARE

| Declare the dynamic allocation hooks. Reimplemented from ACE_SOCK_Connector.

ACE_MEM_Addr ACE_MEM_Connector::address_ `[private]`

| The acceptor address this connector is connecting to.

ACE_MEM_SAP::MALLOC_OPTIONS ACE_MEM_Connector::malloc_options_ `[private]`

| A cached MALLOC_OPTIONS that the MEM_Connector used to initialize the shared memory malloc update connection establishment.

ACE_MEM_IO::Signal_Strategy ACE_MEM_Connector::preferred_strategy_ `[private]`

| Preferred signaling strategy.

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

- MEM_Connector.h
- MEM_Connector.cpp
- MEM_Connector.inl