SpillBuffer

Struct SpillBuffer 

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

A buffer that can spill to disk for very large data sets.

Starts in memory and automatically spills to disk when the spill threshold is exceeded.

Implementations§

Source§

impl SpillBuffer

Source

pub fn new() -> Self

Create a new spill buffer with default configuration.

Source

pub fn with_config(config: LargeBufferConfig) -> Self

Create a new spill buffer with custom configuration.

Source

pub const fn is_spilled(&self) -> bool

Check if the buffer has spilled to disk.

Source

pub const fn len(&self) -> usize

Get the current size of the buffer.

Source

pub const fn is_empty(&self) -> bool

Check if the buffer is empty.

Source

pub fn write(&mut self, data: &[u8]) -> Result<()>

Write data to the buffer.

§Errors

Returns an error if disk I/O fails during spill.

Source

pub fn read_all(&mut self) -> Result<Vec<u8>>

Read all data from the buffer.

§Errors

Returns an error if disk I/O fails.

Source

pub fn as_string(&mut self) -> Result<String>

Read as a string (lossy UTF-8 conversion).

§Errors

Returns an error if disk I/O fails.

Source

pub fn clear(&mut self) -> Result<()>

Clear the buffer.

If spilled to disk, the file is truncated.

§Errors

Returns an error if disk I/O fails.

Trait Implementations§

Source§

impl Debug for SpillBuffer

Source§

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

Formats the value using the given formatter. Read more
Source§

impl Default for SpillBuffer

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl Drop for SpillBuffer

Source§

fn drop(&mut self)

Executes the destructor for this type. 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> 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.
Source§

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

Source§

fn vzip(self) -> V