From 703b72511488068bdbc5e81172e674d0f07349ed Mon Sep 17 00:00:00 2001 From: Christian Mollekopf Date: Mon, 20 Jun 2016 01:24:17 +0200 Subject: Commit all databases in the same interval --- common/synchronizer.cpp | 10 ++++++---- common/synchronizer.h | 2 +- 2 files changed, 7 insertions(+), 5 deletions(-) (limited to 'common') diff --git a/common/synchronizer.cpp b/common/synchronizer.cpp index cf50b0b..1374d00 100644 --- a/common/synchronizer.cpp +++ b/common/synchronizer.cpp @@ -240,24 +240,26 @@ void Synchronizer::modify(const DomainType &entity) KAsync::Job Synchronizer::synchronize() { Trace() << "Synchronizing"; + mSyncInProgress = true; mMessageQueue->startTransaction(); return synchronizeWithSource().then([this]() { mSyncStore.clear(); mEntityStore.clear(); mMessageQueue->commit(); + mSyncInProgress = false; }); } void Synchronizer::commit() { + mMessageQueue->commit(); mTransaction.abort(); mEntityStore.clear(); -} - -void Synchronizer::commitSync() -{ mSyncTransaction.commit(); mSyncStore.clear(); + if (mSyncInProgress) { + mMessageQueue->startTransaction(); + } } Sink::Storage::Transaction &Synchronizer::transaction() diff --git a/common/synchronizer.h b/common/synchronizer.h index 9c0e2e2..81d4f27 100644 --- a/common/synchronizer.h +++ b/common/synchronizer.h @@ -50,7 +50,6 @@ public: RemoteIdMap &syncStore(); void commit(); - void commitSync(); Sink::Storage::Transaction &transaction(); Sink::Storage::Transaction &syncTransaction(); @@ -106,6 +105,7 @@ private: Sink::Storage::Transaction mSyncTransaction; std::function mEnqueue; MessageQueue *mMessageQueue; + bool mSyncInProgress; }; } -- cgit v1.2.3