Do not retrieve unchanged items during full sync
When doing an incremental sync using the SyncFolderItems request all
items appearing as new or changed have actually changed and it makes
sense to fetch them in order to store the updated copy locally.
When doing a full sync this way all items in this foler appear as
newly added to it. This however meant that they were all fetched,
which was lengthly and completely redundant.
To avoid unnecessary fetches compare the change key of the item and
fetch only in case it's different than the local copy. This avoids 99%
of the fetches in case of a full sync (most of them are fallback full
syncs due to incremental sync failures) and additionally saves a few
fetches for incremental syncs too in cases where such a sync is done
due to a returning server notification for a change that originated
from the local Akonadi instance.
Signed-off-by: Krzysztof Nowicki <krissn@op.pl>
parent
3046b7d8
Please register or sign in to comment