pub struct FanoutMpscProducer<const N: usize> { /* private fields */ }Expand description
Multi-producer handle for publishing into a fanout layout.
Publishes into the layout’s MPSC producer->router queue.
Implementations§
Source§impl<const N: usize> FanoutMpscProducer<N>
impl<const N: usize> FanoutMpscProducer<N>
Sourcepub fn publish(&self, data: &[u8]) -> Result<(), Error>
pub fn publish(&self, data: &[u8]) -> Result<(), Error>
Publish a byte payload into the producer→router MPSC queue.
Returns:
Ok(())if the message was committedErr(Error::TooLarge)ifdata.len() > INDEXBUS_SLOT_DATA_SIZEErr(Error::Full)if bounded capacity is exhausted
Sourcepub fn publish_with<F, E>(&self, f: F) -> Result<(), PublishWithError<E>>
pub fn publish_with<F, E>(&self, f: F) -> Result<(), PublishWithError<E>>
Publish by writing directly into the slot buffer.
§Errors
PublishWithError::Encode: the closure returned an error; no message is published.PublishWithError::Core: capacity/layout failures (e.g. full), orlen > INDEXBUS_SLOT_DATA_SIZE.
Trait Implementations§
impl<const N: usize> Send for FanoutMpscProducer<N>
impl<const N: usize> Sync for FanoutMpscProducer<N>
Auto Trait Implementations§
impl<const N: usize> Freeze for FanoutMpscProducer<N>
impl<const N: usize> !RefUnwindSafe for FanoutMpscProducer<N>
impl<const N: usize> Unpin for FanoutMpscProducer<N>
impl<const N: usize> !UnwindSafe for FanoutMpscProducer<N>
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