# HG changeset patch # User Tom Henderson # Date 1271456966 25200 # Node ID 7e8a5b8020079340058ddb7983a2089ecd4f6906 # Parent 39392330340ebc388c03e202cacfb123d432b13c (bug 880) Schedule loopback receives with context diff -r 39392330340e -r 7e8a5b802007 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; }