Skip to main content

Tracer

Trait Tracer 

Source
pub trait Tracer {
    // Required methods
    fn enter_call(&mut self, node_id: &str, name: &str, args: &[Value]);
    fn enter_effect(
        &mut self,
        node_id: &str,
        kind: &str,
        op: &str,
        args: &[Value],
    );
    fn exit_ok(&mut self, value: &Value);
    fn exit_err(&mut self, message: &str);
    fn exit_call_tail(&mut self);

    // Provided method
    fn override_effect(&mut self, _node_id: &str) -> Option<Value> { ... }
}
Expand description

Trace receiver. Implementors record the call/effect tree and may substitute effect responses (for replay).

Required Methods§

Source

fn enter_call(&mut self, node_id: &str, name: &str, args: &[Value])

Source

fn enter_effect(&mut self, node_id: &str, kind: &str, op: &str, args: &[Value])

Source

fn exit_ok(&mut self, value: &Value)

Source

fn exit_err(&mut self, message: &str)

Source

fn exit_call_tail(&mut self)

Tail-call optimization: pop the current frame’s open call without re-entering the parent (the new call takes its place).

Provided Methods§

Source

fn override_effect(&mut self, _node_id: &str) -> Option<Value>

During replay, return Some(v) to substitute an effect’s output.

Implementors§