Skip to main content

FileArenaWriter

Struct FileArenaWriter 

Source
pub struct FileArenaWriter { /* private fields */ }
Expand description

A writer for appending data to an anonymous temp file.

Data is written sequentially during the write phase. The file can then be passed to FileArena for random reads via pread.

Implementations§

Source§

impl FileArenaWriter

Source

pub fn new() -> Result<Self>

Creates a new writer backed by an anonymous temp file.

Source

pub fn push(&mut self, data: impl AsRef<[u8]>) -> Result<(usize, usize)>

Appends data to the file and returns (offset, len).

For empty input, returns (0, 0) without writing anything.

Source

pub fn len(&self) -> usize

Returns the current cursor position (total bytes written).

Source

pub fn is_empty(&self) -> bool

Returns true if no data has been written.

Source

pub fn finish(self) -> Result<Option<File>>

Flushes the writer and returns the underlying file.

Returns None if no data was written (empty arena).

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