diff --git a/HTTPServer.cpp b/HTTPServer.cpp index 2e50e0fd..7eeb47e7 100644 --- a/HTTPServer.cpp +++ b/HTTPServer.cpp @@ -751,6 +751,8 @@ namespace util void HTTPConnection::ShowTunnels (std::stringstream& s) { + s << "Queue size:" << i2p::tunnel::tunnels.GetQueueSize () << "
"; + for (auto it: i2p::tunnel::tunnels.GetOutboundTunnels ()) { it->GetTunnelConfig ()->Print (s); diff --git a/Queue.h b/Queue.h index 2749da6a..086d6d81 100644 --- a/Queue.h +++ b/Queue.h @@ -76,7 +76,13 @@ namespace util std::unique_lock l(m_QueueMutex); return m_Queue.empty (); } - + + int GetSize () + { + std::unique_lock l(m_QueueMutex); + return m_Queue.size (); + } + void WakeUp () { m_NonEmpty.notify_all (); }; Element * Get () diff --git a/Tunnel.h b/Tunnel.h index db29b52a..0db74277 100644 --- a/Tunnel.h +++ b/Tunnel.h @@ -181,6 +181,7 @@ namespace tunnel const decltype(m_OutboundTunnels)& GetOutboundTunnels () const { return m_OutboundTunnels; }; const decltype(m_InboundTunnels)& GetInboundTunnels () const { return m_InboundTunnels; }; const decltype(m_TransitTunnels)& GetTransitTunnels () const { return m_TransitTunnels; }; + int GetQueueSize () { return m_Queue.GetSize (); }; }; extern Tunnels tunnels;