pub struct BufferAppender<T> { /* private fields */ }
Expand description
The appender/sink side of the buffer.
Implementations§
Source§impl<T> BufferAppender<T>
impl<T> BufferAppender<T>
Sourcepub fn ready(&mut self, size_needed: usize) -> BufferSinkReady<'_, T> ⓘ
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.
Sourcepub fn try_send(
&mut self,
item: T,
size_needed: usize,
) -> Result<(), BufferError>
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.
Sourcepub fn send(&mut self, item: T, size_needed: usize) -> BufferSinkSend<'_, T> ⓘ
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> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
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