Struct MmapBuffer

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

Buffer that uses circular buffer implemented with mirrored memory maps

Trait Implementations§

Source§

impl Buffer for MmapBuffer

Source§

type Error = AllocError

Error type emitted if failed to (re)allocate the buffer
Source§

fn new(size: usize) -> Result<Self, AllocError>

Allocate new buffer of at least size cap, or more.
Source§

fn filled(&self) -> &[u8]

Return filled part of the buffer
Source§

fn enlarge(&mut self) -> Result<(), AllocError>

Grow appendable() part of the buffer one way or the other (by e.g. reallocating filled part of the buffer, or reallocating buffer itself)
Source§

fn appendable(&mut self) -> &mut [u8]

Part of the buffer next to the filled() that can be used to append data. Read more
Source§

fn grow(&mut self, amount: usize)

Attaches amount bytes of appendable() to filled() part of the buffer
Source§

fn consume(&mut self, amount: usize) -> &[u8]

Split filled() part of the buffer, returning up to amount bytes from the beginning while also marking them as discarded right after lifetime of returned slice ends (i.e. before another call to any of Buffer’s methods that accepts &mut self).
Source§

fn len(&self) -> usize

Size of filled() part of the buffer 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.