Skip to main content

AvroObjectReader

Struct AvroObjectReader 

Source
pub struct AvroObjectReader { /* private fields */ }
Available on crate feature object_store only.
Expand description

An implementation of an AsyncFileReader using the ObjectStore API.

Implementations§

Source§

impl AvroObjectReader

Source

pub fn new(store: Arc<dyn ObjectStore>, path: Path) -> Self

Available on crate feature async only.

Creates a new Self from a store implementation and file location.

Source

pub fn with_runtime(self, handle: Handle) -> Self

Available on crate feature async only.

Perform IO on the provided tokio runtime

Tokio is a cooperative scheduler, and relies on tasks yielding in a timely manner to service IO. Therefore, running IO and CPU-bound tasks, such as avro decoding, on the same tokio runtime can lead to degraded throughput, dropped connections and other issues. For more information see here.

Trait Implementations§

Source§

impl AsyncFileReader for AvroObjectReader

Available on crate feature async only.
Source§

fn get_bytes( &mut self, range: Range<u64>, ) -> BoxFuture<'_, Result<Bytes, AvroError>>

Retrieve the bytes in range
Source§

fn get_byte_ranges( &mut self, ranges: Vec<Range<u64>>, ) -> BoxFuture<'_, Result<Vec<Bytes>, AvroError>>
where Self: Send,

Retrieve multiple byte ranges. The default implementation will call get_bytes sequentially

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V