diff options
author | Tamás Zolnai <tamas.zolnai@collabora.com> | 2018-09-26 22:15:37 +0200 |
---|---|---|
committer | Tamás Zolnai <tamas.zolnai@collabora.com> | 2018-09-29 09:27:06 +0200 |
commit | 9683f53a9c81dfcb9624705cbeeed48ec426ca3b (patch) | |
tree | 4a0c8252f1a28367a31cff6d7b16dc3badd9a940 /wsd/ClientSession.hpp | |
parent | a1a0bf3718f5dff3996a3ace98a6a9cb0f10f55b (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.hpp | 20 |
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) |