pub struct DcaCacheCtx<'a, C: DcaCache> { /* private fields */ }Expand description
Owning wrapper around a DcaCache.
Per DCB-00 §9 INV-D13, the canonical place to plumb a &mut SCB
into the platform crate. Engine drivers (e.g. AudioPlayer,
SdmmcEngine) build a DcaCacheCtx once at construction; their
per-transfer methods take &mut DcaCacheCtx<...> rather than
&mut SCB directly. Application code MUST NOT construct a bare
&mut SCB outside of (a) a DcaCacheCtx constructor or (b) the
pre-DCB grandfathered call sites.
Implementations§
Source§impl<'a, C: DcaCache> DcaCacheCtx<'a, C>
impl<'a, C: DcaCache> DcaCacheCtx<'a, C>
Sourcepub fn cache_mut(&mut self) -> &mut C
pub fn cache_mut(&mut self) -> &mut C
Borrow the underlying cache controller. Reserved for engine
drivers that need to issue DCB-internal cache ops on extents
that are not themselves DcaBufs (e.g. an MPU carve-out
scratch zone). Call sites count against the discipline scanner
budget unless DCB owns them.
Auto Trait Implementations§
impl<'a, C> !UnwindSafe for DcaCacheCtx<'a, C>
impl<'a, C> Freeze for DcaCacheCtx<'a, C>
impl<'a, C> RefUnwindSafe for DcaCacheCtx<'a, C>where
C: RefUnwindSafe,
impl<'a, C> Send for DcaCacheCtx<'a, C>where
C: Send,
impl<'a, C> Sync for DcaCacheCtx<'a, C>where
C: Sync,
impl<'a, C> Unpin for DcaCacheCtx<'a, C>
impl<'a, C> UnsafeUnpin for DcaCacheCtx<'a, C>
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