[Libreoffice-commits] online.git: loolwsd/DocumentBroker.cpp loolwsd/test loolwsd/TileCache.cpp loolwsd/TileCache.hpp
Ashod Nakashian
ashod.nakashian at collabora.co.uk
Mon Sep 26 02:43:30 UTC 2016
loolwsd/DocumentBroker.cpp | 20 +++++++++-----------
loolwsd/TileCache.cpp | 15 ++++++---------
loolwsd/TileCache.hpp | 2 +-
loolwsd/test/TileCacheTests.cpp | 2 +-
4 files changed, 17 insertions(+), 22 deletions(-)
New commits:
commit f6a9de1b2d9646ace933cad17b5a9661da06997e
Author: Ashod Nakashian <ashod.nakashian at collabora.co.uk>
Date: Sun Sep 25 11:33:37 2016 -0400
Revert "loolwsd: TileCache is told to save or not before...
This reverts commit 01718c5c68bad8d324dfcc1b93d3c49055c90873.
Change-Id: I6fa49f8d1f5c6ba7bdcd8cfa0866e0e15380607d
Reviewed-on: https://gerrit.libreoffice.org/29281
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 c241594..989e056 100644
--- a/loolwsd/DocumentBroker.cpp
+++ b/loolwsd/DocumentBroker.cpp
@@ -587,15 +587,14 @@ void DocumentBroker::handleTileResponse(const std::vector<char>& payload)
try
{
auto tile = TileDesc::parse(firstLine);
-
-
+ const auto buffer = payload.data();
const auto length = payload.size();
+
if (firstLine.size() < static_cast<std::string::size_type>(length) - 1)
{
- const auto buffer = payload.data();
- tileCache().notifySubscribers(
+ tileCache().saveTileAndNotify(
tile, buffer + firstLine.size() + 1,
- length - firstLine.size() - 1, true);
+ length - firstLine.size() - 1);
}
else
{
@@ -620,22 +619,21 @@ void DocumentBroker::handleTileCombinedResponse(const std::vector<char>& payload
try
{
auto tileCombined = TileCombined::parse(firstLine);
-
-
+ const auto buffer = payload.data();
const auto length = payload.size();
+ auto offset = firstLine.size() + 1;
+
if (firstLine.size() < static_cast<std::string::size_type>(length) - 1)
{
- const auto buffer = payload.data();
- auto offset = firstLine.size() + 1;
for (const auto& tile : tileCombined.getTiles())
{
- tileCache().notifySubscribers(tile, buffer + offset, tile.getImgSize(), true);
+ tileCache().saveTileAndNotify(tile, buffer + offset, tile.getImgSize());
offset += tile.getImgSize();
}
}
else
{
- Log::debug() << "Render request declined for " << firstLine << Log::end;
+ Log::error() << "Render request failed for " << firstLine << Log::end;
std::unique_lock<std::mutex> tileBeingRenderedLock(tileCache().getTilesBeingRenderedLock());
for (const auto& tile : tileCombined.getTiles())
{
diff --git a/loolwsd/TileCache.cpp b/loolwsd/TileCache.cpp
index 6924e30..ce74945 100644
--- a/loolwsd/TileCache.cpp
+++ b/loolwsd/TileCache.cpp
@@ -142,7 +142,7 @@ std::unique_ptr<std::fstream> TileCache::lookupTile(const TileDesc& tile)
return nullptr;
}
-void TileCache::notifySubscribers(const TileDesc& tile, const char *data, const size_t size, const bool save)
+void TileCache::saveTileAndNotify(const TileDesc& tile, const char *data, const size_t size)
{
std::unique_lock<std::mutex> lock(_tilesBeingRenderedMutex);
@@ -151,14 +151,11 @@ void TileCache::notifySubscribers(const TileDesc& tile, const char *data, const
// Save to disk.
const auto cachedName = (tileBeingRendered ? tileBeingRendered->getCacheName()
: cacheFileName(tile));
- if (save)
- {
- const auto fileName = _cacheDir + "/" + cachedName;
- Log::trace() << "Saving cache tile: " << fileName << Log::end;
- std::fstream outStream(fileName, std::ios::out);
- outStream.write(data, size);
- outStream.close();
- }
+ const auto fileName = _cacheDir + "/" + cachedName;
+ Log::trace() << "Saving cache tile: " << fileName << Log::end;
+ std::fstream outStream(fileName, std::ios::out);
+ outStream.write(data, size);
+ outStream.close();
// Notify subscribers, if any.
if (tileBeingRendered)
diff --git a/loolwsd/TileCache.hpp b/loolwsd/TileCache.hpp
index 206603b..fc0210b 100644
--- a/loolwsd/TileCache.hpp
+++ b/loolwsd/TileCache.hpp
@@ -47,7 +47,7 @@ public:
std::unique_ptr<std::fstream> lookupTile(const TileDesc& tile);
- void notifySubscribers(const TileDesc& tile, const char *data, const size_t size, const bool save);
+ void saveTileAndNotify(const TileDesc& tile, const char *data, const size_t size);
std::string getTextFile(const std::string& fileName);
diff --git a/loolwsd/test/TileCacheTests.cpp b/loolwsd/test/TileCacheTests.cpp
index 9081675..f2d7f3d 100644
--- a/loolwsd/test/TileCacheTests.cpp
+++ b/loolwsd/test/TileCacheTests.cpp
@@ -167,7 +167,7 @@ void TileCacheTests::testSimple()
// Cache Tile
const auto size = 1024;
const auto data = genRandomData(size);
- tc.notifySubscribers(tile, data.data(), size, true);
+ tc.saveTileAndNotify(tile, data.data(), size);
// Find Tile
file = tc.lookupTile(tile);
More information about the Libreoffice-commits
mailing list