src/node/ipv4-end-point.cc
changeset 495 a839408950b9
parent 238 2f09fd9cf32e
--- a/src/node/ipv4-end-point.cc	Wed May 02 15:14:27 2007 +0200
+++ b/src/node/ipv4-end-point.cc	Wed May 02 19:14:34 2007 +0200
@@ -30,7 +30,12 @@
     m_peerPort (0)
 {}
 Ipv4EndPoint::~Ipv4EndPoint ()
-{}
+{
+  if (!m_destroyCallback.IsNull ())
+    {
+      m_destroyCallback ();
+    }
+}
 
 Ipv4Address 
 Ipv4EndPoint::GetLocalAddress (void)
@@ -59,5 +64,27 @@
   m_peerPort = port;
 }
 
+void 
+Ipv4EndPoint::SetRxCallback (Callback<void,const Packet &, Ipv4Address, uint16_t> callback)
+{
+  m_rxCallback = callback;
+}
+
+void 
+Ipv4EndPoint::SetDestroyCallback (Callback<void> callback)
+{
+  m_destroyCallback = callback;
+}
+
+void 
+Ipv4EndPoint::ForwardUp (const Packet &p, Ipv4Address saddr, uint16_t sport)
+{
+  if (!m_rxCallback.IsNull ())
+  {
+    m_rxCallback (p, saddr, sport);
+  }
+}
+
+
 
 }; // namespace ns3