pub trait CalcObserver: Send + Sync {
// Required methods
fn on_eval_start(&self, vertex_id: VertexId);
fn on_eval_complete(&self, vertex_id: VertexId, duration: Duration);
fn on_cycle_detected(&self, cycle: &[VertexId]);
fn on_dirty_propagation(&self, vertex_id: VertexId, affected_count: usize);
}Expand description
Scalability hook reserved for calculation observability. No engine registration or invocation path currently delivers these notifications. Future delivery must catch observer panics and drop that notification without affecting values, completeness diagnostics or engine poison.
Required Methods§
fn on_eval_start(&self, vertex_id: VertexId)
fn on_eval_complete(&self, vertex_id: VertexId, duration: Duration)
fn on_cycle_detected(&self, cycle: &[VertexId])
fn on_dirty_propagation(&self, vertex_id: VertexId, affected_count: usize)
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".
Implementations on Foreign Types§
Source§impl CalcObserver for ()
Default no-op observer
impl CalcObserver for ()
Default no-op observer