pub trait NodeComponentsBuilder<Node>: Sendwhere
Node: FullNodeTypes,{
type Components: NodeComponents<Node>;
// Required method
fn build_components(
self,
ctx: &BuilderContext<Node>,
) -> impl Future<Output = Result<Self::Components, Report>> + 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, Report>> + Send
fn build_components( self, ctx: &BuilderContext<Node>, ) -> impl Future<Output = Result<Self::Components, Report>> + Send
Consumes the type and returns the created components.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".