aion-rs 0.31.0

Transport-agnostic Aion workflow engine with durability, replay, timers, and supervision.
Documentation
//! Workloop engine services (workloop design brief, Leg 2).
//!
//! The perpetual-work half of the engine: an engine-side cadence dead-man
//! switch (R4.3), tolerance accounting on the one alarm path (R4.2),
//! iteration-as-generation via the continue-as-new boundary (R3.1), invariant
//! current-state records with declared retention (R7/R8), suspended residency
//! between fires (R13.3), and the detached hatch with mandatory dedupe
//! identity (R13.1).

pub mod close;
pub mod declared;
pub mod error;
pub mod hatch;
pub mod health;
pub mod iteration;
pub mod retire;
pub mod service;
pub mod sink;
pub mod wake;
pub mod windows;

pub use declared::spec_from_contract;
pub use error::WorkloopError;
pub use hatch::{HatchOutcome, hatch_identity};
pub use health::{UnconfirmedEvidence, observe_confirmed, observe_unconfirmed, take_alarm};
pub use iteration::{IterationOutcome, WorkloopIterationClose};
pub use retire::{RETIRE_ARITY, RETIRE_ENTRY, RetireInvocation};
pub use service::{LoopEventSink, SweepReport, WorkloopService, WorkloopWaker};
pub use sink::EngineLoopEventSink;
pub use wake::EngineWorkloopWaker;
pub use windows::{advance_window, initial_window, next_check_at};

#[cfg(test)]
#[path = "service_tests.rs"]
mod service_tests;