tile_buffer/range.rs
1use std::io;
2
3use futures::Future;
4
5pub trait AsyncRangeRead {
6 type Fut<'a>: Future<Output = io::Result<()>>
7 where
8 Self: 'a;
9
10 /// Returns data total size
11 fn total_size(&self) -> usize;
12
13 /// Load `buf.len()` count of bytes from data starting from `offset` into `buf`
14 fn range_read<'a>(&'a self, buf: &'a mut [u8], offset: usize) -> Self::Fut<'a>;
15}