[Libreoffice-commits] online.git: loolwsd/DocumentBroker.cpp loolwsd/DocumentBroker.hpp loolwsd/PrisonerSession.cpp
Ashod Nakashian
ashod.nakashian at collabora.co.uk
Wed Sep 21 05:17:46 UTC 2016
loolwsd/DocumentBroker.cpp | 11 +++++++++++
loolwsd/DocumentBroker.hpp | 1 +
loolwsd/PrisonerSession.cpp | 2 +-
3 files changed, 13 insertions(+), 1 deletion(-)
New commits:
commit 9640fd1e78475b00554b8f8972f8433128d95a1c
Author: Ashod Nakashian <ashod.nakashian at collabora.co.uk>
Date: Tue Sep 20 22:19:52 2016 -0400
loolwsd: handle invalidatetiles in DocumentBroker
Change-Id: I05e70f82af9b5c8bdb590a64688ffa70c6ba2034
Reviewed-on: https://gerrit.libreoffice.org/29124
Reviewed-by: Ashod Nakashian <ashnakash at gmail.com>
Tested-by: Ashod Nakashian <ashnakash at gmail.com>
diff --git a/loolwsd/DocumentBroker.cpp b/loolwsd/DocumentBroker.cpp
index a30b371..55ecbfa 100644
--- a/loolwsd/DocumentBroker.cpp
+++ b/loolwsd/DocumentBroker.cpp
@@ -463,6 +463,17 @@ bool DocumentBroker::handleInput(const std::vector<char>& payload)
return true;
}
+void DocumentBroker::invalidateTiles(const std::string& tiles)
+{
+ std::unique_lock<std::mutex> lock(_mutex);
+
+ // Remove from cache.
+ _tileCache->invalidateTiles(tiles);
+
+ //TODO: Re-issue the tiles again to avoid races.
+
+}
+
void DocumentBroker::handleTileRequest(TileDesc& tile,
const std::shared_ptr<ClientSession>& session)
{
diff --git a/loolwsd/DocumentBroker.hpp b/loolwsd/DocumentBroker.hpp
index 7e7bc97..a547a32 100644
--- a/loolwsd/DocumentBroker.hpp
+++ b/loolwsd/DocumentBroker.hpp
@@ -210,6 +210,7 @@ public:
_cursorHeight = h;
}
+ void invalidateTiles(const std::string& tiles);
void handleTileRequest(TileDesc& tile,
const std::shared_ptr<ClientSession>& session);
void handleTileCombinedRequest(TileCombined& tileCombined,
diff --git a/loolwsd/PrisonerSession.cpp b/loolwsd/PrisonerSession.cpp
index 3844974..c2ea47f 100644
--- a/loolwsd/PrisonerSession.cpp
+++ b/loolwsd/PrisonerSession.cpp
@@ -216,7 +216,7 @@ bool PrisonerSession::_handleInput(const char *buffer, int length)
else if (tokens[0] == "invalidatetiles:")
{
assert(firstLine.size() == static_cast<std::string::size_type>(length));
- _docBroker->tileCache().invalidateTiles(firstLine);
+ _docBroker->invalidateTiles(firstLine);
}
else if (tokens[0] == "invalidatecursor:")
{
More information about the Libreoffice-commits
mailing list