summaryrefslogtreecommitdiffstats
path: root/kit/Delta.hpp
diff options
context:
space:
mode:
authorMichael Meeks <michael.meeks@collabora.com>2023-07-14 21:51:36 +0100
committerSzymon Kłos <eszkadev@gmail.com>2023-07-17 11:35:25 +0200
commitd309d7199ac72b0f61c70ad622ee7e9de3de9c2f (patch)
treea9f5dd00e936a8bb39fe301e55b15599d5d4b741 /kit/Delta.hpp
parentTypos: wake-up. (diff)
downloadonline-d309d7199ac72b0f61c70ad622ee7e9de3de9c2f.tar.gz
online-d309d7199ac72b0f61c70ad622ee7e9de3de9c2f.zip
deltas: fold the update: command back into an empty delta: command.
Also: address parts of #6897, primarily: * remove the problematic aspect of bumping the last wid in our TileData, when this could trigger a re-send of a previously sent delta, causing tile corruption. * instead append an empty wid entry. * as an optimization - if the last entry is empty update the wid - since re-sending an empty delta is of no concern. * simplify a number of code-paths that special-case zero length deltas. All deltas now commence with 'D'. * still track updates in the JS - by detecting empty deltas. * shares more code and simplifies various paths. Signed-off-by: Michael Meeks <michael.meeks@collabora.com> Change-Id: I02af6d4b152524c201b6985b7a3497da7f08a517
Diffstat (limited to 'kit/Delta.hpp')
-rw-r--r--kit/Delta.hpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/kit/Delta.hpp b/kit/Delta.hpp
index 4f88540e42..da4803848c 100644
--- a/kit/Delta.hpp
+++ b/kit/Delta.hpp
@@ -450,8 +450,9 @@ class DeltaGenerator {
{
// The tile content is identical to what the client already has, so skip it
LOG_TRC("Identical / un-changed tile");
- // Return a zero byte image to inform WSD we didn't need that.
- // This allows WSD side TileCache to free up waiting subscribers.
+ // Return a zero length delta to inform WSD we didn't need that.
+ // This allows WSD side TileCache to send updates to waiting subscribers.
+ outStream.push_back('D');
return true;
}