This is an automated email from the ASF dual-hosted git repository.
tustvold pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/arrow-rs.git
The following commit(s) were added to refs/heads/master by this push:
new 53dd5aa9e Implement AsyncFileReader for `Box<dyn AsyncFileReader>`
(#2368)
53dd5aa9e is described below
commit 53dd5aa9e6aa744afa62ad07c9bfef477b8fa0fd
Author: Raphael Taylor-Davies <[email protected]>
AuthorDate: Wed Aug 10 16:02:44 2022 +0100
Implement AsyncFileReader for `Box<dyn AsyncFileReader>` (#2368)
---
parquet/src/arrow/async_reader.rs | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
diff --git a/parquet/src/arrow/async_reader.rs
b/parquet/src/arrow/async_reader.rs
index ce9bfd37d..3770ed265 100644
--- a/parquet/src/arrow/async_reader.rs
+++ b/parquet/src/arrow/async_reader.rs
@@ -136,6 +136,23 @@ pub trait AsyncFileReader: Send {
fn get_metadata(&mut self) -> BoxFuture<'_, Result<Arc<ParquetMetaData>>>;
}
+impl AsyncFileReader for Box<dyn AsyncFileReader> {
+ fn get_bytes(&mut self, range: Range<usize>) -> BoxFuture<'_,
Result<Bytes>> {
+ self.as_mut().get_bytes(range)
+ }
+
+ fn get_byte_ranges(
+ &mut self,
+ ranges: Vec<Range<usize>>,
+ ) -> BoxFuture<'_, Result<Vec<Bytes>>> {
+ self.as_mut().get_byte_ranges(ranges)
+ }
+
+ fn get_metadata(&mut self) -> BoxFuture<'_, Result<Arc<ParquetMetaData>>> {
+ self.as_mut().get_metadata()
+ }
+}
+
impl<T: AsyncRead + AsyncSeek + Unpin + Send> AsyncFileReader for T {
fn get_bytes(&mut self, range: Range<usize>) -> BoxFuture<'_,
Result<Bytes>> {
async move {