src/devices/mesh/dot11s/hwmp-protocol.cc
changeset 5015 e460e29f9f78
parent 5014 3bfccc1d8e01
child 5035 8ce48024f179
child 5045 cdb5a3f6f5fa
equal deleted inserted replaced
5014:3bfccc1d8e01 5015:e460e29f9f78
   937   return m_address;
   937   return m_address;
   938 }
   938 }
   939 //Statistics:
   939 //Statistics:
   940 void HwmpProtocol::Statistics::Print (std::ostream & os) const
   940 void HwmpProtocol::Statistics::Print (std::ostream & os) const
   941 {
   941 {
   942   os << "forwardedUnicast=\"" << forwardedUnicast << "\""
   942   os << "<Statistics "
   943     "forwardedBroadcast=\"" << forwardedBroadcast << "\""
   943     "forwardedUnicast=\"" << forwardedUnicast << "\" "
   944     "forwardedBytes=\"" << forwardedBytes / 1024 << "K\""
   944     "forwardedBroadcast=\"" << forwardedBroadcast << "\" "
   945     "totalQueued=\"" << totalQueued << "\""
   945     "forwardedBytes=\"" << forwardedBytes / 1024 << "K\" "
   946     "totalDropped=\"" << totalDropped << "\"\n";
   946     "totalQueued=\"" << totalQueued << "\" "
       
   947     "totalDropped=\"" << totalDropped << "\"/>\n";
   947 }
   948 }
   948 void
   949 void
   949 HwmpProtocol::Report (std::ostream & os) const
   950 HwmpProtocol::Report (std::ostream & os) const
   950 {
   951 {
   951   os << "<Hwmp>\n"
   952   os << "<Hwmp "
   952     "address=\"" << m_address << "\" "
   953     "address=\"" << m_address << "\"\n"
   953     "\n";
   954     "maxQueueSize=\"" << m_maxQueueSize << "\"\n"
       
   955     "dot11MeshHWMPmaxPREQretries=\"" << (uint16_t)m_dot11MeshHWMPmaxPREQretries << "\"\n"
       
   956     "dot11MeshHWMPnetDiameterTraversalTime=\"" << m_dot11MeshHWMPnetDiameterTraversalTime.GetMilliSeconds () << "ms\"\n"
       
   957     "dot11MeshHWMPpreqMinInterval=\"" << m_dot11MeshHWMPpreqMinInterval.GetMilliSeconds () << "ms\"\n"
       
   958     "dot11MeshHWMPperrMinInterval=\"" << m_dot11MeshHWMPperrMinInterval.GetMilliSeconds () << "ms\"\n"
       
   959     "dot11MeshHWMPactiveRootTimeout=\"" << m_dot11MeshHWMPactiveRootTimeout.GetMilliSeconds () << "ms\"\n"
       
   960     "dot11MeshHWMPactivePathTimeout=\"" << m_dot11MeshHWMPactivePathTimeout.GetMilliSeconds () << "ms\"\n"
       
   961     "dot11MeshHWMPpathToRootInterval=\"" << m_dot11MeshHWMPpathToRootInterval.GetMilliSeconds () << "ms\"\n"
       
   962     "dot11MeshHWMPrannInterval=\"" << m_dot11MeshHWMPrannInterval.GetMilliSeconds () << "ms\"\n"
       
   963     "isRoot=\"" << m_isRoot << "\"\n"
       
   964     "maxTtl=\"" << (uint16_t)m_maxTtl << "\"\n"
       
   965     "unicastPerrThreshold=\"" << (uint16_t)m_unicastPerrThreshold << "\"\n"
       
   966     "unicastPreqThreshold=\"" << (uint16_t)m_unicastPreqThreshold << "\"\n"
       
   967     "unicastDataThreshold=\"" << (uint16_t)m_unicastDataThreshold << "\"\n"
       
   968     "doFlag=\"" << m_doFlag << "\"\n"
       
   969     "rfFlag=\"" << m_rfFlag << "\">\n";
   954   m_stats.Print (os);
   970   m_stats.Print (os);
   955   for(HwmpPluginMap::const_iterator plugin = m_interfaces.begin (); plugin != m_interfaces.end (); plugin ++)
   971   for(HwmpPluginMap::const_iterator plugin = m_interfaces.begin (); plugin != m_interfaces.end (); plugin ++)
   956   {
   972   {
   957     plugin->second->Report(os);
   973     plugin->second->Report(os);
   958   }
   974   }
   960 }
   976 }
   961 void
   977 void
   962 HwmpProtocol::ResetStats ()
   978 HwmpProtocol::ResetStats ()
   963 {
   979 {
   964   m_stats = Statistics::Statistics ();
   980   m_stats = Statistics::Statistics ();
       
   981   for(HwmpPluginMap::const_iterator plugin = m_interfaces.begin (); plugin != m_interfaces.end (); plugin ++)
       
   982     plugin->second->ResetStats ();
   965 }
   983 }
   966 
   984 
   967 } //namespace dot11s
   985 } //namespace dot11s
   968 } //namespace ns3
   986 } //namespace ns3