#include <DEV_Connector.h>
Public Types | |
typedef ACE_DEV_Addr | PEER_ADDR |
typedef ACE_DEV_IO | PEER_STREAM |
Public Member Functions | |
ACE_DEV_Connector (void) | |
Default constructor. | |
ACE_DEV_Connector (ACE_DEV_IO &new_io, const ACE_DEV_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) | |
int | connect (ACE_DEV_IO &new_io, const ACE_DEV_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) |
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. |
Definition at line 33 of file DEV_Connector.h.
Definition at line 99 of file DEV_Connector.h.
Definition at line 100 of file DEV_Connector.h.
ACE_DEV_Connector::ACE_DEV_Connector | ( | void | ) |
Default constructor.
Definition at line 29 of file DEV_Connector.cpp.
References ACE_TRACE.
00030 { 00031 ACE_TRACE ("ACE_DEV_Connector::ACE_DEV_Connector"); 00032 }
ACE_BEGIN_VERSIONED_NAMESPACE_DECL ACE_INLINE ACE_DEV_Connector::ACE_DEV_Connector | ( | ACE_DEV_IO & | new_io, | |
const ACE_DEV_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 | |||
) |
Actively connect and produce a new_io 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.
Definition at line 10 of file DEV_Connector.inl.
References ACE_ERROR, ACE_TEXT, ACE_TRACE, ACE_DEV_Addr::get_path_name(), ACE_IO_SAP::INVALID_HANDLE, and LM_ERROR.
00017 { 00018 ACE_TRACE ("ACE_DEV_Connector::ACE_DEV_Connector"); 00019 if (this->connect (new_io, remote_sap, timeout, local_sap, 00020 reuse_addr, flags, perms) == ACE_IO_SAP::INVALID_HANDLE 00021 && timeout != 0 && !(errno == EWOULDBLOCK || errno == ETIME)) 00022 ACE_ERROR ((LM_ERROR, ACE_TEXT ("address %s, %p\n"), 00023 remote_sap.get_path_name (), ACE_TEXT ("ACE_DEV_IO"))); 00024 }
int ACE_DEV_Connector::connect | ( | ACE_DEV_IO & | new_io, | |
const ACE_DEV_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 | |||
) |
Actively connect and produce a new_io 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.
Definition at line 35 of file DEV_Connector.cpp.
References ACE_TRACE, ACE_DEV_IO::addr_, ACE_DEV_Addr::get_path_name(), ACE::handle_timed_open(), and ACE_IO_SAP::set_handle().
00042 { 00043 ACE_TRACE ("ACE_DEV_Connector::connect"); 00044 00045 ACE_HANDLE handle = ACE::handle_timed_open (timeout, 00046 remote_sap.get_path_name (), 00047 flags, perms); 00048 new_io.set_handle (handle); 00049 new_io.addr_ = remote_sap; // class copy. 00050 return handle == ACE_INVALID_HANDLE ? -1 : 0; 00051 }
ACE_BEGIN_VERSIONED_NAMESPACE_DECL void ACE_DEV_Connector::dump | ( | void | ) | const |
Dump the state of an object.
Definition at line 22 of file DEV_Connector.cpp.
References ACE_TRACE.
00023 { 00024 #if defined (ACE_HAS_DUMP) 00025 ACE_TRACE ("ACE_DEV_Connector::dump"); 00026 #endif /* ACE_HAS_DUMP */ 00027 }
ACE_INLINE int ACE_DEV_Connector::reset_new_handle | ( | ACE_HANDLE | handle | ) |
Resets any event associations on this handle.
Definition at line 27 of file DEV_Connector.inl.
00028 { 00029 ACE_UNUSED_ARG (handle); 00030 // Nothing to do here since the handle is not a socket 00031 return 0; 00032 }