src/node/socket.cc
changeset 2999 0b10920623bf
parent 2983 e3a416fe9dd5
child 3000 bd2d3e32ef7b
--- a/src/node/socket.cc	Tue Apr 22 22:08:53 2008 -0700
+++ b/src/node/socket.cc	Tue Apr 22 22:29:16 2008 -0700
@@ -64,11 +64,19 @@
   m_closeRequested = closeRequested;
 }
 
-void 
-Socket::SetSendCallback (Callback<void, Ptr<Socket>, uint32_t> dataSent)
+bool 
+Socket::SetDataSentCallback (Callback<void, Ptr<Socket>, uint32_t> dataSent)
 {
   NS_LOG_FUNCTION_NOARGS ();
   m_dataSent = dataSent;
+  return true;
+}
+
+void
+Socket::SetSendCallback (Callback<void, Ptr<Socket>, uint32_t> sendCb)
+{
+  NS_LOG_FUNCTION_NOARGS ();
+  m_sendCb = sendCb;
 }
 
 void 
@@ -203,6 +211,16 @@
 }
 
 void 
+Socket::NotifySend (uint32_t spaceAvailable)
+{
+  NS_LOG_FUNCTION_NOARGS ();
+  if (!m_sendCb.IsNull ())
+    {
+      m_sendCb (this, spaceAvailable);
+    }
+}
+
+void 
 Socket::NotifyDataReceived (Ptr<Packet> p, const Address &from)
 {
   NS_LOG_FUNCTION_NOARGS ();