Files
Bruno Iljazovic 9e5aaecda0 Fix operations stalling indefinitely after cancellation.
Summary:
* `async_sender` and `async_wait_reply` now refuse new work while the Client is closed. Operations initiated before `async_run` immediately complete with `operation_aborted` instead of being cancelled after the reconnect fails.
* Receive channel starts closed, so `async_receive` on a non-running Client completes immediately.
* `assemble_op` dispatched buffered packets through a synthetic read completion that skipped the `is_open()` check, so a DISCONNECT received just before `cancel()` reopened the transport in `shutdown_op` and reconnected forever. It now checks the Client in every path.
* `resolve_op` resolves a single endpoint per call; `reconnect_op` walks the server list, so every retry passes the existing `is_open()` check.
Fixes #58.

Reviewers: ivica

Reviewed By: ivica

Differential Revision: https://repo.mireo.local/D42249
2026-08-24 19:36:39 +02:00
..
2025-02-21 08:16:39 +01:00
2026-07-10 09:33:19 +02:00