pub struct RingBuffer<'a, R: RingBufferRole, T = Descriptor> { /* private fields */ }
Implementations§
Source§impl<'a, R: RingBufferRole, T: Copy> RingBuffer<'a, R, T>
impl<'a, R: RingBufferRole, T: Copy> RingBuffer<'a, R, T>
pub fn new( ptr: SharedMemoryRef<'a, RawRingBuffer<T>>, initialization_strategy: InitializationStrategy, ) -> Self
pub const fn capacity(&self) -> usize
pub fn num_filled_slots(&mut self) -> Result<usize, PeerMisbehaviorError>
pub fn num_empty_slots(&mut self) -> Result<usize, PeerMisbehaviorError>
pub fn is_empty(&mut self) -> Result<bool, PeerMisbehaviorError>
pub fn is_full(&mut self) -> Result<bool, PeerMisbehaviorError>
Source§impl<T: Copy + FromBytes + IntoBytes> RingBuffer<'_, Write, T>
impl<T: Copy + FromBytes + IntoBytes> RingBuffer<'_, Write, T>
pub fn enqueue_and_commit( &mut self, desc: T, ) -> Result<Result<(), T>, PeerMisbehaviorError>
pub fn enqueue_without_committing( &mut self, desc: T, ) -> Result<Result<(), T>, PeerMisbehaviorError>
pub fn enqueue( &mut self, desc: T, commit: bool, ) -> Result<Result<(), T>, PeerMisbehaviorError>
pub fn force_enqueue(&mut self, desc: T, commit: bool)
pub fn commit(&mut self)
Source§impl<T: Copy + FromBytes + IntoBytes> RingBuffer<'_, Read, T>
impl<T: Copy + FromBytes + IntoBytes> RingBuffer<'_, Read, T>
pub fn dequeue(&mut self) -> Result<Option<T>, PeerMisbehaviorError>
pub fn force_dequeue(&mut self) -> T
Auto Trait Implementations§
impl<'a, R, T> Freeze for RingBuffer<'a, R, T>
impl<'a, R, T> RefUnwindSafe for RingBuffer<'a, R, T>where
R: RefUnwindSafe,
T: RefUnwindSafe,
impl<'a, R, T> Send for RingBuffer<'a, R, T>where
R: Send,
T: Sync,
impl<'a, R, T> Sync for RingBuffer<'a, R, T>where
R: Sync,
T: Sync,
impl<'a, R, T> Unpin for RingBuffer<'a, R, T>where
R: Unpin,
impl<'a, R, T> UnwindSafe for RingBuffer<'a, R, T>where
R: UnwindSafe,
T: RefUnwindSafe,
Blanket Implementations§
§impl<T> Any for Twhere
T: 'static + ?Sized,
impl<T> Any for Twhere
T: 'static + ?Sized,
§impl<T> Borrow<T> for Twhere
T: ?Sized,
impl<T> Borrow<T> for Twhere
T: ?Sized,
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more