wsd/DocumentBroker.cpp | 14 +++++++++++++- wsd/ProxyProtocol.cpp | 2 +- wsd/ProxyProtocol.hpp | 5 ++++- 3 files changed, 18 insertions(+), 3 deletions(-)
New commits: commit 36a4b5ad05c527fa38baf85e4f8bd65ed8d11e2f Author: Michael Meeks <michael.me...@collabora.com> AuthorDate: Wed Jun 3 17:14:03 2020 +0100 Commit: Michael Meeks <michael.me...@collabora.com> CommitDate: Thu Jun 4 15:49:46 2020 +0200 Proxy: dump ProxyProtocolHandler state separately Somewhat inelegant - nasty extra header & dynamic cast. Change-Id: Id18b2f7831ece3b971290e799c5df182429aa2a0 Reviewed-on: https://gerrit.libreoffice.org/c/online/+/95448 Tested-by: Jenkins Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoff...@gmail.com> Reviewed-by: Michael Meeks <michael.me...@collabora.com> diff --git a/wsd/DocumentBroker.cpp b/wsd/DocumentBroker.cpp index d13a5d1a3..55e921295 100644 --- a/wsd/DocumentBroker.cpp +++ b/wsd/DocumentBroker.cpp @@ -32,6 +32,7 @@ #include "SenderQueue.hpp" #include "Storage.hpp" #include "TileCache.hpp" +#include "ProxyProtocol.hpp" #include <common/Log.hpp> #include <common/Message.hpp> #include <common/Clipboard.hpp> @@ -216,7 +217,7 @@ void DocumentBroker::setupPriorities() int prio = LOOLWSD::getConfigValue<int>("per_document.batch_priority", 5); Util::setProcessAndThreadPriorities(_childProcess->getPid(), prio); } -#endif // !MOBILE +#endif } void DocumentBroker::startThread() @@ -2420,6 +2421,17 @@ void DocumentBroker::dumpState(std::ostream& os) _tileCache->dumpState(os); _poll->dumpState(os); + +#if !MOBILEAPP + // Bit nasty - need a cleaner way to dump state. + for (auto &it : _sessions) + { + auto proto = it.second->getProtocol(); + auto proxy = dynamic_cast<ProxyProtocolHandler *>(proto.get()); + if (proxy) + proxy->dumpProxyState(os); + } +#endif } /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/wsd/ProxyProtocol.cpp b/wsd/ProxyProtocol.cpp index 4b6950a10..8e7b8a631 100644 --- a/wsd/ProxyProtocol.cpp +++ b/wsd/ProxyProtocol.cpp @@ -277,7 +277,7 @@ void ProxyProtocolHandler::getIOStats(uint64_t &sent, uint64_t &recv) sent = recv = 0; } -void ProxyProtocolHandler::dumpState(std::ostream& os) +void ProxyProtocolHandler::dumpProxyState(std::ostream& os) { os << "proxy protocol sockets: " << _outSockets.size() << " writeQueue: " << _writeQueue.size() << ":\n"; os << '\t'; diff --git a/wsd/ProxyProtocol.hpp b/wsd/ProxyProtocol.hpp index 7a342912b..d20377b30 100644 --- a/wsd/ProxyProtocol.hpp +++ b/wsd/ProxyProtocol.hpp @@ -57,7 +57,10 @@ public: int sendBinaryMessage(const char *data, const size_t len, bool flush = false) const override; void shutdown(bool goingAway = false, const std::string &statusMessage = "") override; void getIOStats(uint64_t &sent, uint64_t &recv) override; - void dumpState(std::ostream& os) override; + // don't duplicate ourselves for every socket + void dumpState(std::ostream&) override {} + // instead do it centrally. + void dumpProxyState(std::ostream& os); bool parseEmitIncoming(const std::shared_ptr<StreamSocket> &socket); void handleRequest(bool isWaiting, const std::shared_ptr<Socket> &socket); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits