21 #include "ns3/flow-probe.h" 
   22 #include "ns3/flow-monitor.h" 
   31     .SetGroupName (
"FlowMonitor")
 
   44   : m_flowMonitor (flowMonitor)
 
   88   #define INDENT(level) for (int __xpto = 0; __xpto < level; __xpto++) os << ' '; 
   90   INDENT (indent); os << 
"<FlowProbe index=\"" << index << 
"\">\n";
 
   94   for (Stats::const_iterator iter = 
m_stats.begin (); iter != 
m_stats.end (); iter++)
 
   98          << 
" flowId=\"" << iter->first << 
"\"" 
   99          << 
" packets=\"" << iter->second.packets << 
"\"" 
  100          << 
" bytes=\"" << iter->second.bytes << 
"\"" 
  101          << 
" delayFromFirstProbeSum=\"" << iter->second.delayFromFirstProbeSum << 
"\"" 
  104       for (uint32_t reasonCode = 0; reasonCode < iter->second.packetsDropped.size (); reasonCode++)
 
  107           os << 
"<packetsDropped reasonCode=\"" << reasonCode << 
"\"" 
  108              << 
" number=\"" << iter->second.packetsDropped[reasonCode]
 
  111       for (uint32_t reasonCode = 0; reasonCode < iter->second.bytesDropped.size (); reasonCode++)
 
  114           os << 
"<bytesDropped reasonCode=\"" << reasonCode << 
"\"" 
  115              << 
" bytes=\"" << iter->second.bytesDropped[reasonCode]
 
  119       INDENT (indent); os << 
"</FlowStats>\n";
 
  122   INDENT (indent); os << 
"</FlowProbe>\n";
 
Simulation virtual time values and global simulation resolution. 
Smart pointer class similar to boost::intrusive_ptr. 
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 
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, int 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. 
Stats GetStats() const 
Get the partial flow statistics stored in this probe. 
static const uint32_t packetSize
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.