Write to connections in parallel

This commit is contained in:
Gusto 2024-07-11 19:10:09 +03:00
parent a7d17ff53f
commit 44689d6e0c
No known key found for this signature in database
2 changed files with 7 additions and 8 deletions

View File

@ -11,13 +11,11 @@ class Executor:
self.interval = 10
async def execute(self):
blob_id = b"test"
data = b"TEST DATA"
message = proto.new_dispersal_req_msg(b"dummy_blob_id", b"dummy_data")
while True:
try:
for transport in self.connections:
message = proto.new_dispersal_req_msg(blob_id, data)
await transport.write(message)
# TODO: Mock original data conversion into blobs.
await asyncio.gather(*[t.write(message) for t in self.connections])
await asyncio.sleep(self.interval)
except asyncio.CancelledError:
break
@ -41,7 +39,7 @@ class Executor:
elif message.HasField('sample_res'):
print(f"Executor: Received SampleRes: blob_id={message.sample_res.blob_id}")
else:
print("Executor: Received unknown message type")
print(f"Executor: Received unknown message: {message}")
async def run(self):
await asyncio.gather(*(self.connect() for _ in range(self.col_num)))

View File

@ -27,13 +27,14 @@ class Node:
async def _handle(self, conn_id, writer, message):
if message.HasField('dispersal_req'):
blob_id = message.dispersal_req.blob.blob_id
print(f"Node: Received DispersalRes: blob_id={blob_id}")
data = message.dispersal_req.blob.data
print(f"Node: Received DispersalRes: blob_id={blob_id}; data={data}")
# Imitate succesful verification.
writer.write(proto.new_dispersal_res_success_msg(blob_id))
elif message.HasField('sample_req'):
print(f"Node: Received SampleRes: blob_id={message.sample_req.blob_id}")
else:
print("Node: Received unknown message type")
print(f"Node: Received unknown message: {message} ")
async def run(self):
await self.listen()