reth::builder::components

Trait PoolBuilder

Source
pub trait PoolBuilder<Node>: Send
where Node: FullNodeTypes,
{ type Pool: TransactionPool + Unpin + 'static where <Self::Pool as TransactionPool>::Transaction: PoolTransaction<Consensus = <<<Node as FullNodeTypes>::Types as NodeTypes>::Primitives as NodePrimitives>::SignedTx>; // Required method fn build_pool( self, ctx: &BuilderContext<Node>, ) -> impl Future<Output = Result<Self::Pool, Report>> + Send; }
Expand description

A type that knows how to build the transaction pool.

Required Associated Types§

Source

type Pool: TransactionPool + Unpin + 'static where <Self::Pool as TransactionPool>::Transaction: PoolTransaction<Consensus = <<<Node as FullNodeTypes>::Types as NodeTypes>::Primitives as NodePrimitives>::SignedTx>

The transaction pool to build.

Required Methods§

Source

fn build_pool( self, ctx: &BuilderContext<Node>, ) -> impl Future<Output = Result<Self::Pool, Report>> + Send

Creates the transaction pool.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl<Types, Node> PoolBuilder<Node> for EthereumPoolBuilder
where Types: NodeTypesWithEngine<ChainSpec = ChainSpec, Primitives = EthPrimitives>, Node: FullNodeTypes<Types = Types>,

Implementors§

Source§

impl<Node, F, Fut, Pool> PoolBuilder<Node> for F
where Node: FullNodeTypes, Pool: TransactionPool + Unpin + 'static, <Pool as TransactionPool>::Transaction: PoolTransaction<Consensus = <<<Node as FullNodeTypes>::Types as NodeTypes>::Primitives as NodePrimitives>::SignedTx>, F: FnOnce(&BuilderContext<Node>) -> Fut + Send, Fut: Future<Output = Result<Pool, Report>> + Send,

Source§

type Pool = Pool