reth_stages

Trait StageSet

pub trait StageSet<Provider>: Sized {
    // Required method
    fn builder(self) -> StageSetBuilder<Provider>;

    // Provided method
    fn set<S>(self, stage: S) -> StageSetBuilder<Provider>
       where S: Stage<Provider> + 'static { ... }
}
Expand description

Combines multiple Stages into a single unit.

A StageSet is a logical chunk of stages that depend on each other. It is up to the individual stage sets to determine what kind of configuration they expose.

Individual stages in the set can be added, removed and overridden using StageSetBuilder.

Required Methods§

fn builder(self) -> StageSetBuilder<Provider>

Configures the stages in the set.

Provided Methods§

fn set<S>(self, stage: S) -> StageSetBuilder<Provider>
where S: Stage<Provider> + 'static,

Overrides the given Stage, if it is in this set.

§Panics

Panics if the Stage is not in this set.

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.

Implementors§

Source§

impl<E, Provider> StageSet<Provider> for ExecutionStages<E>
where E: BlockExecutorProvider, SenderRecoveryStage: Stage<Provider>, ExecutionStage<E>: Stage<Provider>,

Source§

impl<E, Provider> StageSet<Provider> for OfflineStages<E>
where E: BlockExecutorProvider, ExecutionStages<E>: StageSet<Provider>, PruneSenderRecoveryStage: Stage<Provider>, HashingStages: StageSet<Provider>, HistoryIndexingStages: StageSet<Provider>, PruneStage: Stage<Provider>,

Source§

impl<P, H, B, E, Provider> StageSet<Provider> for DefaultStages<P, H, B, E>
where P: HeaderSyncGapProvider + 'static, H: HeaderDownloader + 'static, B: BodyDownloader + 'static, E: BlockExecutorProvider, OnlineStages<P, H, B>: StageSet<Provider>, OfflineStages<E>: StageSet<Provider>,

Source§

impl<Provider> StageSet<Provider> for HashingStages
where MerkleStage: Stage<Provider>, AccountHashingStage: Stage<Provider>, StorageHashingStage: Stage<Provider>,

Source§

impl<Provider> StageSet<Provider> for HistoryIndexingStages

§

impl<Provider> StageSet<Provider> for StageSetBuilder<Provider>

Source§

impl<Provider> StageSet<Provider> for TestStages

Available on crate feature test-utils only.
Source§

impl<Provider, P, H, B> StageSet<Provider> for OnlineStages<P, H, B>
where P: HeaderSyncGapProvider + 'static, H: HeaderDownloader + 'static, B: BodyDownloader + 'static, HeaderStage<P, H>: Stage<Provider>, BodyStage<B>: Stage<Provider>,