Skip to main content

AvroObjectReader

Struct AvroObjectReader 

Source
pub struct AvroObjectReader { /* private fields */ }
๐Ÿ‘ŽDeprecated since 59.2.0:

Implement AsyncFileReader directly instead; see the example on the AsyncFileReader trait documentation and arrow-avro/examples/object_store.rs. Use SpawnedReader to perform I/O on a dedicated runtime. See also https://github.com/apache/arrow-rs/issues/10308

Available on crate features async and 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

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

Source

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

๐Ÿ‘ŽDeprecated since 59.2.0:

Wrap the reader in a SpawnedReader instead, e.g. SpawnedReader::new(reader, handle). See also https://github.com/apache/arrow-rs/issues/10308

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

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
Sourceยง

impl Clone for AvroObjectReader

Sourceยง

fn clone(&self) -> AvroObjectReader

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) ยท Sourceยง

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Sourceยง

impl Debug for AvroObjectReader

Sourceยง

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

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> CloneToUninit for T
where T: Clone,

Sourceยง

unsafe fn clone_to_uninit(&self, dest: *mut u8)

๐Ÿ”ฌThis is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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> ToOwned for T
where T: Clone,

Sourceยง

type Owned = T

The resulting type after obtaining ownership.
Sourceยง

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Sourceยง

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
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