pub trait Series<A: Application>: StreamConsumer<A> {
// Required methods
fn rows(
&mut self,
stream: Definition,
track: &[String],
start: Bound<Position>,
end: Bound<Position>,
) -> impl Future<Output = Result<Vec<At<Arc<dyn Any + Send + Sync>>>, BeneathWindow>> + Send;
fn buckets(
&mut self,
stream: Definition,
track: &[String],
start: Bound<u64>,
end: Bound<u64>,
budget: usize,
) -> impl Future<Output = Result<Vec<Bucket>, BeneathWindow>> + Send;
fn aggregate(
&mut self,
stream: Definition,
track: &[String],
start: Bound<u64>,
end: Bound<u64>,
kind: Aggregate,
) -> impl Future<Output = Result<Vec<Aggregated>, BeneathWindow>> + Send;
fn seal(
&mut self,
stream: Definition,
track: &[String],
) -> impl Future<Output = Position> + Send;
// Provided method
fn reader(
&mut self,
_stream: Definition,
_track: &[String],
_start: Bound<Position>,
_end: Bound<Position>,
_limits: ReadLimits,
) -> impl Future<Output = Result<Box<dyn RowSource>, ReadError>> + Send { ... }
}Required Methods§
fn rows( &mut self, stream: Definition, track: &[String], start: Bound<Position>, end: Bound<Position>, ) -> impl Future<Output = Result<Vec<At<Arc<dyn Any + Send + Sync>>>, BeneathWindow>> + Send
fn buckets( &mut self, stream: Definition, track: &[String], start: Bound<u64>, end: Bound<u64>, budget: usize, ) -> impl Future<Output = Result<Vec<Bucket>, BeneathWindow>> + Send
fn aggregate( &mut self, stream: Definition, track: &[String], start: Bound<u64>, end: Bound<u64>, kind: Aggregate, ) -> impl Future<Output = Result<Vec<Aggregated>, BeneathWindow>> + Send
fn seal( &mut self, stream: Definition, track: &[String], ) -> impl Future<Output = Position> + Send
Provided Methods§
fn reader( &mut self, _stream: Definition, _track: &[String], _start: Bound<Position>, _end: Bound<Position>, _limits: ReadLimits, ) -> impl Future<Output = Result<Box<dyn RowSource>, ReadError>> + Send
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".