reth_network::import

Trait BlockImport

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

Abstraction over block import.

Required Methods§

Source

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

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<B>>

Returns the results of a BlockImport::on_new_block

Implementors§