Struct ipmpsc::SharedRingBuffer[][src]

pub struct SharedRingBuffer(_);
Expand description

Represents a file-backed shared memory ring buffer, suitable for constructing a Receiver or Sender.

Note that it is possible to create multiple SharedRingBuffers for a given path in a single process, but it is much more efficient to clone an exisiting instance than construct one from scratch using one of the constructors.

Implementations

impl SharedRingBuffer[src]

pub fn create(path: &str, size_in_bytes: u32) -> Result<Self>[src]

Creates a new SharedRingBuffer backed by a file with the specified name.

The file will be created if it does not already exist or truncated otherwise.

Once this function completes successfully, the same path may be used to create one or more corresponding instances in other processes using the SharedRingBuffer::open method.

pub fn create_temp(size_in_bytes: u32) -> Result<(String, Self)>[src]

Creates a new SharedRingBuffer backed by a temporary file which will be deleted when the SharedRingBuffer is dropped.

The name of the file is returned along with the SharedRingBuffer and may be used to create one or more corresponding instances in other processes using the SharedRingBuffer::open method.

pub fn open(path: &str) -> Result<Self>[src]

Creates a new SharedRingBuffer backed by a file with the specified name.

The file must already exist and have been initialized by a call to SharedRingBuffer::create or SharedRingBuffer::create_temp.

Trait Implementations

impl Clone for SharedRingBuffer[src]

fn clone(&self) -> SharedRingBuffer[src]

Returns a copy of the value. Read more

fn clone_from(&mut self, source: &Self)1.0.0[src]

Performs copy-assignment from source. Read more

impl Send for SharedRingBuffer[src]

impl Sync for SharedRingBuffer[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

impl<T> From<T> for T[src]

pub fn from(t: T) -> T[src]

Performs the conversion.

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

pub fn into(self) -> U[src]

Performs the conversion.

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

pub fn to_owned(&self) -> T[src]

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

pub fn clone_into(&self, target: &mut T)[src]

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

Uses borrowed data to replace owned data, usually by cloning. Read more

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]

Performs the conversion.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]

Performs the conversion.

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

pub fn vzip(self) -> V