pub struct RangeSourceFactory { /* private fields */ }Expand description
Factory for range sources. Shared atomic cursor distributes ordinals across fibers.
Implementations§
Trait Implementations§
Source§impl DataSourceFactory for RangeSourceFactory
impl DataSourceFactory for RangeSourceFactory
Source§fn create_reader(&self) -> Box<dyn DataSource>
fn create_reader(&self) -> Box<dyn DataSource>
Create a new reader for a fiber.
Source§fn schema(&self) -> &SourceSchema
fn schema(&self) -> &SourceSchema
Schema for all readers from this factory.
Source§fn global_consumed(&self) -> u64
fn global_consumed(&self) -> u64
Global items consumed across all readers (for progress reporting).
Source§fn replay_contract(&self) -> SourceReplayContract
fn replay_contract(&self) -> SourceReplayContract
Replay/addressability capability shared by readers from this factory.
Source§fn rewind_for_poll(&self) -> bool
fn rewind_for_poll(&self) -> bool
Rewind the factory’s shared cursor to the start so a
subsequent
create_reader() produces a fresh stream
covering the same ordinal range: what a host that re-runs a
source between poll rounds calls after each round exhausts it. Read moreSource§fn global_extent(&self) -> Option<u64>
fn global_extent(&self) -> Option<u64>
Known extent, if finite. Same as schema().extent but avoids clone.
Auto Trait Implementations§
impl Freeze for RangeSourceFactory
impl RefUnwindSafe for RangeSourceFactory
impl Send for RangeSourceFactory
impl Sync for RangeSourceFactory
impl Unpin for RangeSourceFactory
impl UnsafeUnpin for RangeSourceFactory
impl UnwindSafe for RangeSourceFactory
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more