Skip to content

Commit 450b96f

Browse files
committed
Revert "Delay callback_disconnected() until reconnect_delay_max. (#2210)"
This reverts commit 45a998b.
1 parent 45a998b commit 450b96f

File tree

2 files changed

+6
-7
lines changed

2 files changed

+6
-7
lines changed

pymodbus/transport/transport.py

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -473,11 +473,10 @@ async def do_reconnect(self) -> None:
473473
await asyncio.sleep(self.reconnect_delay_current)
474474
if await self.connect():
475475
break
476-
self.reconnect_delay_current = 2 * self.reconnect_delay_current
477-
if self.reconnect_delay_current > self.comm_params.reconnect_delay_max:
478-
self.callback_disconnected(Exception("Retry connect timeout."))
479-
self.reconnect_delay_current = self.comm_params.reconnect_delay_max
480-
break
476+
self.reconnect_delay_current = min(
477+
2 * self.reconnect_delay_current,
478+
self.comm_params.reconnect_delay_max,
479+
)
481480
except asyncio.CancelledError:
482481
pass
483482
self.reconnect_task = None

test/transport/test_reconnect.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,9 +52,9 @@ async def test_multi_reconnect_call(self, client):
5252
assert client.reconnect_delay_current == client.comm_params.reconnect_delay * 2
5353
await asyncio.sleep(client.reconnect_delay_current * 1.8)
5454
assert client.call_create.call_count == 3
55-
assert client.reconnect_delay_current >= client.comm_params.reconnect_delay_max
55+
assert client.reconnect_delay_current == client.comm_params.reconnect_delay_max
5656
await asyncio.sleep(client.reconnect_delay_current * 1.8)
57-
assert client.call_create.call_count >= 3
57+
assert client.call_create.call_count >= 4
5858
assert client.reconnect_delay_current == client.comm_params.reconnect_delay_max
5959
client.close()
6060

0 commit comments

Comments
 (0)