pub trait ReplayCatalog {
type Error: Display;
// Required methods
fn plan_slice(
&mut self,
query: &CatalogSliceQuery,
) -> Result<CatalogSliceCoverage, Self::Error>;
fn load_slice(
&mut self,
plan: &CatalogSlicePlan,
) -> Result<Vec<CatalogReplayRecord>, Self::Error>;
}Expand description
Read-only catalog source used by catalog-joined replay input loaders.
Required Associated Types§
Required Methods§
Sourcefn plan_slice(
&mut self,
query: &CatalogSliceQuery,
) -> Result<CatalogSliceCoverage, Self::Error>
fn plan_slice( &mut self, query: &CatalogSliceQuery, ) -> Result<CatalogSliceCoverage, Self::Error>
Plans one catalog slice without mutating catalog state.
§Errors
Returns the catalog implementation’s error when slice planning fails.
Sourcefn load_slice(
&mut self,
plan: &CatalogSlicePlan,
) -> Result<Vec<CatalogReplayRecord>, Self::Error>
fn load_slice( &mut self, plan: &CatalogSlicePlan, ) -> Result<Vec<CatalogReplayRecord>, Self::Error>
Loads records for one planned catalog slice without live venue access.
Implementations return records in catalog order so marker cursor joins can take a deterministic prefix from a cumulative stream slice.
§Errors
Returns the catalog implementation’s error when slice loading fails.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".