pub struct Hooks {
    pub on_message: Arc<dyn Fn(SocketAddr, &NetworkMessage, &Outbox) + Send + Sync + 'static>,
    pub on_version: Arc<dyn Fn(SocketAddr, VersionMessage) + Send + Sync + 'static>,
    pub on_getcfilters: Arc<dyn Fn(SocketAddr, GetCFilters, &Outbox) + Send + Sync + 'static>,
    pub on_getdata: Arc<dyn Fn(SocketAddr, Vec<Inventory, Global>, &Outbox) + Send + Sync + 'static>,
}
Expand description

Holds functions that are used to hook into or alter protocol behavior.

Fields

on_message: Arc<dyn Fn(SocketAddr, &NetworkMessage, &Outbox) + Send + Sync + 'static>

Called when we receive a message from a peer. If an error is returned, the message is not further processed.

on_version: Arc<dyn Fn(SocketAddr, VersionMessage) + Send + Sync + 'static>

Called when a version message is received. If an error is returned, the peer is dropped, and the error is logged.

on_getcfilters: Arc<dyn Fn(SocketAddr, GetCFilters, &Outbox) + Send + Sync + 'static>

Called when a getcfilters message is received.

on_getdata: Arc<dyn Fn(SocketAddr, Vec<Inventory, Global>, &Outbox) + Send + Sync + 'static>

Called when a getdata message is received.

Trait Implementations

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Returns the “default value” for a type. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.