Peer verification needs to be serial...

This commit is contained in:
Neil Booth 2018-08-08 20:32:51 +09:00
parent 12c49bbe75
commit 9b22fd3a15

View File

@ -290,15 +290,10 @@ class PeerManager(object):
peer.features['server_version'] = server_version peer.features['server_version'] = server_version
ptuple = protocol_tuple(protocol_version) ptuple = protocol_tuple(protocol_version)
# Do the rest concurrently # FIXME: Make concurrent preserving the exception
async with TaskGroup() as group: await self._send_headers_subscribe(session, peer, ptuple)
await group.spawn(self._send_headers_subscribe(session, peer, await self._send_server_features(session, peer)
ptuple)) await self._send_peers_subscribe(session, peer)
await group.spawn(self._send_server_features(session, peer))
await group.spawn(self._send_peers_subscribe(session, peer))
# If any task errors out; bail
async for task in group:
task.result()
async def _send_headers_subscribe(self, session, peer, ptuple): async def _send_headers_subscribe(self, session, peer, ptuple):
message = 'blockchain.headers.subscribe' message = 'blockchain.headers.subscribe'