Skip to main content

tirea_contract/runtime/run/
flow.rs

1use crate::runtime::run::TerminationReason;
2
3/// Flow control extension: run-level action.
4///
5/// Populated by `RequestTermination` action.
6#[derive(Debug, Default, Clone)]
7pub struct FlowControl {
8    /// Run-level action emitted by plugins.
9    pub run_action: Option<RunAction>,
10}
11
12/// Run-level control action emitted by plugins.
13#[derive(Debug, Clone, PartialEq, Eq)]
14pub enum RunAction {
15    /// Continue normal execution.
16    Continue,
17    /// Terminate run with specific reason.
18    Terminate(TerminationReason),
19}