[Libreoffice-commits] online.git: wsd/ClientSession.cpp wsd/DocumentBroker.cpp wsd/DocumentBroker.hpp wsd/LOOLWSD.cpp wsd/TestStubs.cpp
Ashod Nakashian
ashod.nakashian at collabora.co.uk
Mon Jan 15 07:07:15 UTC 2018
wsd/ClientSession.cpp | 9 +++------
wsd/DocumentBroker.cpp | 29 +++++++++++++++++------------
wsd/DocumentBroker.hpp | 2 +-
wsd/LOOLWSD.cpp | 2 +-
wsd/TestStubs.cpp | 2 +-
5 files changed, 23 insertions(+), 21 deletions(-)
New commits:
commit d53ce5511dfe7989954f5ec4f882799607a6b662
Author: Ashod Nakashian <ashod.nakashian at collabora.co.uk>
Date: Sun Jan 14 11:16:10 2018 -0500
wsd: const and cosmetics
Non-functional changes.
Change-Id: I7c52386e2f870d29fd62c6dae6f37f4a58c2396b
Reviewed-on: https://gerrit.libreoffice.org/47882
Reviewed-by: Ashod Nakashian <ashnakash at gmail.com>
Tested-by: Ashod Nakashian <ashnakash at gmail.com>
diff --git a/wsd/ClientSession.cpp b/wsd/ClientSession.cpp
index 5b0881bf..9fdf8ba7 100644
--- a/wsd/ClientSession.cpp
+++ b/wsd/ClientSession.cpp
@@ -586,8 +586,7 @@ bool ClientSession::handleKitToClientMessage(const char* buffer, const int lengt
}
// Save to Storage and log result.
- std::string id = getId();
- docBroker->saveToStorage(id, success, result);
+ docBroker->saveToStorage(getId(), success, result);
if (!isCloseFrame())
forwardToClient(payload);
@@ -714,8 +713,7 @@ bool ClientSession::handleKitToClientMessage(const char* buffer, const int lengt
LOG_TRC("Removing save-as ClientSession after conversion.");
// Remove us.
- std::string id = getId();
- docBroker->removeSession(id);
+ docBroker->removeSession(getId());
// Now terminate.
docBroker->stop();
@@ -876,8 +874,7 @@ void ClientSession::onDisconnect()
// We issue a force-save when last editable (non-readonly) session is going away
// and defer destroying the last session and the docBroker.
- std::string id = getId();
- docBroker->removeSession(id, true);
+ docBroker->removeSession(getId(), true);
}
catch (const UnauthorizedRequestException& exc)
{
diff --git a/wsd/DocumentBroker.cpp b/wsd/DocumentBroker.cpp
index 97ef771f..deb2cfc9 100644
--- a/wsd/DocumentBroker.cpp
+++ b/wsd/DocumentBroker.cpp
@@ -177,7 +177,7 @@ void DocumentBroker::startThread()
_poll->startThread();
}
-void DocumentBroker::assertCorrectThread()
+void DocumentBroker::assertCorrectThread() const
{
_poll->assertCorrectThread();
}
@@ -226,15 +226,15 @@ void DocumentBroker::pollThread()
_childProcess->setDocumentBroker(shared_from_this());
LOG_INF("Doc [" << _docKey << "] attached to child [" << _childProcess->getPid() << "].");
- auto last30SecCheckTime = std::chrono::steady_clock::now();
-
static const bool AutoSaveEnabled = !std::getenv("LOOL_NO_AUTOSAVE");
static const size_t IdleDocTimeoutSecs = LOOLWSD::getConfigValue<int>(
"per_document.idle_timeout_secs", 3600);
+
// Used to accumulate B/W deltas.
uint64_t adminSent = 0;
uint64_t adminRecv = 0;
auto lastBWUpdateTime = std::chrono::steady_clock::now();
+ auto last30SecCheckTime = std::chrono::steady_clock::now();
// Main polling loop goodness.
while (!_stop && _poll->continuePolling() && !TerminationFlag)
@@ -254,7 +254,7 @@ void DocumentBroker::pollThread()
// connection drop transiently reduces this.
(sent > adminSent ? (sent - adminSent): uint64_t(0)),
(recv > adminRecv ? (recv - adminRecv): uint64_t(0)));
- LOG_INF("Doc [" << _docKey << "] added sent: " << sent << " recv: " << recv << " bytes to totals");
+ LOG_DBG("Doc [" << _docKey << "] added sent: " << sent << " recv: " << recv << " bytes to totals");
adminSent = sent;
adminRecv = recv;
}
@@ -263,7 +263,7 @@ void DocumentBroker::pollThread()
std::chrono::duration_cast<std::chrono::milliseconds>
(now - _lastSaveRequestTime).count() <= COMMAND_TIMEOUT_MS)
{
- // We are saving, nothing more to do but wait.
+ // We are saving, nothing more to do but wait (until we save or we timeout).
continue;
}
@@ -668,6 +668,7 @@ bool DocumentBroker::saveToStorage(const std::string& sessionId,
LOG_TRC("Document will be saved forcefully to storage.");
_storage->forceSave();
}
+
const bool res = saveToStorageInternal(sessionId, success, result);
// If marked to destroy, or session is disconnected, remove.
@@ -1071,14 +1072,18 @@ size_t DocumentBroker::removeSessionInternal(const std::string& id)
// Remove. The caller must have a reference to the session
// in question, lest we destroy from underneith them.
_sessions.erase(it);
-
const auto count = _sessions.size();
- LOG_TRC("Removed " << (readonly ? "readonly" : "non-readonly") <<
- " session [" << id << "] from docKey [" <<
- _docKey << "] to have " << count << " sessions.");
- for (const auto& pair : _sessions)
+
+ auto logger = Log::trace();
+ if (logger.enabled())
{
- LOG_TRC("Session: " << pair.second->getName());
+ logger << "Removed " << (readonly ? "readonly" : "non-readonly")
+ << " session [" << id << "] from docKey ["
+ << _docKey << "] to have " << count << " sessions:";
+ for (const auto& pair : _sessions)
+ logger << pair.second->getId() << ' ';
+
+ LOG_END(logger);
}
// Let the child know the client has disconnected.
@@ -1641,7 +1646,7 @@ void DocumentBroker::dumpState(std::ostream& os)
os << "\n doc id: " << _docId;
os << "\n num sessions: " << _sessions.size();
os << "\n last editable?: " << _lastEditableSession;
- std::time_t t = std::chrono::system_clock::to_time_t(
+ const std::time_t t = std::chrono::system_clock::to_time_t(
std::chrono::system_clock::now()
+ (_lastSaveTime - std::chrono::steady_clock::now()));
os << "\n last saved: " << std::ctime(&t);
diff --git a/wsd/DocumentBroker.hpp b/wsd/DocumentBroker.hpp
index 0e278150..4b4b458d 100644
--- a/wsd/DocumentBroker.hpp
+++ b/wsd/DocumentBroker.hpp
@@ -266,7 +266,7 @@ public:
/// Are we running in either shutdown, or the polling thread.
/// Asserts in the debug builds, otherwise just logs.
- void assertCorrectThread();
+ void assertCorrectThread() const;
/// Pretty print internal state to a stream.
void dumpState(std::ostream& os);
diff --git a/wsd/LOOLWSD.cpp b/wsd/LOOLWSD.cpp
index 289df5aa..0750a0b2 100644
--- a/wsd/LOOLWSD.cpp
+++ b/wsd/LOOLWSD.cpp
@@ -1420,7 +1420,7 @@ static std::shared_ptr<DocumentBroker> findOrCreateDocBroker(WebSocketHandler& w
std::shared_ptr<DocumentBroker> docBroker;
// Lookup this document.
- auto it = DocBrokers.find(docKey);
+ const auto it = DocBrokers.find(docKey);
if (it != DocBrokers.end() && it->second)
{
// Get the DocumentBroker from the Cache.
diff --git a/wsd/TestStubs.cpp b/wsd/TestStubs.cpp
index 434d8e2c..963bf961 100644
--- a/wsd/TestStubs.cpp
+++ b/wsd/TestStubs.cpp
@@ -15,6 +15,6 @@
#include "DocumentBroker.hpp"
-void DocumentBroker::assertCorrectThread() {}
+void DocumentBroker::assertCorrectThread() const {}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
More information about the Libreoffice-commits
mailing list