pub trait BackfillSyncBuilder<N, C>: Sendwhere
N: ProviderNodeTypes,{
type Backfill: BackfillSync + Unpin + 'static;
// Required method
fn build(self, ctx: BackfillContext<N, C>) -> Result<Self::Backfill, Report>;
// Provided method
fn recover(
&mut self,
_provider_factory: &ProviderFactory<N>,
) -> Result<(), Report> { ... }
}Expand description
Builds the BackfillSync the engine hands long-range sync to.
Nodes pick one with EngineNodeLauncher::with_backfill; the
default is PipelineBackfill.
Required Associated Types§
Sourcetype Backfill: BackfillSync + Unpin + 'static
type Backfill: BackfillSync + Unpin + 'static
The backfill this builder produces.
Required Methods§
Provided Methods§
Sourcefn recover(
&mut self,
_provider_factory: &ProviderFactory<N>,
) -> Result<(), Report>
fn recover( &mut self, _provider_factory: &ProviderFactory<N>, ) -> Result<(), Report>
Recovers from an earlier run that stopped mid-write, before the node checks the database for consistency. A backfill that commits static files and the database separately uses it so a crash between the two isn’t treated as corruption. Does nothing by default.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".