1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
//! Executor — orchestration of runtime execution and rate control
//!
//! The `Executor` trait is the runtime that executes a `Scenario`. Different
//! executors provide different execution strategies: sequential, concurrent,
//! distributed, or token-bucket-based.
//!
//! Karga provides a built-in [`StageExecutor`] which uses a token-bucket governor
//! driven by a list of [`Stage`]s to control the request rate.
pub use ;
use crate::;
use Future;
/// The runtime hook that executes a `Scenario`.
///
/// `Executor` defines the execution strategy for a given scenario, such as:
/// - Simple sequential or concurrent runs.
/// - Rate-limited execution (e.g., token-bucket).
/// - Distributed execution across multiple nodes.
///
/// This trait is generic over the aggregate, action, and future types to remain
/// flexible and composable.