Skip to main content

aion/workloop/
mod.rs

1//! Workloop engine services (workloop design brief, Leg 2).
2//!
3//! The perpetual-work half of the engine: an engine-side cadence dead-man
4//! switch (R4.3), tolerance accounting on the one alarm path (R4.2),
5//! iteration-as-generation via the continue-as-new boundary (R3.1), invariant
6//! current-state records with declared retention (R7/R8), suspended residency
7//! between fires (R13.3), and the detached hatch with mandatory dedupe
8//! identity (R13.1).
9
10pub mod close;
11pub mod declared;
12pub mod error;
13pub mod hatch;
14pub mod health;
15pub mod iteration;
16pub mod retire;
17pub mod service;
18pub mod sink;
19pub mod wake;
20pub mod windows;
21
22pub use declared::spec_from_contract;
23pub use error::WorkloopError;
24pub use hatch::{HatchOutcome, hatch_identity};
25pub use health::{UnconfirmedEvidence, observe_confirmed, observe_unconfirmed, take_alarm};
26pub use iteration::{IterationOutcome, WorkloopIterationClose};
27pub use retire::{RETIRE_ARITY, RETIRE_ENTRY, RetireInvocation};
28pub use service::{LoopEventSink, SweepReport, WorkloopService, WorkloopWaker};
29pub use sink::EngineLoopEventSink;
30pub use wake::EngineWorkloopWaker;
31pub use windows::{advance_window, initial_window, next_check_at};
32
33#[cfg(test)]
34#[path = "service_tests.rs"]
35mod service_tests;