diff --git a/Garlic.h b/Garlic.h index 585d4f27..45903f3f 100644 --- a/Garlic.h +++ b/Garlic.h @@ -113,6 +113,10 @@ namespace garlic i2p::crypto::CBCEncryption m_Encryption; std::unique_ptr m_ElGamalEncryption; + + public: + // for HTTP only + size_t GetNumOutgoingTags () const { return m_SessionTags.size (); }; }; class GarlicDestination: public i2p::data::LocalDestination @@ -163,6 +167,12 @@ namespace garlic uint32_t m_LastTagsCleanupTime; // DeliveryStatus std::map > m_CreatedSessions; // msgID -> session + + public: + + // for HTTP only + size_t GetNumIncomingTags () const { return m_Tags.size (); } + const decltype(m_Sessions)& GetSessions () const { return m_Sessions; }; }; } } diff --git a/HTTPServer.cpp b/HTTPServer.cpp index e4a75e1a..2fef6e66 100644 --- a/HTTPServer.cpp +++ b/HTTPServer.cpp @@ -534,6 +534,13 @@ namespace util s << "
\r\n" << std::endl; } } + s << "Tags
Incoming: " << dest->GetNumIncomingTags () << "
Outgoing:
" << std::endl; + for (auto it: dest->GetSessions ()) + { + s << i2p::client::context.GetAddressBook ().ToAddress(it.first) << " "; + s << it.second->GetNumOutgoingTags () << "
" << std::endl; + } + s << "
" << std::endl; // s << "
\r\nStreams:
\r\n"; // for (auto it: dest->GetStreamingDestination ()->GetStreams ()) // {