forked from LBRYCommunity/lbry-sdk
fix reflector client: only set completed when server says so
This commit is contained in:
parent
352bf69409
commit
1437871d88
2 changed files with 4 additions and 4 deletions
|
@ -372,9 +372,6 @@ class ManagedStream(ManagedDownloadSource):
|
||||||
protocol.transport.close()
|
protocol.transport.close()
|
||||||
self.uploading_to_reflector = False
|
self.uploading_to_reflector = False
|
||||||
|
|
||||||
if not self.fully_reflected.is_set():
|
|
||||||
self.fully_reflected.set()
|
|
||||||
await self.blob_manager.storage.update_reflected_stream(self.sd_hash, f"{host}:{port}")
|
|
||||||
return sent
|
return sent
|
||||||
|
|
||||||
async def update_content_claim(self, claim_info: Optional[typing.Dict] = None):
|
async def update_content_claim(self, claim_info: Optional[typing.Dict] = None):
|
||||||
|
|
|
@ -63,13 +63,16 @@ class TestReflector(AsyncioTestCase):
|
||||||
if partial_needs:
|
if partial_needs:
|
||||||
self.assertFalse(self.stream.is_fully_reflected)
|
self.assertFalse(self.stream.is_fully_reflected)
|
||||||
send_more = await self.stream.upload_to_reflector('127.0.0.1', 5566)
|
send_more = await self.stream.upload_to_reflector('127.0.0.1', 5566)
|
||||||
self.assertGreater(0, len(send_more))
|
self.assertGreater(len(send_more), 0)
|
||||||
sent.extend(send_more)
|
sent.extend(send_more)
|
||||||
|
sent.append(self.stream.sd_hash)
|
||||||
self.assertSetEqual(
|
self.assertSetEqual(
|
||||||
set(sent),
|
set(sent),
|
||||||
set(map(lambda b: b.blob_hash,
|
set(map(lambda b: b.blob_hash,
|
||||||
self.stream.descriptor.blobs[:-1] + [self.blob_manager.get_blob(self.stream.sd_hash)]))
|
self.stream.descriptor.blobs[:-1] + [self.blob_manager.get_blob(self.stream.sd_hash)]))
|
||||||
)
|
)
|
||||||
|
send_more = await self.stream.upload_to_reflector('127.0.0.1', 5566)
|
||||||
|
self.assertEqual(len(send_more), 0)
|
||||||
self.assertTrue(self.stream.is_fully_reflected)
|
self.assertTrue(self.stream.is_fully_reflected)
|
||||||
server_sd_blob = self.server_blob_manager.get_blob(self.stream.sd_hash)
|
server_sd_blob = self.server_blob_manager.get_blob(self.stream.sd_hash)
|
||||||
self.assertTrue(server_sd_blob.get_is_verified())
|
self.assertTrue(server_sd_blob.get_is_verified())
|
||||||
|
|
Loading…
Reference in a new issue