Consider all reconnect attempts as retrying (#1557)

This means that a value of 0 retries will no longer try to reconnect.
This commit is contained in:
yash-dk
2020-09-13 13:13:01 +05:30
committed by GitHub
parent 2a114917f1
commit 1d6fd7898a
3 changed files with 15 additions and 5 deletions

View File

@@ -95,17 +95,23 @@ def strip_text(text, entities):
return text
def retry_range(retries):
def retry_range(retries, force_retry=True):
"""
Generates an integer sequence starting from 1. If `retries` is
not a zero or a positive integer value, the sequence will be
infinite, otherwise it will end at `retries + 1`.
"""
yield 1
# We need at least one iteration even if the retries are 0
# when force_retry is True.
if force_retry and not (retries is None or retries < 0):
retries += 1
attempt = 0
while attempt != retries:
attempt += 1
yield 1 + attempt
yield attempt
async def _maybe_await(value):