pub struct CommittedTransition<Step> {
pub record: KernelRecord,
pub step: Step,
pub step_seq: WireU64,
pub checkpoint_advice: Option<CheckpointAdvice>,
}Expand description
One durable transition, after the host’s append and this runtime’s commit.
Fields§
§record: KernelRecord§step: Step§step_seq: WireU64§checkpoint_advice: Option<CheckpointAdvice>§12.3 · set on exactly the commit that carries the tail past its soft watermark.
Edge-triggered, not level-triggered. A level-triggered flag would be set on every commit between the watermark and the hard limit, which is precisely the window in which the host is already taking a checkpoint — so it would arrive as noise at the moment it stopped being news. Fired once per crossing, it is a fact: “the tail just went over”.
The host projects it into a §7.11 observation (Phase 6). The kernel does not push it, because a transition publishes effects or a terminal (§7.12) and advice is neither.
Implementations§
Source§impl<Step: TransitionStep> CommittedTransition<Step>
impl<Step: TransitionStep> CommittedTransition<Step>
Sourcepub fn published_effects(&self) -> &[KernelEffect]
pub fn published_effects(&self) -> &[KernelEffect]
The effects this commit made visible. Before the commit there were none — §15.2’s “an
effect is not visible before its record is durable” is why they are published from here
rather than from prepare.
pub fn terminal(&self) -> Option<&KernelTerminal>
Trait Implementations§
Source§impl<Step: Clone> Clone for CommittedTransition<Step>
impl<Step: Clone> Clone for CommittedTransition<Step>
Source§fn clone(&self) -> CommittedTransition<Step>
fn clone(&self) -> CommittedTransition<Step>
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more