pub enum AnySource {
Files(FilesSource),
JsonCorpus(JsonCorpusSource),
PgTable(PgTableSource),
MariadbTable(MariadbTableSource),
SqliteTable(SqliteTableSource),
Http(HttpSource),
S3(S3Source),
ClickhouseTable(ClickhouseTableSource),
SessionStaging(SessionStagingSource),
}Expand description
Sum type for runtime polymorphism. R1 shipped the original 5 sources. R2/R3/R4 added MariadbTable, SqliteTable, ClickhouseTable respectively.
AnySource enumerates DB-table variants, which require the backend layer.
It is therefore only built when both source and sink are enabled —
the same gate that run_cell / Pipeline live behind.
Variants§
Files(FilesSource)
JsonCorpus(JsonCorpusSource)
PgTable(PgTableSource)
MariadbTable(MariadbTableSource)
SqliteTable(SqliteTableSource)
Http(HttpSource)
S3(S3Source)
ClickhouseTable(ClickhouseTableSource)
SessionStaging(SessionStagingSource)
Implementations§
Source§impl AnySource
impl AnySource
pub async fn iter_documents(&self) -> Result<Vec<Document>>
Sourcepub async fn commit_processed(&self) -> Result<()>
pub async fn commit_processed(&self) -> Result<()>
RM-A O3 crash-safety: runner calls this AFTER the per-doc write
loop succeeds. For SessionStaging (the only source that has
post-iteration state today) it advances the consumed watermark
for the sessions just emitted. Non-memory sources have no
post-iteration state — this is a no-op for them.
Auto Trait Implementations§
impl !Freeze for AnySource
impl !RefUnwindSafe for AnySource
impl !UnwindSafe for AnySource
impl Send for AnySource
impl Sync for AnySource
impl Unpin for AnySource
impl UnsafeUnpin for AnySource
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
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