loolwsd/DocumentBroker.cpp | 7 ++++--- loolwsd/TileCache.cpp | 12 +++++++----- loolwsd/TileCache.hpp | 2 +- 3 files changed, 12 insertions(+), 9 deletions(-)
New commits: commit 3af0d69d22deabcd1970f5aa5b59a6e993d8a273 Author: Ashod Nakashian <ashod.nakash...@collabora.co.uk> Date: Thu Aug 18 10:28:55 2016 -0400 loolwsd: isTileBeingRenderedIfSoSubscribe -> subscribeToTileRendering Simpler yet descriptive function name and better logging. Change-Id: Ic903197d5772b7994ffa8136cfae771deee3a24a Reviewed-on: https://gerrit.libreoffice.org/28291 Reviewed-by: Ashod Nakashian <ashnak...@gmail.com> Tested-by: Ashod Nakashian <ashnak...@gmail.com> diff --git a/loolwsd/DocumentBroker.cpp b/loolwsd/DocumentBroker.cpp index a0d59ca..e3f1954 100644 --- a/loolwsd/DocumentBroker.cpp +++ b/loolwsd/DocumentBroker.cpp @@ -504,7 +504,7 @@ void DocumentBroker::handleTileRequest(TileDesc& tile, return; } - if (tileCache().isTileBeingRenderedIfSoSubscribe(tile, session) > 0) + if (tileCache().subscribeToTileRendering(tile, session) > 0) { Log::debug() << "Sending render request for tile (" << tile.getPart() << ',' << tile.getTilePosX() << ',' << tile.getTilePosY() << ")." << Log::end; @@ -530,7 +530,7 @@ void DocumentBroker::handleTileCombinedRequest(TileCombined& tileCombined, std::unique_ptr<std::fstream> cachedTile = _tileCache->lookupTile(tile); if (cachedTile) { - //TODO: Combine. + //TODO: Combine the response to reduce latency. #if ENABLE_DEBUG const std::string response = tile.serialize("tile:") + " renderid=cached\n"; #else @@ -556,8 +556,9 @@ void DocumentBroker::handleTileCombinedRequest(TileCombined& tileCombined, } else { + // Not cached, needs rendering. tile.setVersion(_tileVersion); - const auto ver = tileCache().isTileBeingRenderedIfSoSubscribe(tile, session); + const auto ver = tileCache().subscribeToTileRendering(tile, session); if (ver <= 0) { // Already rendering. Skip. diff --git a/loolwsd/TileCache.cpp b/loolwsd/TileCache.cpp index 5dd987e..9b76a15 100644 --- a/loolwsd/TileCache.cpp +++ b/loolwsd/TileCache.cpp @@ -410,7 +410,7 @@ void TileCache::saveLastModified(const Timestamp& timestamp) } // FIXME: to be further simplified when we centralize tile messages. -int TileCache::isTileBeingRenderedIfSoSubscribe(const TileDesc& tile, const std::shared_ptr<ClientSession> &subscriber) +int TileCache::subscribeToTileRendering(const TileDesc& tile, const std::shared_ptr<ClientSession> &subscriber) { std::unique_lock<std::mutex> lock(_tilesBeingRenderedMutex); @@ -418,8 +418,10 @@ int TileCache::isTileBeingRenderedIfSoSubscribe(const TileDesc& tile, const std: if (tileBeingRendered) { - Log::debug() << "Tile (" << tile.getPart() << ',' << tile.getTilePosX() << ',' - << tile.getTilePosY() << ") is already being rendered, subscribing." << Log::end; + Log::debug() << "Subscribing to tile (" << tile.getPart() << ',' << tile.getTilePosX() << ',' + << tile.getTilePosY() << ") which has " + << tileBeingRendered->_subscribers.size() + << " subscribers already. Adding one more." << Log::end; assert(subscriber->getKind() == LOOLSession::Kind::ToClient); for (const auto &s : tileBeingRendered->_subscribers) @@ -443,8 +445,8 @@ int TileCache::isTileBeingRenderedIfSoSubscribe(const TileDesc& tile, const std: } else { - Log::debug() << "Tile (" << tile.getPart() << ',' << tile.getTilePosX() << ',' - << tile.getTilePosY() << ") needs rendering, subscribing for ver: " + Log::debug() << "Subscribing to tile (" << tile.getPart() << ',' << tile.getTilePosX() << ',' + << tile.getTilePosY() << ") which has no subscribers. Subscribing for ver: " << tile.getVersion() << "." << Log::end; const std::string cachedName = cacheFileName(tile); diff --git a/loolwsd/TileCache.hpp b/loolwsd/TileCache.hpp index b1194bb..bbe5aa0 100644 --- a/loolwsd/TileCache.hpp +++ b/loolwsd/TileCache.hpp @@ -40,7 +40,7 @@ public: /// Subscribes if no subscription exists and returns the version number. /// Otherwise returns 0 to signify a subscription exists. - int isTileBeingRenderedIfSoSubscribe(const TileDesc& tile, const std::shared_ptr<ClientSession> &subscriber); + int subscribeToTileRendering(const TileDesc& tile, const std::shared_ptr<ClientSession> &subscriber); std::unique_ptr<std::fstream> lookupTile(const TileDesc& tile); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits