wsd/DocumentBroker.cpp | 16 ++++++++++++++++ wsd/DocumentBroker.hpp | 8 ++++---- wsd/LOOLWSD.cpp | 5 +++-- 3 files changed, 23 insertions(+), 6 deletions(-)
New commits: commit afb65abb6290bf94f075b43b407fb8828699d0ac Author: Michael Meeks <[email protected]> AuthorDate: Tue Mar 12 15:41:54 2019 +0100 Commit: Andras Timar <[email protected]> CommitDate: Thu Jun 13 10:04:04 2019 +0200 Don't count convert-to connections vs. the document count. Change-Id: I350905fb98c503ae8f22a377e4af5cbcb9f3c52d Reviewed-on: https://gerrit.libreoffice.org/71724 Reviewed-by: Jan Holesovsky <[email protected]> Tested-by: Jan Holesovsky <[email protected]> Reviewed-on: https://gerrit.libreoffice.org/72743 Reviewed-by: Andras Timar <[email protected]> Tested-by: Andras Timar <[email protected]> diff --git a/wsd/DocumentBroker.cpp b/wsd/DocumentBroker.cpp index 7ef373763..73a43c4b2 100644 --- a/wsd/DocumentBroker.cpp +++ b/wsd/DocumentBroker.cpp @@ -1914,8 +1914,24 @@ void DocumentBroker::getIOStats(uint64_t &sent, uint64_t &recv) } } +static std::atomic<size_t> NumConverters; + +size_t ConvertToBroker::getInstanceCount() +{ + return NumConverters; +} + +ConvertToBroker::ConvertToBroker(const std::string& uri, + const Poco::URI& uriPublic, + const std::string& docKey) + : DocumentBroker(uri, uriPublic, docKey) +{ + NumConverters++; +} + ConvertToBroker::~ConvertToBroker() { + NumConverters--; if (!_uriOrig.empty()) { // Remove source file and directory diff --git a/wsd/DocumentBroker.hpp b/wsd/DocumentBroker.hpp index db63b9cfc..9521f2eca 100644 --- a/wsd/DocumentBroker.hpp +++ b/wsd/DocumentBroker.hpp @@ -479,11 +479,11 @@ public: /// Construct DocumentBroker with URI and docKey ConvertToBroker(const std::string& uri, const Poco::URI& uriPublic, - const std::string& docKey) - : DocumentBroker(uri, uriPublic, docKey) - { - } + const std::string& docKey); virtual ~ConvertToBroker(); + + /// How many live conversions are running. + static size_t getInstanceCount(); }; #endif diff --git a/wsd/LOOLWSD.cpp b/wsd/LOOLWSD.cpp index 4e7437d52..8ef0a013c 100644 --- a/wsd/LOOLWSD.cpp +++ b/wsd/LOOLWSD.cpp @@ -254,8 +254,8 @@ inline void shutdownLimitReached(WebSocketHandler& ws) inline void checkSessionLimitsAndWarnClients() { #ifndef MOBILEAPP - - if (DocBrokers.size() > LOOLWSD::MaxDocuments || LOOLWSD::NumConnections >= LOOLWSD::MaxConnections) + size_t docBrokerCount = DocBrokers.size() - ConvertToBroker::getInstanceCount(); + if (docBrokerCount > LOOLWSD::MaxDocuments || LOOLWSD::NumConnections >= LOOLWSD::MaxConnections) { const std::string info = Poco::format(PAYLOAD_INFO_LIMIT_REACHED, LOOLWSD::MaxDocuments, LOOLWSD::MaxConnections); LOG_INF("Sending client 'limitreached' message: " << info); @@ -2948,6 +2948,7 @@ public: << "[ " << DocBrokers.size() << " ]:\n"; for (auto &i : DocBrokers) i.second->dumpState(os); + os << "Converter count: " << ConvertToBroker::getInstanceCount() << "\n"; Socket::InhibitThreadChecks = false; SocketPoll::InhibitThreadChecks = false; _______________________________________________ Libreoffice-commits mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
