21 #ifndef NDN_L3_TRACER_H
22 #define NDN_L3_TRACER_H
25 #include "ns3/simple-ref-count.h"
52 class L3Tracer :
public SimpleRefCount<L3Tracer>
86 Print (std::ostream &os)
const = 0;
93 OutInterests (Ptr<const Interest>, Ptr<const Face>) = 0;
96 InInterests (Ptr<const Interest>, Ptr<const Face>) = 0;
99 DropInterests (Ptr<const Interest>, Ptr<const Face>) = 0;
102 OutNacks (Ptr<const Interest>, Ptr<const Face>) = 0;
105 InNacks (Ptr<const Interest>, Ptr<const Face>) = 0;
108 DropNacks (Ptr<const Interest>, Ptr<const Face>) = 0;
112 OutData (Ptr<const Data>,
bool fromCache, Ptr<const Face>) = 0;
115 InData (Ptr<const Data>, Ptr<const Face>) = 0;
118 DropData (Ptr<const Data>, Ptr<const Face>) = 0;
121 SatisfiedInterests (Ptr<const pit::Entry>) = 0;
124 TimedOutInterests (Ptr<const pit::Entry>) = 0;
143 m_satisfiedInterests = 0;
144 m_timedOutInterests = 0;
146 m_outSatisfiedInterests = 0;
147 m_outTimedOutInterests = 0;
150 double m_inInterests;
151 double m_outInterests;
152 double m_dropInterests;
159 double m_satisfiedInterests;
160 double m_timedOutInterests;
161 double m_outSatisfiedInterests;
162 double m_outTimedOutInterests;
170 operator << (std::ostream &os,
const L3Tracer &tracer)
182 #endif // NDN_L3_TRACER_H
virtual void PrintHeader(std::ostream &os) const =0
Print head of the trace (e.g., for post-processing)
Base class for network-layer (incoming/outgoing Interests and Data) tracing of NDN stack...
L3Tracer(Ptr< Node > node)
Trace constructor that attaches to the node using node pointer.
virtual ~L3Tracer()
Destructor.
virtual void Print(std::ostream &os) const =0
Print current trace data.