pub trait NodeComponentsBuilder<Node: FullNodeTypes>: Send {
type Components: NodeComponents<Node>;
// Required method
fn build_components(
self,
ctx: &BuilderContext<Node>,
) -> impl Future<Output = Result<Self::Components>> + Send;
}
Expand description
A type that configures all the customizable components of the node and knows how to build them.
Implementers of this trait are responsible for building all the components of the node: See
NodeComponents
.
The ComponentsBuilder
is a generic, general purpose implementation of this trait that can be
used to customize certain components of the node using the builder pattern and defaults, e.g.
Ethereum and Optimism.
A type that’s responsible for building the components of the node.
Required Associated Types§
sourcetype Components: NodeComponents<Node>
type Components: NodeComponents<Node>
The components for the node with the given types
Required Methods§
sourcefn build_components(
self,
ctx: &BuilderContext<Node>,
) -> impl Future<Output = Result<Self::Components>> + Send
fn build_components( self, ctx: &BuilderContext<Node>, ) -> impl Future<Output = Result<Self::Components>> + Send
Consumes the type and returns the created components.
Object Safety§
This trait is not object safe.