model: First set of major API changes and reorganizations
Main motive: change interface in Face class, resulting in need to change forwarding strategy interfaces
Refs #1005 (http://redmine.named-data.net/)
diff --git a/model/fw/ndn-forwarding-strategy.cc b/model/fw/ndn-forwarding-strategy.cc
index 9d72e74..1d6bcda 100644
--- a/model/fw/ndn-forwarding-strategy.cc
+++ b/model/fw/ndn-forwarding-strategy.cc
@@ -144,7 +144,7 @@
void
ForwardingStrategy::OnInterest (Ptr<Face> inFace,
Ptr<const Interest> header,
- Ptr<const Packet> origPacket)
+ Ptr<const Packet> payload)
{
m_inInterests (header, inFace);
@@ -227,10 +227,9 @@
void
ForwardingStrategy::OnData (Ptr<Face> inFace,
Ptr<const ContentObject> header,
- Ptr<Packet> payload,
- Ptr<const Packet> origPacket)
+ Ptr<Packet> payload)
{
- NS_LOG_FUNCTION (inFace << header->GetName () << payload << origPacket);
+ NS_LOG_FUNCTION (inFace << header->GetName () << payload);
m_inData (header, payload, inFace);
// Lookup PIT entry
@@ -258,7 +257,7 @@
m_dropData (header, payload, inFace);
}
- DidReceiveUnsolicitedData (inFace, header, payload, origPacket, cached);
+ DidReceiveUnsolicitedData (inFace, header, payload, cached);
return;
}
else
@@ -280,7 +279,7 @@
cached = m_contentStore->Add (header, payload); // no need for extra copy
}
- DidReceiveSolicitedData (inFace, header, payload, origPacket, cached);
+ DidReceiveSolicitedData (inFace, header, payload, cached);
}
while (pitEntry != 0)
@@ -289,7 +288,7 @@
WillSatisfyPendingInterest (inFace, pitEntry);
// Actually satisfy pending interest
- SatisfyPendingInterest (inFace, header, payload, origPacket, pitEntry);
+ SatisfyPendingInterest (inFace, header, payload, pitEntry);
// Lookup another PIT entry
pitEntry = m_pit->Lookup (*header);
@@ -299,7 +298,7 @@
void
ForwardingStrategy::DidCreatePitEntry (Ptr<Face> inFace,
Ptr<const Interest> header,
- Ptr<const Packet> origPacket,
+ Ptr<const Packet> payload,
Ptr<pit::Entry> pitEntrypitEntry)
{
}
@@ -307,7 +306,7 @@
void
ForwardingStrategy::FailedToCreatePitEntry (Ptr<Face> inFace,
Ptr<const Interest> header,
- Ptr<const Packet> origPacket)
+ Ptr<const Packet> payload)
{
m_dropInterests (header, inFace);
}
@@ -315,7 +314,7 @@
void
ForwardingStrategy::DidReceiveDuplicateInterest (Ptr<Face> inFace,
Ptr<const Interest> header,
- Ptr<const Packet> origPacket,
+ Ptr<const Packet> payload,
Ptr<pit::Entry> pitEntry)
{
/////////////////////////////////////////////////////////////////////////////////////////
@@ -330,7 +329,7 @@
void
ForwardingStrategy::DidSuppressSimilarInterest (Ptr<Face> face,
Ptr<const Interest> header,
- Ptr<const Packet> origPacket,
+ Ptr<const Packet> payload,
Ptr<pit::Entry> pitEntry)
{
}
@@ -338,7 +337,7 @@
void
ForwardingStrategy::DidForwardSimilarInterest (Ptr<Face> inFace,
Ptr<const Interest> header,
- Ptr<const Packet> origPacket,
+ Ptr<const Packet> payload,
Ptr<pit::Entry> pitEntry)
{
}
@@ -346,7 +345,7 @@
void
ForwardingStrategy::DidExhaustForwardingOptions (Ptr<Face> inFace,
Ptr<const Interest> header,
- Ptr<const Packet> origPacket,
+ Ptr<const Packet> payload,
Ptr<pit::Entry> pitEntry)
{
NS_LOG_FUNCTION (this << boost::cref (*inFace));
@@ -370,7 +369,7 @@
bool
ForwardingStrategy::DetectRetransmittedInterest (Ptr<Face> inFace,
Ptr<const Interest> header,
- Ptr<const Packet> packet,
+ Ptr<const Packet> payload,
Ptr<pit::Entry> pitEntry)
{
pit::Entry::in_iterator existingInFace = pitEntry->GetIncoming ().find (inFace);
@@ -390,7 +389,6 @@
ForwardingStrategy::SatisfyPendingInterest (Ptr<Face> inFace,
Ptr<const ContentObject> header,
Ptr<const Packet> payload,
- Ptr<const Packet> origPacket,
Ptr<pit::Entry> pitEntry)
{
if (inFace != 0)
@@ -399,7 +397,7 @@
//satisfy all pending incoming Interests
BOOST_FOREACH (const pit::IncomingFace &incoming, pitEntry->GetIncoming ())
{
- bool ok = incoming.m_face->Send (origPacket->Copy ());
+ bool ok = incoming.m_face->SendData (header, payload);
DidSendOutData (inFace, incoming.m_face, header, payload, origPacket, pitEntry);
NS_LOG_DEBUG ("Satisfy " << *incoming.m_face);
@@ -425,7 +423,6 @@
ForwardingStrategy::DidReceiveSolicitedData (Ptr<Face> inFace,
Ptr<const ContentObject> header,
Ptr<const Packet> payload,
- Ptr<const Packet> origPacket,
bool didCreateCacheEntry)
{
// do nothing
@@ -435,7 +432,6 @@
ForwardingStrategy::DidReceiveUnsolicitedData (Ptr<Face> inFace,
Ptr<const ContentObject> header,
Ptr<const Packet> payload,
- Ptr<const Packet> origPacket,
bool didCreateCacheEntry)
{
// do nothing
@@ -459,7 +455,7 @@
bool
ForwardingStrategy::ShouldSuppressIncomingInterest (Ptr<Face> inFace,
Ptr<const Interest> header,
- Ptr<const Packet> origPacket,
+ Ptr<const Packet> payload,
Ptr<pit::Entry> pitEntry)
{
bool isNew = pitEntry->GetIncoming ().size () == 0 && pitEntry->GetOutgoing ().size () == 0;
@@ -494,7 +490,7 @@
void
ForwardingStrategy::PropagateInterest (Ptr<Face> inFace,
Ptr<const Interest> header,
- Ptr<const Packet> origPacket,
+ Ptr<const Packet> payload,
Ptr<pit::Entry> pitEntry)
{
bool isRetransmitted = m_detectRetransmissions && // a small guard
@@ -504,7 +500,7 @@
/// @todo Make lifetime per incoming interface
pitEntry->UpdateLifetime (header->GetInterestLifetime ());
- bool propagated = DoPropagateInterest (inFace, header, origPacket, pitEntry);
+ bool propagated = DoPropagateInterest (inFace, header, payload, origPacket, pitEntry);
if (!propagated && isRetransmitted) //give another chance if retransmitted
{
@@ -512,7 +508,7 @@
pitEntry->IncreaseAllowedRetxCount ();
// try again
- propagated = DoPropagateInterest (inFace, header, origPacket, pitEntry);
+ propagated = DoPropagateInterest (inFace, header, payload, origPacket, pitEntry);
}
// if (!propagated)
@@ -527,7 +523,7 @@
// ForwardingStrategy failed to find it.
if (!propagated && pitEntry->AreAllOutgoingInVain ())
{
- DidExhaustForwardingOptions (inFace, header, origPacket, pitEntry);
+ DidExhaustForwardingOptions (inFace, header, payload, origPacket, pitEntry);
}
}
@@ -535,7 +531,7 @@
ForwardingStrategy::CanSendOutInterest (Ptr<Face> inFace,
Ptr<Face> outFace,
Ptr<const Interest> header,
- Ptr<const Packet> origPacket,
+ Ptr<const Packet> payload,
Ptr<pit::Entry> pitEntry)
{
if (outFace == inFace)
@@ -566,10 +562,10 @@
ForwardingStrategy::TrySendOutInterest (Ptr<Face> inFace,
Ptr<Face> outFace,
Ptr<const Interest> header,
- Ptr<const Packet> origPacket,
+ Ptr<const Packet> payload,
Ptr<pit::Entry> pitEntry)
{
- if (!CanSendOutInterest (inFace, outFace, header, origPacket, pitEntry))
+ if (!CanSendOutInterest (inFace, outFace, header, payload, pitEntry))
{
return false;
}
@@ -577,14 +573,13 @@
pitEntry->AddOutgoing (outFace);
//transmission
- Ptr<Packet> packetToSend = origPacket->Copy ();
- bool successSend = outFace->Send (packetToSend);
+ bool successSend = outFace->SendInterest (header, payload);
if (!successSend)
{
m_dropInterests (header, outFace);
}
- DidSendOutInterest (inFace, outFace, header, origPacket, pitEntry);
+ DidSendOutInterest (inFace, outFace, header, payload, pitEntry);
return true;
}
@@ -593,7 +588,7 @@
ForwardingStrategy::DidSendOutInterest (Ptr<Face> inFace,
Ptr<Face> outFace,
Ptr<const Interest> header,
- Ptr<const Packet> origPacket,
+ Ptr<const Packet> payload,
Ptr<pit::Entry> pitEntry)
{
m_outInterests (header, outFace);
@@ -604,7 +599,6 @@
Ptr<Face> outFace,
Ptr<const ContentObject> header,
Ptr<const Packet> payload,
- Ptr<const Packet> origPacket,
Ptr<pit::Entry> pitEntry)
{
m_outData (header, payload, inFace == 0, outFace);