Skip to content

Commit fea543e

Browse files
authored
Merge pull request #69 from matburt/fix_add_peer_hang
Fix a hang calling add-peer
2 parents 363df5e + ab543d5 commit fea543e

3 files changed

Lines changed: 7 additions & 7 deletions

File tree

receptor/connection/manager.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,6 @@ def get_listener(self, listen_url):
3737
def get_peer(self, peer):
3838
service = parse_peer(peer)
3939
if service.scheme == "receptor":
40-
return sock.connect(service.hostname, service.port, self.factory, self.loop)
40+
self.loop.create_task(sock.connect(service.hostname, service.port, self.factory, self.loop))
4141
elif service.scheme in ("ws", "wss"):
42-
return ws.connect(peer, self.factory, self.loop)
42+
self.loop.create_task(ws.connect(peer, self.factory, self.loop))

receptor/controller.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,9 @@ def enable_server(self, listen_urls):
3232
logger.info("Serving on %s", url)
3333
self.loop.create_task(listener)
3434

35-
async def add_peer(self, peer):
35+
def add_peer(self, peer):
3636
logger.info("Connecting to peer {}".format(peer))
37-
await self.loop.create_task(self.connection_manager.get_peer(peer))
37+
self.connection_manager.get_peer(peer)
3838

3939
async def recv(self):
4040
inner = await self.receptor.response_queue.get()

receptor/entrypoints.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ async def node_keepalive():
3232
if not config.node_server_disable:
3333
controller.enable_server(config.node_listen)
3434
for peer in config.node_peers:
35-
controller.loop.create_task(controller.add_peer(peer))
35+
controller.add_peer(peer)
3636
if config.node_keepalive_interval > 1:
3737
controller.loop.create_task(node_keepalive())
3838
controller.loop.create_task(controller.receptor.watch_expire())
@@ -60,7 +60,7 @@ def ping_iter():
6060

6161
async def ping_entrypoint():
6262
read_task = controller.loop.create_task(read_responses())
63-
await controller.add_peer(config.ping_peer)
63+
controller.add_peer(config.ping_peer)
6464
start_wait = time.time()
6565
while not controller.receptor.router.node_is_known(config.ping_recipient) and (time.time() - start_wait < 5):
6666
await asyncio.sleep(0.1)
@@ -85,7 +85,7 @@ async def send_pings():
8585
def run_as_send(config):
8686
async def send_entrypoint():
8787
read_task = controller.loop.create_task(read_responses())
88-
await controller.add_peer(config.send_peer)
88+
controller.add_peer(config.send_peer)
8989
start_wait = time.time()
9090
while not controller.receptor.router.node_is_known(config.ping_recipient) and (time.time() - start_wait < 5):
9191
await asyncio.sleep(0.1)

0 commit comments

Comments
 (0)