pub trait ByteSource: Send + Sync {
// Required methods
async fn get_size(&self) -> PolarsResult<usize>;
async fn get_suffix(&self, n: usize) -> PolarsResult<(Buffer<u8>, usize)>;
async fn get_range(&self, range: Range<usize>) -> PolarsResult<Buffer<u8>>;
async fn get_ranges(
&self,
ranges: &mut [Range<usize>],
) -> PolarsResult<PlHashMap<usize, Buffer<u8>>>;
}Available on crate feature
async only.Required Methods§
async fn get_size(&self) -> PolarsResult<usize>
Sourceasync fn get_suffix(&self, n: usize) -> PolarsResult<(Buffer<u8>, usize)>
async fn get_suffix(&self, n: usize) -> PolarsResult<(Buffer<u8>, usize)>
Fetch the last n bytes and the total size of the source, in a single request. Returns
fewer than n bytes if the source is smaller than n.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".
Implementors§
impl ByteSource for BufferByteSource
impl ByteSource for DynByteSource
impl ByteSource for FileByteSource
impl ByteSource for ObjectStoreByteSource
Available on crate feature
cloud only.