pub fn shard_source<'inner, 'outer, K, V, T, D, DT, TOuter, C>(
outer: Scope<'outer, TOuter>,
scope: Scope<'inner, T>,
name: &str,
client: impl Fn() -> C,
shard_id: ShardId,
as_of: Option<Antichain<TOuter>>,
snapshot_mode: SnapshotMode,
until: Antichain<TOuter>,
desc_transformer: Option<DT>,
key_schema: Arc<K::Schema>,
val_schema: Arc<V::Schema>,
filter_fn: impl FnMut(&PartStats, AntichainRef<'_, TOuter>) -> FilterResult + 'static,
listen_sleep: Option<impl Fn() -> RetryParameters + 'static>,
start_signal: impl Future<Output = ()> + 'static,
error_handler: ErrorHandler,
) -> (StreamVec<'inner, T, FetchedBlob<K, V, TOuter, D>>, Vec<PressOnDropButton>)where
K: Debug + Codec,
V: Debug + Codec,
D: Monoid + Codec64 + Send + Sync,
TOuter: Timestamp + Lattice + Codec64 + TotalOrder + Sync,
T: Refines<TOuter>,
DT: FnOnce(Scope<'inner, T>, StreamVec<'inner, T, (usize, ExchangeableBatchPart<TOuter>)>, usize) -> (StreamVec<'inner, T, (usize, ExchangeableBatchPart<TOuter>)>, Vec<PressOnDropButton>),
C: Future<Output = PersistClient> + Send + 'static,Expand description
Creates a new source that reads from a persist shard, distributing the work of reading data to all timely workers.
All times emitted will have been advanced by the given as_of frontier.
All updates at times greater or equal to until will be suppressed.
The map_filter_project argument, if supplied, may be partially applied,
and any un-applied part of the argument will be left behind in the argument.
The desc_transformer interposes an operator in the stream before the
chosen data is fetched. This is currently used to provide flow control… see
usages for details.