pub struct ShmEventsChainRegion { /* private fields */ }Expand description
Shared EventsChainLayout4 mapping that can be split into multiple queues.
Slot forwarding APIs (try_recv_slot / publish_slot) require that all
participating producers/consumers share the same mmap, because the slot
handle contains raw pointers into the mapping.
Implementations§
Source§impl ShmEventsChainRegion
impl ShmEventsChainRegion
Sourcepub fn open(opts: &AttachOptions, lane: &str) -> Result<Self, BackingError>
pub fn open(opts: &AttachOptions, lane: &str) -> Result<Self, BackingError>
Open (or create) an EventsChainLayout4 mapping.
Sourcepub fn queue_spsc(
&self,
idx: usize,
) -> Result<(ShmEventsTx, ShmEventsRx), BackingError>
pub fn queue_spsc( &self, idx: usize, ) -> Result<(ShmEventsTx, ShmEventsRx), BackingError>
Split SPSC queue idx into (tx, rx) lanes that share this mapping.
Sourcepub fn queue_mpsc(
&self,
idx: usize,
) -> Result<(ShmEventsMpscTx, ShmEventsMpscRx), BackingError>
pub fn queue_mpsc( &self, idx: usize, ) -> Result<(ShmEventsMpscTx, ShmEventsMpscRx), BackingError>
Split MPSC queue idx into (tx, rx) lanes that share this mapping.
Auto Trait Implementations§
impl Freeze for ShmEventsChainRegion
impl !RefUnwindSafe for ShmEventsChainRegion
impl Send for ShmEventsChainRegion
impl Sync for ShmEventsChainRegion
impl Unpin for ShmEventsChainRegion
impl !UnwindSafe for ShmEventsChainRegion
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