summaryrefslogtreecommitdiff
path: root/client/src/leap/soledad/client/target.py
diff options
context:
space:
mode:
authordrebs <drebs@leap.se>2014-07-15 13:46:42 -0300
committerdrebs <drebs@leap.se>2014-08-08 11:49:02 -0300
commit54a69eb14189e06556af15dcdf5d5ed424778fc2 (patch)
tree8cef9bb22835e2b2644caabb4732d3302a82a917 /client/src/leap/soledad/client/target.py
parent51e0bf7f79a444661b10fe418af85b0a60f41afb (diff)
Store all received docs in sync db (#5895).
Diffstat (limited to 'client/src/leap/soledad/client/target.py')
-rw-r--r--client/src/leap/soledad/client/target.py12
1 files changed, 8 insertions, 4 deletions
diff --git a/client/src/leap/soledad/client/target.py b/client/src/leap/soledad/client/target.py
index 70e4d3a2..089a48a0 100644
--- a/client/src/leap/soledad/client/target.py
+++ b/client/src/leap/soledad/client/target.py
@@ -804,16 +804,20 @@ class SoledadSyncTarget(HTTPSyncTarget, TokenBasedAuth):
self._sync_db = sync_db
self._sync_db_write_lock = sync_db_write_lock
- def _setup_sync_decr_pool(self):
+ def _setup_sync_decr_pool(self, last_known_generation):
"""
Set up the SyncDecrypterPool for deferred decryption.
+
+ :param last_known_generation: Target's last known generation.
+ :type last_known_generation: int
"""
if self._sync_decr_pool is None:
# initialize syncing queue decryption pool
self._sync_decr_pool = SyncDecrypterPool(
self._crypto, self._sync_db,
self._sync_db_write_lock,
- insert_doc_cb=self._insert_doc_cb)
+ insert_doc_cb=self._insert_doc_cb,
+ last_known_generation=last_known_generation)
self._sync_decr_pool.set_source_replica_uid(
self.source_replica_uid)
@@ -1127,7 +1131,7 @@ class SoledadSyncTarget(HTTPSyncTarget, TokenBasedAuth):
if defer_decryption:
self._sync_exchange_lock.acquire()
- self._setup_sync_decr_pool()
+ self._setup_sync_decr_pool(last_known_generation)
self._setup_sync_watcher()
self._defer_decryption = True
@@ -1402,7 +1406,7 @@ class SoledadSyncTarget(HTTPSyncTarget, TokenBasedAuth):
:rtype: bool
"""
if self._sync_decr_pool is not None:
- return self._sync_decr_pool.count_received_encrypted_docs() == 0
+ return self._sync_decr_pool.count_docs_in_sync_db() == 0
else:
return True