pub trait Source<T: DatasetItem>: Send + Sync {
// Required methods
fn name(&self) -> &str;
fn stream(self: Box<Self>, cancel: CancellationToken) -> BoxItemStream<T>;
fn cache_key(&self) -> Value;
fn max_items(&self) -> Option<usize>;
// Provided methods
fn display_name(&self) -> &str { ... }
fn set_resume_state(&mut self, _offset: usize, _already_fetched: usize) { ... }
}Expand description
Protocol for dataset sources over any DatasetItem type.
Required Methods§
Sourcefn stream(self: Box<Self>, cancel: CancellationToken) -> BoxItemStream<T>
fn stream(self: Box<Self>, cancel: CancellationToken) -> BoxItemStream<T>
Stream items from this source.
Provided Methods§
Sourcefn display_name(&self) -> &str
fn display_name(&self) -> &str
Human-readable source label.
Sourcefn set_resume_state(&mut self, _offset: usize, _already_fetched: usize)
fn set_resume_state(&mut self, _offset: usize, _already_fetched: usize)
Configure resume state before streaming.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".