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 } |