pub trait Callback: Send {
// Provided methods
fn requires(&self) -> Vec<DiagnosticRequest> { ... }
fn requires_for(
&self,
_hook: CallbackHook,
_iteration: usize,
) -> Vec<DiagnosticRequest> { ... }
fn on_start(&mut self, _context: &StepContext<'_>) -> Result<CallbackAction> { ... }
fn on_frame_end(
&mut self,
_context: &StepContext<'_>,
) -> Result<CallbackAction> { ... }
fn on_iteration_end(
&mut self,
_context: &StepContext<'_>,
) -> Result<CallbackAction> { ... }
fn on_finish(&mut self, _result: &ReconstructionResult) -> Result<()> { ... }
}Provided Methods§
fn requires(&self) -> Vec<DiagnosticRequest>
Sourcefn requires_for(
&self,
_hook: CallbackHook,
_iteration: usize,
) -> Vec<DiagnosticRequest>
fn requires_for( &self, _hook: CallbackHook, _iteration: usize, ) -> Vec<DiagnosticRequest>
Requests diagnostics for a specific hook. Built-in periodic callbacks override this to avoid computing snapshots on inactive iterations.
fn on_start(&mut self, _context: &StepContext<'_>) -> Result<CallbackAction>
Sourcefn on_frame_end(&mut self, _context: &StepContext<'_>) -> Result<CallbackAction>
fn on_frame_end(&mut self, _context: &StepContext<'_>) -> Result<CallbackAction>
Runs once for every completed frame when frame callbacks are enabled.
For multi-frame algorithms, all frames in a batch observe the same
post-batch state while frame_index and natural loss remain per-frame.