summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjoeh <joeh@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1999-10-01 13:22:40 +0000
committerjoeh <joeh@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1999-10-01 13:22:40 +0000
commit6800181aff712113fefb5ae5086d86b599c630c9 (patch)
tree253e62a955e34eb9ceabf3511a41c486f8be9273
parent94ae2669669f2610a7c051d4b149c6899903825b (diff)
downloadATCD-6800181aff712113fefb5ae5086d86b599c630c9.tar.gz
Adding add_leaf functionality
-rw-r--r--ace/ATM_Connector.h14
-rw-r--r--ace/ATM_Connector.i22
2 files changed, 36 insertions, 0 deletions
diff --git a/ace/ATM_Connector.h b/ace/ATM_Connector.h
index 62739b9cde5..b67b1bde63f 100644
--- a/ace/ATM_Connector.h
+++ b/ace/ATM_Connector.h
@@ -109,6 +109,20 @@ public:
// the connected ACE_SOCK_Stream. If <remote_sap> is non-NULL then it
// will contain the address of the connected peer.
+ int add_leaf (ACE_ATM_Stream &current_stream,
+ const ACE_Addr &remote_sap,
+ ACE_INT32 leaf_id,
+ ACE_Time_Value *timeout = 0);
+ // Actively add a leaf to the currently connected stream (i.e.,
+ // multicast). The <remote_sap> is the address of the leaf that we
+ // are trying to add. 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>.
+
int reset_new_handle (ACE_HANDLE handle);
// Resets any event associations on this handle
diff --git a/ace/ATM_Connector.i b/ace/ATM_Connector.i
index a77b2ea0989..54718b9b822 100644
--- a/ace/ATM_Connector.i
+++ b/ace/ATM_Connector.i
@@ -107,6 +107,28 @@ ACE_ATM_Connector::complete (ACE_ATM_Stream &new_stream,
ACE_INLINE
int
+ACE_ATM_Connector::add_leaf (ACE_ATM_Stream &current_stream,
+ const ACE_Addr &remote_sap,
+ ACE_INT32 leaf_id,
+ ACE_Time_Value *timeout)
+{
+ ACE_TRACE ("ACE_ATM_Connector::add_leaf");
+#if defined (ACE_HAS_FORE_ATM_XTI)
+ return connector_.add_leaf(current_stream.get_stream(),
+ remote_sap,
+ leaf_id,
+ timeout);
+#elif defined (ACE_HAS_FORE_ATM_WS2)
+#else
+ ACE_UNUSED_ARG(new_stream);
+ ACE_UNUSED_ARG(remote_sap);
+ ACE_UNUSED_ARG(tv);
+ return 0;
+#endif
+}
+
+ACE_INLINE
+int
ACE_ATM_Connector::reset_new_handle (ACE_HANDLE handle)
{
#if defined (ACE_HAS_WINSOCK2) && (ACE_HAS_WINSOCK2 != 0)