|
|
|
@ -300,12 +300,16 @@ namespace http {
@@ -300,12 +300,16 @@ namespace http {
|
|
|
|
|
s << "<b>Inbound tunnels:</b><br>\r\n"; |
|
|
|
|
for (auto & it : pool->GetInboundTunnels ()) { |
|
|
|
|
it->Print(s); |
|
|
|
|
if(it->LatencyIsKnown()) |
|
|
|
|
s << " ( " << it->GetMeanLatency() << "ms )"; |
|
|
|
|
ShowTunnelDetails(s, it->GetState (), it->GetNumReceivedBytes ()); |
|
|
|
|
} |
|
|
|
|
s << "<br>\r\n"; |
|
|
|
|
s << "<b>Outbound tunnels:</b><br>\r\n"; |
|
|
|
|
for (auto & it : pool->GetOutboundTunnels ()) { |
|
|
|
|
it->Print(s); |
|
|
|
|
if(it->LatencyIsKnown()) |
|
|
|
|
s << " ( " << it->GetMeanLatency() << "ms )"; |
|
|
|
|
ShowTunnelDetails(s, it->GetState (), it->GetNumSentBytes ()); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
@ -401,12 +405,16 @@ namespace http {
@@ -401,12 +405,16 @@ namespace http {
|
|
|
|
|
s << "<b>Inbound tunnels:</b><br>\r\n"; |
|
|
|
|
for (auto & it : i2p::tunnel::tunnels.GetInboundTunnels ()) { |
|
|
|
|
it->Print(s); |
|
|
|
|
if(it->LatencyIsKnown()) |
|
|
|
|
s << " ( " << it->GetMeanLatency() << "ms )"; |
|
|
|
|
ShowTunnelDetails(s, it->GetState (), it->GetNumReceivedBytes ()); |
|
|
|
|
} |
|
|
|
|
s << "<br>\r\n"; |
|
|
|
|
s << "<b>Outbound tunnels:</b><br>\r\n"; |
|
|
|
|
for (auto & it : i2p::tunnel::tunnels.GetOutboundTunnels ()) { |
|
|
|
|
it->Print(s); |
|
|
|
|
if(it->LatencyIsKnown()) |
|
|
|
|
s << " ( " << it->GetMeanLatency() << "ms )"; |
|
|
|
|
ShowTunnelDetails(s, it->GetState (), it->GetNumSentBytes ()); |
|
|
|
|
} |
|
|
|
|
s << "<br>\r\n"; |
|
|
|
|