hooks
Source: crates/lvcs/src/runtime/mod.rs.
/// What the runtime needs of one actor kind's machine `M` beyond sml's
/// `Machine` and `Terminated` (decision 286): plain function pointers, not
/// a trait.
///
/// `O` is the machine's output and `C` its content check: `()` for every
/// machine whose context its journaled events determine, and the
/// document's `DocFingerprint` (decision 32), since a document starts from
/// saves the journal does not hold.
pub(crate) struct Hooks<M, O, C = ()> {
/// The bounded `actor_kind` value: the journal's and the span's.
pub(crate) kind: ActorKind,
/// Take every output the machine's actions pushed since the last call.
pub(crate) outputs: fn(&mut M) -> Vec<O>,
/// Take the machine's logger trace since the last call.
pub(crate) trace: fn(&mut M) -> Vec<Line>,
/// The machine's content check now.
pub(crate) check: fn(&M) -> C,
}