Yonas Habteab
1c34610a78
JsonRpcConnection: Don't read any data on shutdown
...
When the `Desconnect()` method is called, clients are not disconnected
immediately. Instead, a new coroutine is spawned using the same strand
as the other coroutines. This coroutine calls `async_shutdown` on the
TCP socket, which might be blocking. However, in order not to block
indefintely, the `Timeout` class cancels all operations on the socket
after `10` seconds. Though, the timeout does not trigger the handler
immediately; it creates spawns another coroutine using the same strand
as in the `JsonRpcConnection` class. This can cause unexpected delays if
e.g. `HandleIncomingMessages` gets resumed before the coroutine from the
timeout class. Apart from that, the coroutine for writing messages uses
the same condition, making the two symmetrical.
2024-10-31 17:09:13 +01:00
..
2023-01-24 15:08:17 +01:00
2020-07-03 11:17:36 +02:00
2019-02-25 14:48:22 +01:00
2020-11-12 14:23:41 +01:00
2019-02-25 14:48:22 +01:00
2020-11-12 14:23:41 +01:00
2020-02-11 17:26:15 +01:00
2024-06-13 11:26:19 +02:00
2023-02-01 12:29:47 +01:00
2024-10-30 16:55:13 +01:00
2024-03-07 17:17:17 +01:00
2021-07-27 21:57:02 +02:00
2023-05-17 18:05:13 +02:00
2019-02-25 14:48:22 +01:00
2020-10-09 20:15:44 +02:00
2024-08-09 12:59:25 +02:00
2021-08-02 15:40:14 +02:00
2019-04-02 17:37:29 +02:00
2024-06-13 11:26:19 +02:00
2024-06-13 11:26:19 +02:00
2024-06-13 11:26:19 +02:00
2022-11-28 16:39:16 +01:00
2021-08-02 15:40:14 +02:00
2019-04-02 17:37:29 +02:00
2022-03-30 09:42:22 +02:00
2022-03-30 09:42:22 +02:00
2023-05-17 18:05:13 +02:00
2022-03-30 09:42:22 +02:00
2023-08-09 08:45:04 +02:00
2019-04-02 17:37:29 +02:00
2024-06-13 11:26:19 +02:00
2019-04-02 17:37:29 +02:00
2024-06-13 11:26:19 +02:00
2019-04-02 17:37:29 +02:00
2021-02-03 09:54:57 +01:00
2021-02-03 09:54:57 +01:00
2020-10-19 13:04:20 +02:00
2022-02-22 17:51:43 +01:00
2021-02-03 09:54:57 +01:00
2024-02-09 12:00:50 +01:00
2019-04-02 17:37:29 +02:00
2023-12-13 16:02:50 +01:00
2022-11-28 14:50:54 +01:00
2023-05-17 18:05:13 +02:00
2019-05-24 15:50:43 +02:00
2024-09-05 15:10:14 +02:00
2019-10-21 16:12:35 +02:00
2020-12-22 16:27:38 +01:00
2019-05-24 15:50:43 +02:00
2019-02-25 14:48:22 +01:00
2023-05-17 18:05:13 +02:00
2019-04-02 17:37:29 +02:00
2022-02-22 17:51:43 +01:00
2019-10-21 16:12:35 +02:00
2023-05-17 18:05:13 +02:00
2023-12-18 15:28:11 +01:00
2024-10-31 17:09:13 +01:00
2024-10-30 14:31:48 +01:00
2024-08-09 12:59:25 +02:00
2024-08-09 12:59:25 +02:00
2019-02-25 14:48:22 +01:00
2019-02-25 14:48:22 +01:00
2024-06-13 11:26:19 +02:00
2019-04-02 17:37:29 +02:00
2022-11-28 14:50:54 +01:00
2019-04-02 17:37:29 +02:00
2023-05-17 18:05:13 +02:00
2019-06-07 10:33:55 +02:00
2023-05-17 18:05:13 +02:00
2019-04-02 17:37:29 +02:00
2019-04-02 17:37:29 +02:00
2019-04-02 17:37:29 +02:00
2019-04-02 17:37:29 +02:00
2019-04-02 17:37:29 +02:00
2019-02-25 14:48:22 +01:00
2023-05-17 18:05:13 +02:00
2019-02-25 14:48:22 +01:00
2023-05-17 18:05:13 +02:00
2019-04-02 17:37:29 +02:00
2019-02-25 14:48:22 +01:00
2019-02-25 14:48:22 +01:00
2022-09-09 18:26:28 +02:00