Skip to main content

ReactiveHook

Trait ReactiveHook 

Source
pub trait ReactiveHook<N: Network = Ethereum>: Send + Sync {
    // Required method
    fn on_report(&self, report: Arc<ReactiveReport<N>>);
}
Expand description

Hook invoked after reports are built and cache mutation phases have ended.

Hooks are synchronous in-process observers, not a durable transactional outbox. The runtime never dispatches reports for a batch it rejects or rolls back during checkpoint staging, and it dispatches a successfully staged batch at most once per live engine. A process crash can still occur between hook dispatch and durable checkpoint or transport acknowledgement. External side effects therefore need their own idempotency key (normally an InputRef or SubscriberDeliveryToken) and durable delivery mechanism.

Required Methods§

Source

fn on_report(&self, report: Arc<ReactiveReport<N>>)

Observe a runtime report.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§