pub trait SessionEffects {
// Required methods
fn start_build(&mut self, generation: BuildGeneration);
fn discard_stale(&mut self, generation: BuildGeneration);
fn push_candidate(
&mut self,
generation: BuildGeneration,
) -> Result<(), String>;
fn report_build_failure(
&mut self,
generation: BuildGeneration,
error: &BuildError,
);
fn resubscribe(&mut self) -> Result<(), String>;
}Expand description
The effects the loop commands; the real implementation snapshots,
builds, and pushes over S1 — tests record and script. Every method is
commanded by exactly one Directive (or the halt paths).
Required Methods§
Sourcefn start_build(&mut self, generation: BuildGeneration)
fn start_build(&mut self, generation: BuildGeneration)
Launch one build of the CURRENT content at this generation; its
completion arrives as LoopInput::BuildCompleted.
Sourcefn discard_stale(&mut self, generation: BuildGeneration)
fn discard_stale(&mut self, generation: BuildGeneration)
A completed build was superseded before activation; drop its candidate.
Sourcefn push_candidate(&mut self, generation: BuildGeneration) -> Result<(), String>
fn push_candidate(&mut self, generation: BuildGeneration) -> Result<(), String>
Push the completed candidate through S1 and report the outcome.
§Errors
The node connection is gone (the S3 fate), rendered.
Sourcefn report_build_failure(
&mut self,
generation: BuildGeneration,
error: &BuildError,
)
fn report_build_failure( &mut self, generation: BuildGeneration, error: &BuildError, )
A build failed: report RELOAD FAILED — RUNNING LAST GOOD with
the verbatim diagnostics.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".