diff options
author | schmidt <douglascraigschmidt@users.noreply.github.com> | 1999-06-14 02:17:02 +0000 |
---|---|---|
committer | schmidt <douglascraigschmidt@users.noreply.github.com> | 1999-06-14 02:17:02 +0000 |
commit | b4a501994dd71bacf8c727a8a11e8c57a023e1fc (patch) | |
tree | cd090e6574f0f1d2f35adc0dd6d719c5c0d9b90e /ace/SOCK_Connector.h | |
parent | a43d81d54a95a6fd5359d4733b7e3c1e4f02bd6b (diff) | |
download | ATCD-b4a501994dd71bacf8c727a8a11e8c57a023e1fc.tar.gz |
*** empty log message ***
Diffstat (limited to 'ace/SOCK_Connector.h')
-rw-r--r-- | ace/SOCK_Connector.h | 68 |
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) |