[Libreoffice-commits] online.git: loolwsd/DocumentBroker.cpp loolwsd/TileCache.cpp loolwsd/TileCache.hpp

Ashod Nakashian ashod.nakashian at collabora.co.uk
Mon Aug 22 04:54:52 UTC 2016


 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.nakashian at 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 <ashnakash at gmail.com>
    Tested-by: Ashod Nakashian <ashnakash at 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);
 


More information about the Libreoffice-commits mailing list