pub trait Tracer<I: Invocation>: Send {
    fn record_promise(
        &mut self,
        round_num: RoundNumOf<I>,
        coord_num: CoordNumOf<I>,
        promise: Vec<(RoundNumOf<I>, CoordNumOf<I>, LogEntryIdOf<I>)>
    ); fn record_accept(
        &mut self,
        round_num: RoundNumOf<I>,
        coord_num: CoordNumOf<I>,
        log_entry_id: LogEntryIdOf<I>
    ); fn record_commit(
        &mut self,
        round_num: RoundNumOf<I>,
        log_entry_id: LogEntryIdOf<I>
    ); }
Expand description

Records events as they are observed by a node.

Tracing events isn’t useful under normal operation. It can aid in understanding when and how inconsistencies were introduced. As such, some tests set a tracer so that they can emit a trace if they fail.

See NodeBuilder::traced_by.

Required Methods

A promise was made.

A proposal was accepted.

A log entry was committed.

Implementors