21 #include "ns3/flow-probe.h"    22 #include "ns3/flow-monitor.h"    31     .SetGroupName (
"FlowMonitor")
    44   : m_flowMonitor (flowMonitor)
    88   os << std::string ( 
indent, 
' ' ) << 
"<FlowProbe index=\"" << index << 
"\">\n";
    92   for (Stats::const_iterator iter = 
m_stats.begin (); iter != 
m_stats.end (); iter++)
    94       os << std::string ( 
indent, 
' ' );
    96          << 
" flowId=\"" << iter->first << 
"\""    97          << 
" packets=\"" << iter->second.packets << 
"\""    98          << 
" bytes=\"" << iter->second.bytes << 
"\""    99          << 
" delayFromFirstProbeSum=\"" << iter->second.delayFromFirstProbeSum << 
"\""   102       for (uint32_t reasonCode = 0; reasonCode < iter->second.packetsDropped.size (); reasonCode++)
   104           os << std::string ( 
indent, 
' ' );
   105           os << 
"<packetsDropped reasonCode=\"" << reasonCode << 
"\""   106              << 
" number=\"" << iter->second.packetsDropped[reasonCode]
   109       for (uint32_t reasonCode = 0; reasonCode < iter->second.bytesDropped.size (); reasonCode++)
   111           os << std::string ( 
indent, 
' ' );
   112           os << 
"<bytesDropped reasonCode=\"" << reasonCode << 
"\""   113              << 
" bytes=\"" << iter->second.bytesDropped[reasonCode]
   117       os << std::string ( 
indent, 
' ' ) << 
"</FlowStats>\n";
   120   os << std::string ( 
indent, 
' ' ) << 
"</FlowProbe>\n";
 Simulation virtual time values and global simulation resolution. 
 
Smart pointer class similar to boost::intrusive_ptr. 
 
static const uint32_t packetSize
 
static TypeId GetTypeId(void)
Register this type. 
 
std::vector< uint64_t > bytesDropped
bytesDropped[reasonCode] => number of dropped bytes 
 
virtual void DoDispose(void)
Destructor implementation. 
 
void AddPacketStats(FlowId flowId, uint32_t packetSize, Time delayFromFirstProbe)
Add a packet data to the flow stats. 
 
Ptr< FlowMonitor > m_flowMonitor
the FlowMonitor instance 
 
uint32_t packets
Number of packets seen of this flow. 
 
uint64_t bytes
Number of bytes seen of this flow. 
 
def indent(source, debug, level)
 
std::vector< uint32_t > packetsDropped
packetsDropped[reasonCode] => number of dropped packets 
 
Stats GetStats() const
Get the partial flow statistics stored in this probe. 
 
Structure to hold the statistics of a flow. 
 
Every class exported by the ns3 library is enclosed in the ns3 namespace. 
 
void AddPacketDropStats(FlowId flowId, uint32_t packetSize, uint32_t reasonCode)
Add a packet drop data to the flow stats. 
 
Time delayFromFirstProbeSum
divide by 'packets' to get the average delay from the first (entry) probe up to this one (partial del...
 
void SerializeToXmlStream(std::ostream &os, uint16_t indent, uint32_t index) const
Serializes the results to an std::ostream in XML format. 
 
std::map< FlowId, FlowStats > Stats
Container to map FlowId -> FlowStats. 
 
A base class which provides memory management and object aggregation. 
 
FlowProbe(FlowProbe const &)
Defined and not implemented to avoid misuse. 
 
a unique identifier for an interface. 
 
TypeId SetParent(TypeId tid)
Set the parent TypeId. 
 
virtual void DoDispose(void)
Destructor implementation. 
 
Stats m_stats
The flow stats. 
 
uint32_t FlowId
Abstract identifier of a packet flow.