From 0058334106f870012b2bbc6a79e4eb6b9dbb03f5 Mon Sep 17 00:00:00 2001
From: Victor Shyba <victor1984@riseup.net>
Date: Sun, 24 Dec 2017 20:24:35 -0300
Subject: [PATCH] [bug] add code to obey protocol pause and stop

Stream production wasn't pausing or stopping as asked by protocol.
---
 src/leap/soledad/client/_db/blobs/upstream_producer.py | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/src/leap/soledad/client/_db/blobs/upstream_producer.py b/src/leap/soledad/client/_db/blobs/upstream_producer.py
index 5c8f0530..cf69e966 100644
--- a/src/leap/soledad/client/_db/blobs/upstream_producer.py
+++ b/src/leap/soledad/client/_db/blobs/upstream_producer.py
@@ -67,6 +67,11 @@ class BlobsUpstreamProducer(object):
         """
         consumer.write(json.dumps(self.blobs_lengths) + '\n')
         for blob_id, _ in self.blobs_lengths:
+            if self.stop:
+                break
+            if self.pause:
+                yield self.sleep(0.001)
+                continue
             blob_fd = yield self.db.get(blob_id, namespace=self.namespace)
             doc_info = DocInfo(blob_id, FIXED_REV)
             crypter = BlobEncryptor(doc_info, blob_fd, secret=self.secret,
-- 
GitLab