pub trait ReadStream:
Unpin
+ Send
+ Sync {
// Required method
fn read(
&mut self,
) -> impl Future<Output = Result<Buffer, Error>> + MaybeSend;
// Provided method
fn read_all(
&mut self,
) -> impl Future<Output = Result<Buffer, Error>> + MaybeSend { ... }
}Expand description
ReadStream is the internal trait used by OpenDAL to stream data from storage.
Users should not use or import this trait unless they are implementing a Service.
This trait returns impl Future, so it is not object safe. Use ReadStreamDyn
when type erasure is required.
Required Methods§
Provided Methods§
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.
Implementations on Foreign Types§
Source§impl<T> ReadStream for Box<T>where
T: ReadStreamDyn + ?Sized,
§NOTE
Take care about the deref_mut() here. This makes sure that we are calling functions
upon &mut T instead of &mut Box<T>. The later could result in infinite recursion.
impl<T> ReadStream for Box<T>where
T: ReadStreamDyn + ?Sized,
§NOTE
Take care about the deref_mut() here. This makes sure that we are calling functions
upon &mut T instead of &mut Box<T>. The later could result in infinite recursion.