Mikołaj Grzebieluch
086b3369f4
utils: error injection: add inject_with_handler for interactions with injected code
...
Currently, it is hard for injected code to wait for some events, for example,
requests on some REST endpoint.
This commit adds the `inject_with_handler` method that executes injected function
and passes `injection_handler` as its argument.
The `injection_handler` class is used to wait for events inside the injected code.
The `error_injection` class can notify the injection's handler or handlers
associated with the injection on all shards about the received message.
There is a counter of received messages in `received_messages_counter`; it is shared
between the injection_data, which is created once when enabling an injection on
a given shard, and all `injection_handler`s, that are created separately for each
firing of this injection. The `counter` is incremented when receiving a message from
the REST endpoint and the condition variable is signaled.
Each `injection_handler` (separate for each firing) stores its own private counter,
`_read_messages_counter` that private counter is incremented whenever we wait for a
message, and compared to the received counter. We sleep on the condition variable
if not enough messages were received.
2023-07-06 12:32:07 +02:00
..
2022-11-27 12:25:20 +02:00
2018-10-02 18:48:23 +01:00
2022-11-17 11:09:59 +02:00
2023-04-28 15:59:08 +03:00
2023-06-08 18:38:57 +03:00
2022-02-24 19:44:50 +03:00
2022-08-05 20:34:07 +03:00
2023-04-27 10:24:46 +03:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2023-04-17 11:14:45 +03:00
2023-04-17 11:16:45 +03:00
2023-01-16 14:36:23 +01:00
2022-01-18 12:15:18 +01:00
2023-05-07 19:01:29 +03:00
2023-04-15 12:52:30 +08:00
2022-08-08 08:02:27 +03:00
2023-03-24 15:41:45 +08:00
2023-03-24 15:41:45 +08:00
2022-05-13 07:11:58 +02:00
2022-05-13 07:11:58 +02:00
2022-01-18 12:15:18 +01:00
2023-04-27 10:24:46 +03:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2023-05-07 17:17:34 +03:00
2022-06-02 11:21:05 +03:00
2021-06-06 19:18:49 +03:00
2023-06-06 13:29:16 +03:00
2023-05-02 10:48:46 +03:00
2022-01-18 12:15:18 +01:00
2022-11-12 17:04:05 +02:00
2023-04-23 08:37:32 +03:00
2022-10-02 13:41:40 +03:00
2022-01-18 12:15:18 +01:00
2023-04-27 10:24:46 +03:00
2023-04-06 09:51:28 -04:00
2023-05-07 19:01:29 +03:00
2023-03-29 19:22:21 +08:00
2022-01-18 12:15:18 +01:00
2022-02-24 19:44:29 +03:00
2022-09-16 08:21:02 +03:00
2022-01-18 12:15:18 +01:00
2023-02-15 22:56:49 +08:00
2023-02-17 07:19:52 +02:00
2023-02-17 07:19:52 +02:00
2023-06-07 20:25:49 +03:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2023-04-27 10:24:46 +03:00
2022-07-27 13:32:36 +03:00
2022-07-27 13:32:36 +03:00
2022-03-25 16:19:26 +02:00
2022-07-11 09:17:30 +02:00
2022-01-18 12:15:18 +01:00
2023-07-06 12:32:07 +02:00
2022-07-26 15:59:33 +03:00
2022-02-22 16:08:52 +01:00
2022-07-05 16:41:09 +02:00
2022-10-03 18:50:06 +03:00
2022-01-18 12:15:18 +01:00
2022-07-27 13:17:27 +03:00
2022-05-13 07:11:58 +02:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2023-04-11 16:09:38 +03:00
2023-04-27 10:24:46 +03:00
2022-01-18 12:15:18 +01:00
2023-04-24 14:06:43 +03:00
2023-04-24 14:06:40 +03:00
2023-04-24 14:06:40 +03:00
2022-07-27 16:58:52 +03:00
2022-07-27 16:58:52 +03:00
2023-02-14 19:22:19 +08:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-05-13 07:11:58 +02:00
2022-03-25 16:19:26 +02:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2023-04-27 10:24:46 +03:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2023-04-21 14:28:18 +03:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-11-17 19:01:45 +03:00
2022-11-17 19:01:45 +03:00
2023-04-27 10:24:46 +03:00
2023-04-27 10:24:46 +03:00
2023-04-27 10:24:46 +03:00
2023-05-29 23:03:25 +03:00
2022-09-16 13:02:40 +03:00
2023-01-27 21:56:31 +01:00
2023-05-07 17:16:38 +03:00
2023-05-07 17:17:34 +03:00
2022-02-24 19:44:50 +03:00
2022-02-24 19:44:50 +03:00
2022-01-18 12:15:18 +01:00
2023-03-20 07:55:20 +02:00
2022-01-18 12:15:18 +01:00
2023-04-27 10:24:46 +03:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-11-28 21:58:30 +02:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2023-01-27 21:56:31 +01:00
2023-06-26 21:58:20 -03:00
2023-06-26 21:58:20 -03:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2023-02-03 19:04:32 +01:00
2022-02-22 16:25:21 +01:00
2022-04-18 12:27:18 +03:00
2023-02-28 21:56:55 +08:00
2022-03-16 12:28:47 +03:00
2023-04-26 22:09:17 +02:00
2023-01-23 13:46:06 +01:00
2023-01-16 15:15:27 +01:00
2023-06-26 11:10:38 +03:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2023-05-21 11:33:38 +04:00
2022-01-18 12:15:18 +01:00
2023-05-11 16:31:23 +03:00
2023-04-24 14:06:43 +03:00
2023-05-02 10:48:46 +03:00
2023-05-24 12:08:19 +04:00
2022-05-13 07:11:58 +02:00
2023-05-15 10:19:39 +03:00
2023-06-21 00:58:24 +02:00
2023-02-15 11:09:04 +02:00
2023-05-02 10:59:58 +03:00
2022-01-18 12:15:18 +01:00
2023-06-15 15:52:50 +04:00
2023-01-27 19:15:39 +01:00
2022-01-18 12:15:18 +01:00
2022-10-05 10:52:49 +03:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2023-02-17 07:19:52 +02:00
2023-04-21 10:33:02 +02:00
2023-03-20 14:25:45 +08:00
2023-05-07 18:07:49 +03:00
2022-11-27 16:34:34 +02:00
2022-01-18 12:15:18 +01:00
2023-02-17 07:19:52 +02:00