pub enum ReducerInput {
HostEvent {
host: String,
rollout_id: RolloutId,
event: Event,
},
ManifestSetUpdated(Box<SignedManifestSet>),
HeartbeatReceived {
host: String,
rollout_id: Option<RolloutId>,
current_closure: Option<String>,
at: DateTime<Utc>,
reply: Sender<HeartbeatReply>,
},
PlanTick,
}Expand description
Reducer-task inputs. Workers and HTTP route handlers obtain a
mpsc::Sender<ReducerInput> from the RuntimeHandle and emit values
of this type. Variants partition by the reducer action they drive:
ReducerInput::HostEvent— callstep()on the CP-mirror per-host state for(host, rollout_id), run applier on resulting effects.ReducerInput::ManifestSetUpdated— refresh the cachedSignedManifestSetand runplan_next().ReducerInput::HeartbeatReceived— touchlast_heartbeat_at; if the agent’scurrent_closuredisagrees with the CP mirror, the reply contains the last-known-seq forReplay-From(RFC-0005 §4.3).ReducerInput::PlanTick— safety-net periodic re-run ofplan_next()in case a manifest update was missed by a poller crash.
Variants§
HostEvent
ManifestSetUpdated(Box<SignedManifestSet>)
HeartbeatReceived
Fields
§
reply: Sender<HeartbeatReply>PlanTick
Auto Trait Implementations§
impl Freeze for ReducerInput
impl !RefUnwindSafe for ReducerInput
impl Send for ReducerInput
impl Sync for ReducerInput
impl Unpin for ReducerInput
impl !UnwindSafe for ReducerInput
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more