Skip to content

Commit 9a4308c

Browse files
committed
Move on_reconnect to client level (#2111)
1 parent 30049b4 commit 9a4308c

File tree

4 files changed

+2
-8
lines changed

4 files changed

+2
-8
lines changed

pymodbus/client/base.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -188,6 +188,8 @@ def callback_new_connection(self):
188188

189189
def callback_connected(self) -> None:
190190
"""Call when connection is succcesfull."""
191+
if self.on_reconnect_callback:
192+
self.on_reconnect_callback()
191193

192194
def callback_disconnected(self, exc: Exception | None) -> None:
193195
"""Call when connection is lost."""
@@ -311,7 +313,6 @@ def __init__(
311313
broadcast_enable: bool = False,
312314
reconnect_delay: float = 0.1,
313315
reconnect_delay_max: float = 300.0,
314-
on_reconnect_callback: Callable[[], None] | None = None,
315316
no_resend_on_retry: bool = False,
316317
**kwargs: Any,
317318
) -> None:
@@ -332,7 +333,6 @@ def __init__(
332333
parity=kwargs.get("parity", None),
333334
stopbits=kwargs.get("stopbits", None),
334335
handle_local_echo=kwargs.get("handle_local_echo", False),
335-
on_reconnect_callback=on_reconnect_callback,
336336
)
337337
self.params = self._params()
338338
self.params.retries = int(retries)

pymodbus/transport/transport.py

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,6 @@ class CommParams:
8787
port: int = 0
8888
source_address: tuple[str, int] | None = None
8989
handle_local_echo: bool = False
90-
on_reconnect_callback: Callable[[], None] | None = None
9190

9291
# tls
9392
sslctx: ssl.SSLContext | None = None
@@ -471,8 +470,6 @@ async def do_reconnect(self) -> None:
471470
self.reconnect_delay_current * 1000,
472471
)
473472
await asyncio.sleep(self.reconnect_delay_current)
474-
if self.comm_params.on_reconnect_callback:
475-
self.comm_params.on_reconnect_callback()
476473
if await self.connect():
477474
break
478475
self.reconnect_delay_current = min(

test/transport/test_protocol.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -301,7 +301,6 @@ async def test_do_reconnect(self, client):
301301
assert client.reconnect_delay_current == client.comm_params.reconnect_delay * 2
302302
assert not client.reconnect_task
303303
client.connect.side_effect = asyncio.CancelledError("stop loop")
304-
client.comm_params.on_reconnect_callback = mock.Mock()
305304
await client.do_reconnect()
306305
assert client.reconnect_delay_current == client.comm_params.reconnect_delay
307306
assert not client.reconnect_task

test/transport/test_reconnect.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@ async def test_no_reconnect_call(self, client):
2828

2929
async def test_reconnect_call(self, client):
3030
"""Test connection_lost()."""
31-
client.comm_params.on_reconnect_callback = mock.MagicMock()
3231
client.loop = asyncio.get_running_loop()
3332
client.call_create = mock.AsyncMock(return_value=(None, None))
3433
await client.connect()
@@ -39,7 +38,6 @@ async def test_reconnect_call(self, client):
3938
assert client.reconnect_task
4039
assert client.call_create.call_count == 2
4140
assert client.reconnect_delay_current == client.comm_params.reconnect_delay * 2
42-
assert client.comm_params.on_reconnect_callback.called
4341
client.close()
4442

4543
async def test_multi_reconnect_call(self, client):

0 commit comments

Comments
 (0)