pub fn plan_catalog_replay_inputs<B, C>(
reader: &EventStoreReader<B>,
catalog: &mut C,
range: ReplaySeqRange,
catalog_slices: &[CatalogSliceSelector],
) -> Result<ReplayInputPlan, ReplayInputError>where
B: EventStore,
C: ReplayCatalog,Expand description
Plans replay inputs by joining event-store entries with selected catalog slices.
The event-store range supplies durable replay order. Catalog slices are contextual input
selected by the caller; their timestamps bound data lookup but never replace seq ordering.
ยงErrors
Returns ReplayInputError::EmptyCatalogSelection when no catalog slices are selected,
ReplayInputError::InvalidSeqRange when range is invalid,
ReplayInputError::MissingCatalogTimeBounds when an unbounded selector cannot inherit
bounds from an empty event-store scan, ReplayInputError::InvalidCatalogTimeRange when a
resolved slice has start > end, ReplayInputError::Catalog when catalog planning fails,
and ReplayInputError::EventStore when the reader scan fails.