pub struct Frozen<R: RbRef, const P: bool, const C: bool> { /* private fields */ }use Caching directly; frozen endpoints now publish changes immediately and will be removed in the next breaking release
Expand description
Compatibility wrapper with the same immediate publication behavior as Caching.
Unlike earlier versions, this wrapper never defers publication until commit or drop.
Implementations§
Source§impl<R: RbRef, const P: bool, const C: bool> Frozen<R, P, C>
impl<R: RbRef, const P: bool, const C: bool> Frozen<R, P, C>
Sourcepub fn new(rb: R) -> Self
pub fn new(rb: R) -> Self
Create a compatibility wrapper with immediate publication.
Panics if an endpoint with matching rights already exists.
Sourcepub fn commit(&self)
👎Deprecated: changes are published immediately; remove this call
pub fn commit(&self)
changes are published immediately; remove this call
Does nothing: all changes have already been published.
Source§impl<R: RbRef> Frozen<R, true, false>
impl<R: RbRef> Frozen<R, true, false>
Sourcepub fn discard(&mut self)
👎Deprecated: discard is now a no-op because writes are immediately published; stage items outside the ring buffer to support rollback
pub fn discard(&mut self)
discard is now a no-op because writes are immediately published; stage items outside the ring buffer to support rollback
Does nothing: inserted items are already published and cannot be retracted.
Stage items outside the ring buffer if they may need to be discarded.
Trait Implementations§
impl<R: RbRef, const P: bool, const C: bool> DelegateObserver for Frozen<R, P, C>
Auto Trait Implementations§
impl<R, const P: bool, const C: bool> !Freeze for Frozen<R, P, C>
impl<R, const P: bool, const C: bool> !RefUnwindSafe for Frozen<R, P, C>
impl<R, const P: bool, const C: bool> !Sync for Frozen<R, P, C>
impl<R, const P: bool, const C: bool> Send for Frozen<R, P, C>
impl<R, const P: bool, const C: bool> Unpin for Frozen<R, P, C>
impl<R, const P: bool, const C: bool> UnsafeUnpin for Frozen<R, P, C>where
Caching<R, P, C>: UnsafeUnpin,
impl<R, const P: bool, const C: bool> UnwindSafe for Frozen<R, P, C>where
Caching<R, P, C>: UnwindSafe,
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
Source§impl<D> Consumer for D
impl<D> Consumer for D
Source§unsafe fn set_read_index(&self, value: usize)
unsafe fn set_read_index(&self, value: usize)
Source§unsafe fn advance_read_index(&self, count: usize)
unsafe fn advance_read_index(&self, count: usize)
Source§fn occupied_slices(
&self,
) -> (&[MaybeUninit<<D as Observer>::Item>], &[MaybeUninit<<D as Observer>::Item>])
fn occupied_slices( &self, ) -> (&[MaybeUninit<<D as Observer>::Item>], &[MaybeUninit<<D as Observer>::Item>])
Self::as_slices is that this method provides slices of MaybeUninit, so items may be moved out of slices. Read moreSource§unsafe fn occupied_slices_mut(
&mut self,
) -> (&mut [MaybeUninit<<D as Observer>::Item>], &mut [MaybeUninit<<D as Observer>::Item>])
unsafe fn occupied_slices_mut( &mut self, ) -> (&mut [MaybeUninit<<D as Observer>::Item>], &mut [MaybeUninit<<D as Observer>::Item>])
Source§fn as_slices(&self) -> (&[<D as Observer>::Item], &[<D as Observer>::Item])
fn as_slices(&self) -> (&[<D as Observer>::Item], &[<D as Observer>::Item])
Source§fn as_mut_slices(
&mut self,
) -> (&mut [<D as Observer>::Item], &mut [<D as Observer>::Item])
fn as_mut_slices( &mut self, ) -> (&mut [<D as Observer>::Item], &mut [<D as Observer>::Item])
Source§fn try_pop(&mut self) -> Option<<D as Observer>::Item>
fn try_pop(&mut self) -> Option<<D as Observer>::Item>
Source§fn pop_slice(&mut self, elems: &mut [<D as Observer>::Item]) -> usize
fn pop_slice(&mut self, elems: &mut [<D as Observer>::Item]) -> usize
Source§fn iter(
&self,
) -> Chain<Iter<'_, <D as Observer>::Item>, Iter<'_, <D as Observer>::Item>> ⓘ
fn iter( &self, ) -> Chain<Iter<'_, <D as Observer>::Item>, Iter<'_, <D as Observer>::Item>> ⓘ
Source§fn iter_mut(
&mut self,
) -> Chain<IterMut<'_, <D as Observer>::Item>, IterMut<'_, <D as Observer>::Item>> ⓘ
fn iter_mut( &mut self, ) -> Chain<IterMut<'_, <D as Observer>::Item>, IterMut<'_, <D as Observer>::Item>> ⓘ
Source§fn skip(&mut self, count: usize) -> usize
fn skip(&mut self, count: usize) -> usize
count items, returning the number removed. Read moreSource§fn clear(&mut self) -> usize
fn clear(&mut self) -> usize
Source§fn first(&self) -> Option<&Self::Item>
fn first(&self) -> Option<&Self::Item>
Source§fn first_mut(&mut self) -> Option<&mut Self::Item>
fn first_mut(&mut self) -> Option<&mut Self::Item>
Source§fn last(&self) -> Option<&Self::Item>
fn last(&self) -> Option<&Self::Item>
Source§fn last_mut(&mut self) -> Option<&mut Self::Item>
fn last_mut(&mut self) -> Option<&mut Self::Item>
Source§fn try_peek(&self) -> Option<&Self::Item>
fn try_peek(&self) -> Option<&Self::Item>
Source§fn peek_slice_uninit(&self, elems: &mut [MaybeUninit<Self::Item>]) -> usize
fn peek_slice_uninit(&self, elems: &mut [MaybeUninit<Self::Item>]) -> usize
Source§fn peek_slice(&self, elems: &mut [Self::Item]) -> usize
fn peek_slice(&self, elems: &mut [Self::Item]) -> usize
Source§fn pop_slice_uninit(&mut self, elems: &mut [MaybeUninit<Self::Item>]) -> usize
fn pop_slice_uninit(&mut self, elems: &mut [MaybeUninit<Self::Item>]) -> usize
Source§fn pop_iter(&mut self) -> PopIter<'_, Self> ⓘ
fn pop_iter(&mut self) -> PopIter<'_, Self> ⓘ
Source§impl<D> Observer for D
impl<D> Observer for D
type Item = <<D as Based>::Base as Observer>::Item
Source§fn read_index(&self) -> usize
fn read_index(&self) -> usize
Source§fn write_index(&self) -> usize
fn write_index(&self) -> usize
Source§unsafe fn unsafe_slices(
&self,
start: usize,
end: usize,
) -> (&[MaybeUninit<<D as Observer>::Item>], &[MaybeUninit<<D as Observer>::Item>])
unsafe fn unsafe_slices( &self, start: usize, end: usize, ) -> (&[MaybeUninit<<D as Observer>::Item>], &[MaybeUninit<<D as Observer>::Item>])
Source§unsafe fn unsafe_slices_mut(
&self,
start: usize,
end: usize,
) -> (&mut [MaybeUninit<<D as Observer>::Item>], &mut [MaybeUninit<<D as Observer>::Item>])
unsafe fn unsafe_slices_mut( &self, start: usize, end: usize, ) -> (&mut [MaybeUninit<<D as Observer>::Item>], &mut [MaybeUninit<<D as Observer>::Item>])
Source§fn read_is_held(&self) -> bool
fn read_is_held(&self) -> bool
Source§fn write_is_held(&self) -> bool
fn write_is_held(&self) -> bool
Source§fn occupied_len(&self) -> usize
fn occupied_len(&self) -> usize
Source§fn vacant_len(&self) -> usize
fn vacant_len(&self) -> usize
Source§impl<D> Producer for D
impl<D> Producer for D
Source§unsafe fn set_write_index(&self, value: usize)
unsafe fn set_write_index(&self, value: usize)
Source§unsafe fn advance_write_index(&self, count: usize)
unsafe fn advance_write_index(&self, count: usize)
Source§fn vacant_slices(
&self,
) -> (&[MaybeUninit<<D as Observer>::Item>], &[MaybeUninit<<D as Observer>::Item>])
fn vacant_slices( &self, ) -> (&[MaybeUninit<<D as Observer>::Item>], &[MaybeUninit<<D as Observer>::Item>])
Source§fn vacant_slices_mut(
&mut self,
) -> (&mut [MaybeUninit<<D as Observer>::Item>], &mut [MaybeUninit<<D as Observer>::Item>])
fn vacant_slices_mut( &mut self, ) -> (&mut [MaybeUninit<<D as Observer>::Item>], &mut [MaybeUninit<<D as Observer>::Item>])
Self::vacant_slices. Read more