Checkpoint. Some changes in forwarding strategy API
Removing WillSendOutInterest and adding TrySendOutInterests, which
should be fully defined in child classes (or fully used from parent, but
not combined).
diff --git a/model/fw/per-fib-limits.h b/model/fw/per-fib-limits.h
index ddd23f3..3f23992 100644
--- a/model/fw/per-fib-limits.h
+++ b/model/fw/per-fib-limits.h
@@ -25,6 +25,7 @@
#include "ns3/event-id.h"
#include "fw-stats.h"
+#include "../../utils/ndn-pit-queue.h"
namespace ns3 {
namespace ndn {
@@ -52,29 +53,32 @@
virtual void
WillEraseTimedOutPendingInterest (Ptr<pit::Entry> pitEntry);
+ virtual void
+ RemoveFace (Ptr<Face> face);
+
protected:
virtual bool
- WillSendOutInterest (Ptr<Face> outFace,
- Ptr<const InterestHeader> header,
- Ptr<pit::Entry> pitEntry);
+ TrySendOutInterest (Ptr<Face> inFace,
+ Ptr<Face> outFace,
+ Ptr<const InterestHeader> header,
+ Ptr<const Packet> origPacket,
+ Ptr<pit::Entry> pitEntry);
virtual void
WillSatisfyPendingInterest (Ptr<Face> inFace,
Ptr<pit::Entry> pitEntry);
+private:
+ void
+ ProcessFromQueue ();
+
// from Object
void
DoDispose ();
-
+
private:
- void
- DecayLimits ();
-
-private:
- EventId m_decayLimitsEvent;
-
- double m_threshold;
- double m_graceAcceptProbability;
+ typedef std::map< Ptr<Face>, PitQueue > PitQueueMap;
+ PitQueueMap m_pitQueues; // per-outgoing face pit queue
};