21 #ifndef CCNX_RATE_L3_TRACER_H 
   22 #define CCNX_RATE_L3_TRACER_H 
   24 #include "ndn-l3-tracer.h" 
   26 #include "ns3/nstime.h" 
   27 #include "ns3/event-id.h" 
   28 #include <ns3/node-container.h> 
   30 #include <boost/tuple/tuple.hpp> 
   31 #include <boost/shared_ptr.hpp> 
   53   InstallAll (
const std::string &file, Time averagingPeriod = Seconds (0.5));
 
   63   Install (
const NodeContainer &nodes, 
const std::string &file, Time averagingPeriod = Seconds (0.5));
 
   73   Install (Ptr<Node> node, 
const std::string &file, Time averagingPeriod = Seconds (0.5));
 
   89   L3RateTracer (boost::shared_ptr<std::ostream> os, Ptr<Node> node);
 
   96   L3RateTracer (boost::shared_ptr<std::ostream> os, 
const std::string &node);
 
  113   static Ptr<L3RateTracer>
 
  114   Install (Ptr<Node> node, boost::shared_ptr<std::ostream> outputStream, Time averagingPeriod = Seconds (0.5));
 
  121   Print (std::ostream &os) 
const;
 
  126   OutInterests  (Ptr<const Interest>, Ptr<const Face>);
 
  129   InInterests   (Ptr<const Interest>, Ptr<const Face>);
 
  132   DropInterests (Ptr<const Interest>, Ptr<const Face>);
 
  135   OutNacks  (Ptr<const Interest>, Ptr<const Face>);
 
  138   InNacks   (Ptr<const Interest>, Ptr<const Face>);
 
  141   DropNacks (Ptr<const Interest>, Ptr<const Face>);
 
  144   OutData  (Ptr<const Data>, 
bool fromCache, Ptr<const Face>);
 
  147   InData   (Ptr<const Data>, Ptr<const Face>);
 
  150   DropData (Ptr<const Data>, Ptr<const Face>);
 
  153   SatisfiedInterests (Ptr<const pit::Entry>);
 
  156   TimedOutInterests (Ptr<const pit::Entry>);
 
  160   SetAveragingPeriod (
const Time &period);
 
  169   boost::shared_ptr<std::ostream> m_os;
 
  171   EventId m_printEvent;
 
  173   mutable std::map<Ptr<const Face>, boost::tuple<Stats, Stats, Stats, Stats> > m_stats;
 
  179 #endif // CCNX_RATE_L3_TRACER_H 
virtual void Print(std::ostream &os) const 
Print current trace data. 
 
virtual ~L3RateTracer()
Destructor. 
 
static void Destroy()
Explicit request to remove all statically created tracers. 
 
static void InstallAll(const std::string &file, Time averagingPeriod=Seconds(0.5))
Helper method to install tracers on all simulation nodes. 
 
static void Install(const NodeContainer &nodes, const std::string &file, Time averagingPeriod=Seconds(0.5))
Helper method to install tracers on the selected simulation nodes. 
 
L3RateTracer(boost::shared_ptr< std::ostream > os, Ptr< Node > node)
Trace constructor that attaches to the node using node pointer. 
 
Base class for network-layer (incoming/outgoing Interests and Data) tracing of NDN stack...
 
virtual void PrintHeader(std::ostream &os) const 
Print head of the trace (e.g., for post-processing) 
 
NDN network-layer rate tracer.