pub trait RecordObserver: Send + Sync {
// Provided methods
fn call_started(&self, _call: &CallRecord) { ... }
fn decision(&self, _record: &DecisionRecord) { ... }
fn call_finished(&self, _call: &CallRecord) { ... }
}Expand description
Sees records as they are made, for an embedder that streams a run while it executes.
Called on the thread running the program, after the recorder has released its lock.
It must not block: an implementation that cannot keep up drops what it cannot hold.
What it sees is also in the DecisionLogOutput the run ends with, unless the
recorder’s own caps dropped it there.
Provided Methods§
fn call_started(&self, _call: &CallRecord)
fn decision(&self, _record: &DecisionRecord)
Sourcefn call_finished(&self, _call: &CallRecord)
fn call_finished(&self, _call: &CallRecord)
The call as it ended, without its payload contents: each side’s meta is Null
and it has no body and no masked header names, but it keeps its size, digest,
truncation flag, timing, and usage.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".