Trait reth_network::import::BlockImport

source ·
pub trait BlockImport:
    Debug
    + Send
    + Sync {
    // Required methods
    fn on_new_block(&mut self, peer_id: PeerId, incoming_block: NewBlockMessage);
    fn poll(&mut self, cx: &mut Context<'_>) -> Poll<BlockImportOutcome>;
}
Expand description

Abstraction over block import.

Required Methods§

source

fn on_new_block(&mut self, peer_id: PeerId, incoming_block: NewBlockMessage)

Invoked for a received NewBlock broadcast message from the peer.

When a NewBlock announcement message is received from a peer, the client first verifies the basic header validity of the block, checking whether the proof-of-work value is valid.

This is supposed to start verification. The results are then expected to be returned via BlockImport::poll.

source

fn poll(&mut self, cx: &mut Context<'_>) -> Poll<BlockImportOutcome>

Returns the results of a BlockImport::on_new_block

Implementors§