pub struct Readiness<A, K, Route>{ /* private fields */ }Expand description
Fixed-dependency, versioned admission-readiness policy.
Construction normalizes dependencies by first occurrence and initializes
each to ReadinessEvidence::Unknown. Greater evidence versions replace the
prior classification, identical evidence is idempotent, and stale or
same-version contradictory evidence is rejected without mutation. A report
is ready exactly when every configured dependency is Ready; the empty set
is ready. Initialization emits no effects, the template creates no actors,
never terminates by policy, and requires only typed result delivery. Fixed
membership, version ordering, and empty-set readiness are deliberate Bombay
policy. Export through HTTP or orchestration remains a System adapter
responsibility. No method has a semantic panic condition.
Implementations§
Source§impl<A, K, Route> Readiness<A, K, Route>where
A: Address,
K: Clone + Eq,
Route: DeliveryRoute<Protocol: Protocol<Addr = A, Msg = ReadinessReport<K>>>,
impl<A, K, Route> Readiness<A, K, Route>where
A: Address,
K: Clone + Eq,
Route: DeliveryRoute<Protocol: Protocol<Addr = A, Msg = ReadinessReport<K>>>,
Sourcepub fn new(dependencies: impl IntoIterator<Item = K>) -> Self
pub fn new(dependencies: impl IntoIterator<Item = K>) -> Self
Construct readiness policy for a fixed dependency set.
Sourcepub fn dependencies(&self) -> &[DependencyReadiness<K>]
pub fn dependencies(&self) -> &[DependencyReadiness<K>]
Borrow configured dependencies and their complete current evidence.