21 #ifndef FLOW_MONITOR_H 
   22 #define FLOW_MONITOR_H 
   28 #include "ns3/object.h" 
   29 #include "ns3/flow-probe.h" 
   30 #include "ns3/flow-classifier.h" 
   31 #include "ns3/histogram.h" 
   32 #include "ns3/nstime.h" 
   33 #include "ns3/event-id.h" 
  166                    uint32_t packetSize, uint32_t reasonCode);
 
  202   void SerializeToXmlFile (std::string fileName, 
bool enableHistograms, 
bool enableProbes);
 
keep track of time values and allow control of global simulation resolution 
 
smart pointer class similar to boost::intrusive_ptr 
 
void CheckForLostPackets()
Check right now for packets that appear to be lost. 
 
void StartRightNow()
Begin monitoring flows right now 
 
uint32_t rxPackets
Total number of received packets for the flow. 
 
uint32_t txPackets
Total number of transmitted packets for the flow. 
 
static TypeId GetTypeId()
 
void ReportDrop(Ptr< FlowProbe > probe, FlowId flowId, FlowPacketId packetId, uint32_t packetSize, uint32_t reasonCode)
 
std::vector< uint64_t > bytesDropped
 
std::map< FlowId, FlowStats > m_flowStats
 
Time m_flowInterruptionsMinTime
 
void ReportFirstTx(Ptr< FlowProbe > probe, FlowId flowId, FlowPacketId packetId, uint32_t packetSize)
 
void SetFlowClassifier(Ptr< FlowClassifier > classifier)
Set the FlowClassifier to be used by the flow monitor. 
 
TrackedPacketMap m_trackedPackets
 
std::map< FlowId, FlowStats > GetFlowStats() const 
 
void SerializeToXmlStream(std::ostream &os, int indent, bool enableHistograms, bool enableProbes)
 
std::map< std::pair< FlowId, FlowPacketId >, TrackedPacket > TrackedPacketMap
 
std::string SerializeToXmlString(int indent, bool enableHistograms, bool enableProbes)
 
double m_packetSizeBinWidth
 
FlowStats & GetStatsForFlow(FlowId flowId)
 
virtual void NotifyConstructionCompleted()
 
void Stop(const Time &time)
Set the time, counting from the current time, from which to stop monitoring flows. 
 
std::vector< Ptr< FlowProbe > > m_flowProbes
 
void StopRightNow()
End monitoring flows right now 
 
an identifier for simulation events. 
 
Histogram delayHistogram
Histogram of the packet delays. 
 
void SerializeToXmlFile(std::string fileName, bool enableHistograms, bool enableProbes)
 
std::vector< Ptr< FlowProbe > > GetAllProbes() const 
Get a list of all FlowProbe's associated with this FlowMonitor. 
 
Ptr< FlowClassifier > m_classifier
 
virtual void DoDispose(void)
 
Histogram flowInterruptionsHistogram
 
uint64_t txBytes
Total number of transmitted bytes for the flow. 
 
Structure that represents the measured metrics of an individual packet flow. 
 
double m_flowInterruptionsBinWidth
 
Histogram jitterHistogram
Histogram of the packet jitters. 
 
a base class which provides memory management and object aggregation 
 
void Start(const Time &time)
Set the time, counting from the current time, from which to start monitoring flows. 
 
void ReportForwarding(Ptr< FlowProbe > probe, FlowId flowId, FlowPacketId packetId, uint32_t packetSize)
 
uint64_t rxBytes
Total number of received bytes for the flow. 
 
void PeriodicCheckForLostPackets()
 
An object that monitors and reports back packet flows observed during a simulation. 
 
void AddProbe(Ptr< FlowProbe > probe)
 
a unique identifier for an interface. 
 
void ReportLastRx(Ptr< FlowProbe > probe, FlowId flowId, FlowPacketId packetId, uint32_t packetSize)
 
Histogram packetSizeHistogram
Histogram of the packet sizes. 
 
TypeId GetInstanceTypeId() const 
 
std::vector< uint32_t > packetsDropped