Skip to main content

Reader

Struct Reader 

Source
pub struct Reader {
    pub schemas: Vec<Schema>,
    pub unions: Vec<Union>,
    /* private fields */
}
Expand description

Binary format reader with mmap support for zero-copy access

Fields§

§schemas: Vec<Schema>§unions: Vec<Union>

Implementations§

Source§

impl Reader

Source

pub fn open<P: AsRef<Path>>(path: P) -> Result<Self>

Open a binary TeaLeaf file (reads into memory)

Source

pub fn open_mmap<P: AsRef<Path>>(path: P) -> Result<Self>

Open a binary TeaLeaf file with memory mapping (zero-copy)

This is faster for large files as the OS handles paging. The file must not be modified while the reader is open.

§Safety

The underlying file must not be modified while the reader exists.

Source

pub fn from_bytes(data: Vec<u8>) -> Result<Self>

Create reader from owned bytes

Source

pub fn get_string(&self, idx: usize) -> Result<String>

Get a string by index

Source

pub fn keys(&self) -> Vec<&str>

Get section keys

Source

pub fn is_root_array(&self) -> bool

Check if the source JSON was a root-level array

When true, the “root” key contains the array and to_json should output it directly without wrapping in an object.

Source

pub fn get(&self, key: &str) -> Result<Value>

Get a value by key

Source

pub fn clear_cache(&self)

Clear the decompression cache to free memory

Auto Trait Implementations§

§

impl !Freeze for Reader

§

impl !RefUnwindSafe for Reader

§

impl Send for Reader

§

impl !Sync for Reader

§

impl Unpin for Reader

§

impl UnwindSafe for Reader

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, 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.