pub enum RolloutState {
Opening,
Active,
Converging,
Terminal,
Reverted,
Failed,
Superseded,
Pruned,
}Expand description
The eight rollout-level states per RFC-0008 §3.
Variants§
Opening
Channel-refs poll detected new ref; rollout opened; no hosts dispatched yet.
Active
At least one host is in-flight
(Pending / Activating / Soaking per RFC-0005).
Converging
All dispatched hosts reached Soaked; later waves remain to
dispatch.
Terminal
All hosts in all waves are Converged; channel-edges may release.
Reverted
Any host reached Reverted via the rollback-and-halt policy.
Failed
Any host stuck in Failed state without rollback
(e.g., halt-only policy).
Superseded
A newer rollout for the same channel opened.
Pruned
Retention timeout elapsed; in-memory state-machine instance is
freed but the DB row persists (table remains re-derivable from
event_log). Physical row deletion deferred to v0.3 retention-
compaction (RFC-0008 §3 + §13).
Implementations§
Source§impl RolloutState
impl RolloutState
pub fn as_db_str(&self) -> &'static str
Sourcepub fn from_db_str(s: &str) -> Option<Self>
pub fn from_db_str(s: &str) -> Option<Self>
Parse the SQLite stored string. Returns None on unknown values; the
schema CHECK constraint should prevent that, but callers handle
gracefully rather than crashing.
Sourcepub fn is_terminal_for_ordering(&self) -> bool
pub fn is_terminal_for_ordering(&self) -> bool
Channel-edges treat Terminal and Superseded as equivalent
release signals (RFC-0008 §3 invariant: “Superseded is terminal-for-
ordering but not terminal-for-pruning”).
Trait Implementations§
Source§impl Clone for RolloutState
impl Clone for RolloutState
Source§fn clone(&self) -> RolloutState
fn clone(&self) -> RolloutState
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more