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

ACE_SOCK_SEQPACK_Connector Class Reference

Defines a factory that actively connects to a remote IP address and TCP port, creating a new ACE_SOCK_SEQPACK_Association object. More...

#include <SOCK_SEQPACK_Connector.h>

List of all members.

Public Types

typedef ACE_Multihomed_INET_Addr PEER_ADDR
typedef ACE_SOCK_SEQPACK_Association PEER_STREAM

Public Methods

 ACE_SOCK_SEQPACK_Connector (void)
 Default constructor.

 ACE_SOCK_SEQPACK_Connector (ACE_SOCK_SEQPACK_Association &new_association, const ACE_Addr &remote_sap, const 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 protocol=132)
 ACE_SOCK_SEQPACK_Connector (ACE_SOCK_SEQPACK_Association &new_association, const ACE_Addr &remote_sap, const ACE_Time_Value *timeout, const ACE_Multihomed_INET_Addr &local_sap, int reuse_addr=0, int flags=0, int perms=0, int protocol=132)
int connect (ACE_SOCK_SEQPACK_Association &new_association, const ACE_Addr &remote_sap, const 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 protocol=132)
int connect (ACE_SOCK_SEQPACK_Association &new_association, const ACE_Addr &remote_sap, const ACE_Time_Value *timeout, const ACE_Multihomed_INET_Addr &local_sap, int reuse_addr=0, int flags=0, int perms=0, int protocol=132)
 ~ACE_SOCK_SEQPACK_Connector (void)
 Default dtor.

int complete (ACE_SOCK_SEQPACK_Association &new_association, ACE_Addr *remote_sap=0, const ACE_Time_Value *timeout=0)
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.


Protected Methods

int shared_open (ACE_SOCK_SEQPACK_Association &new_association, int protocol_family, int protocol, int reuse_addr)
int shared_open (ACE_SOCK_SEQPACK_Association &new_association, int protocol_family, int protocol, ACE_Protocol_Info *protocolinfo, ACE_SOCK_GROUP g, u_long flags, int reuse_addr)
int shared_connect_start (ACE_SOCK_SEQPACK_Association &new_association, const ACE_Time_Value *timeout, const ACE_Addr &local_sap)
 Perform operations that must be called before <ACE_OS::connect>.

int shared_connect_start (ACE_SOCK_SEQPACK_Association &new_association, const ACE_Time_Value *timeout, const ACE_Multihomed_INET_Addr &local_sap)
int shared_connect_finish (ACE_SOCK_SEQPACK_Association &new_association, const ACE_Time_Value *timeout, int result)
 Perform operations that must be called after <ACE_OS::connect>.


Detailed Description

Defines a factory that actively connects to a remote IP address and TCP port, creating a new ACE_SOCK_SEQPACK_Association object.

The ACE_SOCK_SEQPACK_Connector doesn't have a socket of its own, i.e., it simply "borrows" the one from the ACE_SOCK_SEQPACK_Association that's being connected. The reason for this is that the underlying socket API doesn't use a factory socket to connect data mode sockets. Therefore, there's no need to inherit ACE_SOCK_SEQPACK_Connector from ACE_SOCK. A nice side-effect of this is that ACE_SOCK_SEQPACK_Connector objects do not store state so they can be used reentrantly in multithreaded programs.


Member Typedef Documentation

typedef ACE_Multihomed_INET_Addr ACE_SOCK_SEQPACK_Connector::PEER_ADDR
 

typedef ACE_SOCK_SEQPACK_Association ACE_SOCK_SEQPACK_Connector::PEER_STREAM
 


Constructor & Destructor Documentation

ASYS_INLINE ACE_SOCK_SEQPACK_Connector::ACE_SOCK_SEQPACK_Connector void   
 

Default constructor.

ACE_SOCK_SEQPACK_Connector::ACE_SOCK_SEQPACK_Connector ACE_SOCK_SEQPACK_Association   new_association,
const ACE_Addr   remote_sap,
const 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    protocol = 132
 

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

Parameters:
new_association  The ACE_SOCK_SEQPACK_Association 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.
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.
protocol  (optional) If value is 0, default SOCK_STREAM protocol is selected by kernel (typically TCP).
Returns:
Returns 0 if the connection succeeds. If it fails, -1 is returned and errno contains a specific error code.

ACE_SOCK_SEQPACK_Connector::ACE_SOCK_SEQPACK_Connector ACE_SOCK_SEQPACK_Association   new_association,
const ACE_Addr   remote_sap,
const ACE_Time_Value   timeout,
const ACE_Multihomed_INET_Addr   local_sap,
int    reuse_addr = 0,
int    flags = 0,
int    perms = 0,
int    protocol = 132
 

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

Parameters:
new_association  The ACE_SOCK_SEQPACK_Association 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.
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 set of local addresses for SCTP to bind to.
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.
protocol  (optional) If value is 0, default SOCK_STREAM protocol is selected by kernel (typically TCP).
Returns:
Returns 0 if the connection succeeds. If it fails, -1 is returned and errno contains a specific error code.

ASYS_INLINE ACE_SOCK_SEQPACK_Connector::~ACE_SOCK_SEQPACK_Connector void   
 

Default dtor.


Member Function Documentation

int ACE_SOCK_SEQPACK_Connector::complete ACE_SOCK_SEQPACK_Association   new_association,
ACE_Addr   remote_sap = 0,
const ACE_Time_Value   timeout = 0
 

Try to complete a nonblocking connection that was begun by a previous call to connect with a {0, 0} ACE_Time_Value timeout.

See also:
connect().
Parameters:
new_association  The ACE_SOCK_SEQPACK_Association object that will be connected to the peer.
remote_sap  If non-0, it points to the ACE_INET_Addr object that will contain the address of the connected peer.
timeout  Same values and return value possibilites as for connect().
See also:
connect().

int ACE_SOCK_SEQPACK_Connector::connect ACE_SOCK_SEQPACK_Association   new_association,
const ACE_Addr   remote_sap,
const ACE_Time_Value   timeout,
const ACE_Multihomed_INET_Addr   local_sap,
int    reuse_addr = 0,
int    flags = 0,
int    perms = 0,
int    protocol = 132
 

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

Parameters:
new_association  The ACE_SOCK_SEQPACK_Association 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.
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 set of local addresses for SCTP to bind to.
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.
protocol  (optional) If value is 0, default SOCK_STREAM protocol is selected by kernel (typically TCP).
Returns:
Returns 0 if the connection succeeds. If it fails, -1 is returned and errno contains a specific error code.

int ACE_SOCK_SEQPACK_Connector::connect ACE_SOCK_SEQPACK_Association   new_association,
const ACE_Addr   remote_sap,
const 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    protocol = 132
 

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

Parameters:
new_association  The ACE_SOCK_SEQPACK_Association 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.
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.
protocol  (optional) If value is 0, default SOCK_STREAM protocol is selected by kernel (typically TCP).
Returns:
Returns 0 if the connection succeeds. If it fails, -1 is returned and errno contains a specific error code.

void ACE_SOCK_SEQPACK_Connector::dump void    const
 

Dump the state of an object.

ASYS_INLINE int ACE_SOCK_SEQPACK_Connector::reset_new_handle ACE_HANDLE    handle
 

Resets any event associations on this handle.

int ACE_SOCK_SEQPACK_Connector::shared_connect_finish ACE_SOCK_SEQPACK_Association   new_association,
const ACE_Time_Value   timeout,
int    result
[protected]
 

Perform operations that must be called after <ACE_OS::connect>.

int ACE_SOCK_SEQPACK_Connector::shared_connect_start ACE_SOCK_SEQPACK_Association   new_association,
const ACE_Time_Value   timeout,
const ACE_Multihomed_INET_Addr   local_sap
[protected]
 

int ACE_SOCK_SEQPACK_Connector::shared_connect_start ACE_SOCK_SEQPACK_Association   new_association,
const ACE_Time_Value   timeout,
const ACE_Addr   local_sap
[protected]
 

Perform operations that must be called before <ACE_OS::connect>.

int ACE_SOCK_SEQPACK_Connector::shared_open ACE_SOCK_SEQPACK_Association   new_association,
int    protocol_family,
int    protocol,
ACE_Protocol_Info   protocolinfo,
ACE_SOCK_GROUP    g,
u_long    flags,
int    reuse_addr
[protected]
 

Perform operations that ensure the socket is opened using QoS-enabled semantics.

int ACE_SOCK_SEQPACK_Connector::shared_open ACE_SOCK_SEQPACK_Association   new_association,
int    protocol_family,
int    protocol,
int    reuse_addr
[protected]
 

Perform operations that ensure the socket is opened using BSD-style semantics (no QoS).


Member Data Documentation

ACE_SOCK_SEQPACK_Connector::ACE_ALLOC_HOOK_DECLARE
 

Declare the dynamic allocation hooks.


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