(bug 880) Schedule loopback receives with context
authorTom Henderson <tomh@tomh.org>
Fri, 16 Apr 2010 15:29:26 -0700
changeset 6230 7e8a5b802007
parent 6229 39392330340e
child 6231 6f5fdc2104d7
(bug 880) Schedule loopback receives with context
src/internet-stack/loopback-net-device.cc
--- a/src/internet-stack/loopback-net-device.cc	Fri Apr 16 15:18:04 2010 -0700
+++ b/src/internet-stack/loopback-net-device.cc	Fri Apr 16 15:29:26 2010 -0700
@@ -19,6 +19,7 @@
  */
 #include "loopback-net-device.h"
 #include "ns3/log.h"
+#include "ns3/simulator.h"
 #include "ns3/channel.h"
 #include "ns3/node.h"
 #include "ns3/packet.h"
@@ -178,7 +179,7 @@
   NS_LOG_FUNCTION (packet << " " << dest << " " << protocolNumber);
   Mac48Address to = Mac48Address::ConvertFrom (dest);
   NS_ASSERT_MSG (to == GetBroadcast () || to == m_address, "Invalid destination address");
-  Receive (packet, protocolNumber, to, m_address);
+  Simulator::ScheduleWithContext (m_node->GetId (), Seconds (0.0), &LoopbackNetDevice::Receive, this, packet, protocolNumber, to, m_address);
   return true;
 }
 
@@ -189,7 +190,7 @@
   Mac48Address to = Mac48Address::ConvertFrom (dest);
   Mac48Address from = Mac48Address::ConvertFrom (source);
   NS_ASSERT_MSG (to.IsBroadcast () || to == m_address, "Invalid destination address");
-  Receive (packet, protocolNumber, to, from);
+  Simulator::ScheduleWithContext (m_node->GetId (), Seconds (0.0), &LoopbackNetDevice::Receive, this, packet, protocolNumber, to, from);
   return true;
 }