loolwsd/Admin.cpp | 4 ++-- loolwsd/Admin.hpp | 4 ++-- loolwsd/AdminModel.cpp | 17 +++++++++-------- loolwsd/AdminModel.hpp | 27 +++++++++++++-------------- loolwsd/LOOLWSD.cpp | 4 ++-- 5 files changed, 28 insertions(+), 28 deletions(-)
New commits: commit 52959b728920ea5e70ea29f543ab60961dab1724 Author: Ashod Nakashian <ashod.nakash...@collabora.co.uk> Date: Sun Apr 17 22:11:10 2016 -0400 loolwsd: admin cleanups Change-Id: Ib8a488ef08d345f768323e1303f7a053e54464d5 Reviewed-on: https://gerrit.libreoffice.org/24182 Reviewed-by: Ashod Nakashian <ashnak...@gmail.com> Tested-by: Ashod Nakashian <ashnak...@gmail.com> diff --git a/loolwsd/Admin.cpp b/loolwsd/Admin.cpp index 3ba553a..951acb3 100644 --- a/loolwsd/Admin.cpp +++ b/loolwsd/Admin.cpp @@ -385,13 +385,13 @@ Admin::~Admin() _cpuStatsTask->cancel(); } -void Admin::addDoc(const std::string& docKey, Poco::Process::PID pid, const std::string& filename, const int sessionId) +void Admin::addDoc(const std::string& docKey, Poco::Process::PID pid, const std::string& filename, const std::string& sessionId) { std::unique_lock<std::mutex> modelLock(_modelMutex); _model.addDocument(docKey, pid, filename, sessionId); } -void Admin::rmDoc(const std::string& docKey, const int sessionId) +void Admin::rmDoc(const std::string& docKey, const std::string& sessionId) { std::unique_lock<std::mutex> modelLock(_modelMutex); _model.removeDocument(docKey, sessionId); diff --git a/loolwsd/Admin.hpp b/loolwsd/Admin.hpp index a281ba5..e4d3aca 100644 --- a/loolwsd/Admin.hpp +++ b/loolwsd/Admin.hpp @@ -54,10 +54,10 @@ public: void update(const std::string& message); /// Calls with same pid will increment view count, if pid already exists - void addDoc(const std::string& docKey, Poco::Process::PID pid, const std::string& filename, const int sessionId); + void addDoc(const std::string& docKey, Poco::Process::PID pid, const std::string& filename, const std::string& sessionId); /// Decrement view count till becomes zero after which doc is removed - void rmDoc(const std::string& docKey, const int nSessionId); + void rmDoc(const std::string& docKey, const std::string& sessionId); void setForKitPid(const int forKitPid) { _forKitPid = forKitPid; } diff --git a/loolwsd/AdminModel.cpp b/loolwsd/AdminModel.cpp index fec35d9..4bba2d7 100644 --- a/loolwsd/AdminModel.cpp +++ b/loolwsd/AdminModel.cpp @@ -24,20 +24,20 @@ using Poco::StringTokenizer; ///////////////// // Document Impl //////////////// -void Document::addView(int sessionId) +void Document::addView(const std::string& sessionId) { const auto ret = _views.emplace(sessionId, View(sessionId)); if (!ret.second) { - Log::warn() << "View with SessionID [" + std::to_string(sessionId) + "] already exists." << Log::end; + Log::warn() << "View with SessionID [" + sessionId + "] already exists." << Log::end; } else { - _activeViews++; + ++_activeViews; } } -int Document::expireView(int sessionId) +int Document::expireView(const std::string& sessionId) { auto it = _views.find(sessionId); if (it != _views.end()) @@ -243,7 +243,8 @@ void AdminModel::notify(const std::string& message) } } -void AdminModel::addDocument(const std::string& docKey, Poco::Process::PID pid, const std::string& filename, const int sessionId) +void AdminModel::addDocument(const std::string& docKey, Poco::Process::PID pid, + const std::string& filename, const std::string& sessionId) { const auto ret = _documents.emplace(docKey, Document(docKey, pid, filename)); ret.first->second.addView(sessionId); @@ -251,7 +252,7 @@ void AdminModel::addDocument(const std::string& docKey, Poco::Process::PID pid, // Notify the subscribers unsigned memUsage = Util::getMemoryUsage(pid); std::ostringstream oss; - oss << "adddoc" << " " + oss << "adddoc " << pid << " " << filename << " " << sessionId << " " @@ -260,14 +261,14 @@ void AdminModel::addDocument(const std::string& docKey, Poco::Process::PID pid, notify(oss.str()); } -void AdminModel::removeDocument(const std::string& docKey, const int sessionId) +void AdminModel::removeDocument(const std::string& docKey, const std::string& sessionId) { auto docIt = _documents.find(docKey); if (docIt != _documents.end() && !docIt->second.isExpired()) { // Notify the subscribers std::ostringstream oss; - oss << "rmdoc" << " " + oss << "rmdoc " << docIt->second.getPid() << " " << sessionId; Log::info("Message to admin console: " + oss.str()); diff --git a/loolwsd/AdminModel.hpp b/loolwsd/AdminModel.hpp index 806fb5c..0ce5931 100644 --- a/loolwsd/AdminModel.hpp +++ b/loolwsd/AdminModel.hpp @@ -22,19 +22,18 @@ class View { public: - View(int sessionId) - : _sessionId(sessionId), - _start(std::time(nullptr)) - { } + View(const std::string& sessionId) : + _sessionId(sessionId), + _start(std::time(nullptr)) + { + } void expire() { _end = std::time(nullptr); } - - bool isExpired() { return _end != 0 && std::time(nullptr) >= _end; } + bool isExpired() const { return _end != 0 && std::time(nullptr) >= _end; } private: - int _sessionId; - - std::time_t _start; + const std::string _sessionId; + const std::time_t _start; std::time_t _end = 0; }; @@ -63,9 +62,9 @@ public: std::time_t getElapsedTime() const { return std::time(nullptr) - _start; } - void addView(int sessionId); + void addView(const std::string& sessionId); - int expireView(int sessionId); + int expireView(const std::string& sessionId); unsigned getActiveViews() const { return _activeViews; } @@ -73,7 +72,7 @@ private: const std::string _docKey; const Poco::Process::PID _pid; /// SessionId mapping to View object - std::map<int, View> _views; + std::map<std::string, View> _views; /// Total number of active views unsigned _activeViews = 0; /// Hosted filename @@ -158,9 +157,9 @@ public: void notify(const std::string& message); - void addDocument(const std::string& docKey, Poco::Process::PID pid, const std::string& filename, const int sessionId); + void addDocument(const std::string& docKey, Poco::Process::PID pid, const std::string& filename, const std::string& sessionId); - void removeDocument(const std::string& docKey, const int sessionId); + void removeDocument(const std::string& docKey, const std::string& sessionId); private: diff --git a/loolwsd/LOOLWSD.cpp b/loolwsd/LOOLWSD.cpp index 42a0149..34b031e 100644 --- a/loolwsd/LOOLWSD.cpp +++ b/loolwsd/LOOLWSD.cpp @@ -880,7 +880,7 @@ public: } Log::info("Adding doc " + docKey + " to Admin"); - Admin::instance().addDoc(docKey, pid, docBroker->getFilename(), Util::decodeId(sessionId)); + Admin::instance().addDoc(docKey, pid, docBroker->getFilename(), sessionId); if (waitBridgeCompleted(session)) { @@ -914,7 +914,7 @@ public: if (!jailId.empty()) { Log::info("Removing doc " + docKey + " from Admin"); - Admin::instance().rmDoc(docKey, Util::decodeId(sessionId)); + Admin::instance().rmDoc(docKey, sessionId); } Log::debug("Thread finished."); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits