model+utils: Enable SatisfiedInterests and TimedOutInterests trace sources in L3Protocol
This commit also fixes L3Tracers to re-enable use of SatisfiedInterests and
TimedOutInterests traces
Change-Id: Ib657a3fdba941d022a33d789e4d10c3547d232ff
Refs: #2349
diff --git a/model/ndn-l3-protocol.cpp b/model/ndn-l3-protocol.cpp
index 39ce2ca..dd9f4dc 100644
--- a/model/ndn-l3-protocol.cpp
+++ b/model/ndn-l3-protocol.cpp
@@ -77,7 +77,15 @@
////////////////////////////////////////////////////////////////////
.AddTraceSource("OutData", "OutData", MakeTraceSourceAccessor(&L3Protocol::m_outData))
- .AddTraceSource("InData", "InData", MakeTraceSourceAccessor(&L3Protocol::m_inData));
+ .AddTraceSource("InData", "InData", MakeTraceSourceAccessor(&L3Protocol::m_inData))
+
+ ////////////////////////////////////////////////////////////////////
+
+ .AddTraceSource("SatisfiedInterests", "SatisfiedInterests",
+ MakeTraceSourceAccessor(&L3Protocol::m_satisfiedInterests))
+ .AddTraceSource("TimedOutInterests", "TimedOutInterests",
+ MakeTraceSourceAccessor(&L3Protocol::m_timedOutInterests))
+ ;
return tid;
}
@@ -172,9 +180,9 @@
initializeManagement();
m_impl->m_forwarder->getFaceTable().addReserved(make_shared<nfd::NullFace>(), nfd::FACEID_NULL);
- m_impl->m_forwarder->getFaceTable().addReserved(make_shared<nfd::NullFace>(
- FaceUri("contentstore://")),
- nfd::FACEID_CONTENT_STORE);
+
+ m_impl->m_forwarder->beforeSatisfyInterest.connect(std::ref(m_satisfiedInterests));
+ m_impl->m_forwarder->beforeExpirePendingInterest.connect(std::ref(m_timedOutInterests));
}
class IgnoreSections
diff --git a/model/ndn-l3-protocol.hpp b/model/ndn-l3-protocol.hpp
index 79583c1..ffd3bc2 100644
--- a/model/ndn-l3-protocol.hpp
+++ b/model/ndn-l3-protocol.hpp
@@ -38,6 +38,9 @@
class FibManager;
class StrategyChoiceManager;
typedef boost::property_tree::ptree ConfigSection;
+namespace pit {
+class Entry;
+} // namespace pit
} // namespace nfd
namespace ns3 {
@@ -186,6 +189,9 @@
TracedCallback<const Data&, const Face&> m_outData; ///< @brief trace of outgoing Data
TracedCallback<const Data&, const Face&> m_inData; ///< @brief trace of incoming Data
+
+ TracedCallback<const nfd::pit::Entry&, const Face&/*in face*/, const Data&> m_satisfiedInterests;
+ TracedCallback<const nfd::pit::Entry&> m_timedOutInterests;
};
} // namespace ndn