vortex_io/compat/
read_at.rs1use std::sync::Arc;
5
6use futures::FutureExt;
7use futures::future::BoxFuture;
8use vortex_array::buffer::BufferHandle;
9use vortex_buffer::Alignment;
10use vortex_error::VortexResult;
11
12use crate::CoalesceConfig;
13use crate::VortexReadAt;
14use crate::compat::Compat;
15
16#[deny(clippy::missing_trait_methods)]
18impl<R: VortexReadAt> VortexReadAt for Compat<R> {
19 fn uri(&self) -> Option<&Arc<str>> {
20 self.inner().uri()
21 }
22
23 fn coalesce_config(&self) -> Option<CoalesceConfig> {
24 self.inner().coalesce_config()
25 }
26
27 fn concurrency(&self) -> usize {
28 self.inner().concurrency()
29 }
30
31 fn size(&self) -> BoxFuture<'static, VortexResult<u64>> {
32 self.inner().size()
33 }
34
35 fn read_at(
36 &self,
37 offset: u64,
38 length: usize,
39 alignment: Alignment,
40 ) -> BoxFuture<'static, VortexResult<BufferHandle>> {
41 Compat::new(self.inner().read_at(offset, length, alignment)).boxed()
42 }
43}