summaryrefslogtreecommitdiff
path: root/wsd/ClientSession.hpp
diff options
context:
space:
mode:
authorTamás Zolnai <tamas.zolnai@collabora.com>2018-09-26 22:15:37 +0200
committerTamás Zolnai <tamas.zolnai@collabora.com>2018-09-29 09:27:06 +0200
commit9683f53a9c81dfcb9624705cbeeed48ec426ca3b (patch)
tree4a0c8252f1a28367a31cff6d7b16dc3badd9a940 /wsd/ClientSession.hpp
parenta1a0bf3718f5dff3996a3ace98a6a9cb0f10f55b (diff)
Filter out tiles by wired on wsd side too
Some times tiles with the same wireID survives the wireID filtering in kit, so we should do that in wsd too. The issue is with the tilesBeingRendered construction. First when one tile is filtered out on kit side the client remains subcribed to the tile, since wsd does not know filtering happened. Second via the tilesBeingRendered object more clients can be subcribed to the same tile and so when one client request a new version of this tile (with an old wireID) the rendered tile is sent to all subscribed clients even if the other clients has up-to-date tiles. Change-Id: I4ca6b7a83a5d6979a9f924d766a71aba5e5362c7
Diffstat (limited to 'wsd/ClientSession.hpp')
-rw-r--r--wsd/ClientSession.hpp20
1 files changed, 1 insertions, 19 deletions
diff --git a/wsd/ClientSession.hpp b/wsd/ClientSession.hpp
index 326ff50c0..45a254609 100644
--- a/wsd/ClientSession.hpp
+++ b/wsd/ClientSession.hpp
@@ -78,25 +78,7 @@ public:
return true;
}
- void enqueueSendMessage(const std::shared_ptr<Message>& data)
- {
- const std::shared_ptr<DocumentBroker> docBroker = _docBroker.lock();
- // If in the correct thread - no need for wakeups.
- if (docBroker)
- docBroker->assertCorrectThread();
-
- LOG_TRC(getName() << " enqueueing client message " << data->id());
- size_t sizeBefore = _senderQueue.size();
- size_t newSize = _senderQueue.enqueue(data);
-
- // Track sent tile
- const std::string command = data->firstToken();
- if (command == "tile:")
- {
- const TileDesc tile = TileDesc::parse(data->firstLine());
- traceTileBySend(tile, sizeBefore == newSize);
- }
- }
+ void enqueueSendMessage(const std::shared_ptr<Message>& data);
/// Set the save-as socket which is used to send convert-to results.
void setSaveAsSocket(const std::shared_ptr<StreamSocket>& socket)