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§
Sourcefn on_report(&self, report: Arc<ReactiveReport<N>>)
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".