summaryrefslogtreecommitdiff
path: root/ace/SOCK_Connector.h
diff options
context:
space:
mode:
authorschmidt <douglascraigschmidt@users.noreply.github.com>1999-06-14 02:17:02 +0000
committerschmidt <douglascraigschmidt@users.noreply.github.com>1999-06-14 02:17:02 +0000
commitb4a501994dd71bacf8c727a8a11e8c57a023e1fc (patch)
treecd090e6574f0f1d2f35adc0dd6d719c5c0d9b90e /ace/SOCK_Connector.h
parenta43d81d54a95a6fd5359d4733b7e3c1e4f02bd6b (diff)
downloadATCD-b4a501994dd71bacf8c727a8a11e8c57a023e1fc.tar.gz
*** empty log message ***
Diffstat (limited to 'ace/SOCK_Connector.h')
-rw-r--r--ace/SOCK_Connector.h68
1 files changed, 66 insertions, 2 deletions
diff --git a/ace/SOCK_Connector.h b/ace/SOCK_Connector.h
index 57d52903f52..e6abeb6a0e9 100644
--- a/ace/SOCK_Connector.h
+++ b/ace/SOCK_Connector.h
@@ -61,8 +61,30 @@ public:
// the OS do the binding. If <reuse_addr> == 1 then the
// <local_addr> is reused, even if it hasn't been cleanedup yet.
- ~ACE_SOCK_Connector (void);
- // Default dtor.
+ ACE_SOCK_Connector (ACE_SOCK_Stream &new_stream,
+ const ACE_Addr &remote_sap,
+ ACE_Connect_QoS_Params qos_params,
+ 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_family = PF_INET,
+ int protocol = 0);
+ // 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 <qos_params> contains QoS parameters that are passed
+ // to RSVP. 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 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.
int connect (ACE_SOCK_Stream &new_stream,
const ACE_Addr &remote_sap,
@@ -87,6 +109,34 @@ public:
// the OS do the binding. If <reuse_addr> == 1 then the
// <local_addr> is reused, even if it hasn't been cleanedup yet.
+ int connect (ACE_SOCK_Stream &new_stream,
+ const ACE_Addr &remote_sap,
+ ACE_Connect_QoS_Params qos_params,
+ 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_family = PF_INET,
+ int protocol = 0);
+ // 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 <qos_params> contains QoS parameters that are passed
+ // to RSVP. 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 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.
+
+ ~ACE_SOCK_Connector (void);
+ // Default dtor.
+
// = Completion routine.
int complete (ACE_SOCK_Stream &new_stream,
ACE_Addr *remote_sap = 0,
@@ -108,6 +158,20 @@ public:
ACE_ALLOC_HOOK_DECLARE;
// Declare the dynamic allocation hooks.
+
+protected:
+ int shared_connect_start (ACE_SOCK_Stream &new_stream,
+ ACE_Time_Value *timeout,
+ const ACE_Addr &local_sap,
+ int reuse_addr,
+ int protocol_family,
+ int protocol);
+ // Perform operations that must be called before <ACE_OS::connect>.
+
+ int shared_connect_finish (ACE_SOCK_Stream &new_stream,
+ ACE_Time_Value *timeout,
+ int result);
+ // Perform operations that must be called after <ACE_OS::connect>.
};
#if !defined (ACE_LACKS_INLINE_FUNCTIONS)