--- 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