fast_pull/base/puller.rs
1use crate::ProgressEntry;
2use bytes::Bytes;
3use futures::TryStream;
4
5pub trait RandPuller: Send + Clone {
6 type Error: Send;
7 fn pull(
8 &mut self,
9 range: &ProgressEntry,
10 ) -> impl TryStream<Ok = Bytes, Error = Self::Error> + Send + Unpin;
11}
12
13pub trait SeqPuller: Send {
14 type Error: Send;
15 fn pull(&mut self) -> impl TryStream<Ok = Bytes, Error = Self::Error> + Send + Unpin;
16}