pub enum RolloutEvent {
RolloutOpened {
rollout_id: RolloutId,
channel: ChannelId,
target_ref: ChannelRef,
at: DateTime<Utc>,
},
HostJoined {
rollout_id: RolloutId,
host_id: HostId,
wave: u32,
at: DateTime<Utc>,
},
HostStateChanged {
rollout_id: RolloutId,
host_id: HostId,
from: HostRolloutState,
to: HostRolloutState,
at: DateTime<Utc>,
},
WaveAdvanced {
rollout_id: RolloutId,
from_wave: u32,
to_wave: u32,
at: DateTime<Utc>,
},
RolloutTerminal {
rollout_id: RolloutId,
at: DateTime<Utc>,
},
SuccessorOpened {
superseded_rollout_id: RolloutId,
successor_rollout_id: RolloutId,
at: DateTime<Utc>,
},
RetentionExpired {
rollout_id: RolloutId,
at: DateTime<Utc>,
},
OperatorClearance {
rollout_id: RolloutId,
operator: String,
reason: String,
at: DateTime<Utc>,
},
}Variants§
RolloutOpened
Channel-refs poll detected a new ref; planner opened the rollout. First event in any rollout’s lifecycle.
HostJoined
A host has been dispatched into this rollout (RFC-0005 §4.1
Dispatch queued). First HostJoined moves Opening → Active.
HostStateChanged
Per-host state transitioned (RFC-0005 §3). The rollout reducer aggregates these to drive the rollout-level state machine.
Fields
from: HostRolloutStateWaveAdvanced
A wave’s hosts all reached Soaked; planner is dispatching the next
wave. Drives Converging → Active.
RolloutTerminal
Aggregate signal: all hosts in all waves Converged. Drives
Converging → Terminal. Emitted by the reducer itself (not by an
upstream worker) as a consequence of the last per-host Converged.
SuccessorOpened
Channel-refs poll detected a successor ref. Both rollouts are named in one event so the reducer can transition the predecessor (→ Superseded) and open the successor in lockstep.
RetentionExpired
Retention threshold elapsed for a Terminal | Superseded | Failed | Reverted rollout. Drives the terminal-set → Pruned transition.
OperatorClearance
Operator-issued state override (currently rare; CLI wiring is a future v0.2.x follow-up — RFC-0008 §13 + Phase 10 brief §9.3).
Implementations§
Trait Implementations§
Source§impl Clone for RolloutEvent
impl Clone for RolloutEvent
Source§fn clone(&self) -> RolloutEvent
fn clone(&self) -> RolloutEvent
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more