Skip to content

Commit

Permalink
Don't retry respond_peers message (Chia-Network#3508)
Browse files Browse the repository at this point in the history
  • Loading branch information
mariano54 authored May 3, 2021
1 parent ca4b252 commit 5ce1bfc
Showing 1 changed file with 11 additions and 8 deletions.
19 changes: 11 additions & 8 deletions chia/server/ws_connection.py
Original file line number Diff line number Diff line change
Expand Up @@ -238,7 +238,7 @@ async def inbound_handler(self):
self.log.error(f"Exception Stack: {error_stack}")

async def send_message(self, message: Message):
""" Send message sends a message with no tracking / callback. """
"""Send message sends a message with no tracking / callback."""
if self.closed:
return
await self.outgoing_queue.put(message)
Expand Down Expand Up @@ -346,13 +346,16 @@ async def _send_message(self, message: Message):
f"peer: {self.peer_host}"
)

async def wait_and_retry(msg: Message, queue: asyncio.Queue):
try:
await asyncio.sleep(1)
await queue.put(msg)
except Exception as e:
self.log.debug(f"Exception {e} while waiting to retry sending rate limited message")
return
# TODO: fix this special case. This function has rate limits which are too low.
if ProtocolMessageTypes(message.type) != ProtocolMessageTypes.respond_peers:

async def wait_and_retry(msg: Message, queue: asyncio.Queue):
try:
await asyncio.sleep(1)
await queue.put(msg)
except Exception as e:
self.log.debug(f"Exception {e} while waiting to retry sending rate limited message")
return

asyncio.create_task(wait_and_retry(message, self.outgoing_queue))
return
Expand Down

0 comments on commit 5ce1bfc

Please sign in to comment.