cuprate_async_buffer

Struct BufferAppender

Source
pub struct BufferAppender<T> { /* private fields */ }
Expand description

The appender/sink side of the buffer.

Implementations§

Source§

impl<T> BufferAppender<T>

Source

pub fn ready(&mut self, size_needed: usize) -> BufferSinkReady<'_, T>

Returns a future that resolves when the channel has enough capacity for a single message of size_needed.

It should be noted that if there are no items in the buffer then a single item of any capacity is accepted. i.e. if the capacity is 5 and there are no items in the buffer then any item even if it’s weight is >5 will be accepted.

Source

pub fn try_send( &mut self, item: T, size_needed: usize, ) -> Result<(), BufferError>

Attempts to add an item to the buffer.

§Errors

Returns an error if there is not enough capacity or the BufferStream was dropped.

Source

pub fn send(&mut self, item: T, size_needed: usize) -> BufferSinkSend<'_, T>

Waits for capacity in the buffer and then sends the item.

Auto Trait Implementations§

§

impl<T> Freeze for BufferAppender<T>

§

impl<T> !RefUnwindSafe for BufferAppender<T>

§

impl<T> Send for BufferAppender<T>
where T: Send,

§

impl<T> Sync for BufferAppender<T>
where T: Send,

§

impl<T> Unpin for BufferAppender<T>

§

impl<T> !UnwindSafe for BufferAppender<T>

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.

Layout§

Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...) attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.

Size: 32 bytes