From 3e4f0c836b8f9566ee7e503349403beec723f05a Mon Sep 17 00:00:00 2001 From: Tom Henderson Date: Fri, 16 Apr 2010 15:29:26 -0700 Subject: [PATCH] (bug 880) Schedule loopback receives with context --- src/internet-stack/loopback-net-device.cc | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/internet-stack/loopback-net-device.cc b/src/internet-stack/loopback-net-device.cc index f34540e87..9182e8144 100644 --- a/src/internet-stack/loopback-net-device.cc +++ b/src/internet-stack/loopback-net-device.cc @@ -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 @@ LoopbackNetDevice::Send (Ptr packet, const Address& dest, uint16_t proto 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 @@ LoopbackNetDevice::SendFrom(Ptr packet, const Address& source, const Add 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; }