pub struct BlockingMpscConsumer { /* private fields */ }Expand description
The single consumer handle. Drains all N producer rings
round-robin. !Sync + !Clone + Send.
Implementations§
Source§impl BlockingMpscConsumer
impl BlockingMpscConsumer
Sourcepub fn try_pop(&self, out: &mut [u8]) -> Result<usize, RingError>
pub fn try_pop(&self, out: &mut [u8]) -> Result<usize, RingError>
Non-blocking pop, round-robin across all N rings.
Sourcepub fn recv_blocking(
&self,
out: &mut [u8],
timeout: Option<Duration>,
) -> Result<usize, BlockingError>
pub fn recv_blocking( &self, out: &mut [u8], timeout: Option<Duration>, ) -> Result<usize, BlockingError>
Block until either a pop succeeds or timeout elapses.
Consumer parks on the SHARED consumer waker; any producer’s
push fires it.
Sourcepub fn n_producers(&self) -> usize
pub fn n_producers(&self) -> usize
Number of producer rings this consumer drains.
Sourcepub fn approx_total_len(&self) -> usize
pub fn approx_total_len(&self) -> usize
Approximate total pending items across every ring.
Auto Trait Implementations§
impl !Freeze for BlockingMpscConsumer
impl !RefUnwindSafe for BlockingMpscConsumer
impl !Sync for BlockingMpscConsumer
impl !UnwindSafe for BlockingMpscConsumer
impl Send for BlockingMpscConsumer
impl Unpin for BlockingMpscConsumer
impl UnsafeUnpin for BlockingMpscConsumer
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
Mutably borrows from an owned value. Read more