HostShadow

Struct HostShadow 

Source
pub struct HostShadow<'a, const TS: usize, const BS: usize, const BC: usize, AP, PP, PT, PK, SS>
where AP: AccessPolicy, PP: PersistPolicy<PK>, PT: PersistTrigger<PK>, BitsImpl<BC>: Bits,
{ /* private fields */ }

Implementations§

Source§

impl<'a, const TS: usize, const BS: usize, const BC: usize, AP, PP, PT, PK> HostShadow<'a, TS, BS, BC, AP, PP, PT, PK, NoStage>
where AP: AccessPolicy, PP: PersistPolicy<PK>, PT: PersistTrigger<PK>, BitsImpl<BC>: Bits,

Source

pub fn with_view<R>( &self, f: impl FnOnce(&mut HostView<'_, TS, BS, BC, AP, PP, PT, PK>) -> R, ) -> R

Source

pub unsafe fn with_view_unchecked<R>( &self, f: impl FnOnce(&mut HostView<'_, TS, BS, BC, AP, PP, PT, PK>) -> R, ) -> R

§Safety

This function is unsafe because it requires exclusive access to the shadow’s storage. However, if you can guarantee that the shadow’s storage is not being accessed by any other domains such as ISR or other threads you can safely call this function.

Source§

impl<'a, const TS: usize, const BS: usize, const BC: usize, AP, PP, PT, PK, SB> HostShadow<'a, TS, BS, BC, AP, PP, PT, PK, WithStage<SB>>
where AP: AccessPolicy, PP: PersistPolicy<PK>, PT: PersistTrigger<PK>, BitsImpl<BC>: Bits, SB: StagingBuffer,

Source

pub fn with_view<R>( &self, f: impl FnOnce(&mut HostViewStaged<'_, TS, BS, BC, AP, PP, PT, PK, SB>) -> R, ) -> R

Source

pub unsafe fn with_view_unchecked<R>( &self, f: impl FnOnce(&mut HostViewStaged<'_, TS, BS, BC, AP, PP, PT, PK, SB>) -> R, ) -> R

§Safety

This function is unsafe because it requires exclusive access to the shadow’s storage. However, if you can guarantee that the shadow’s storage is not being accessed by any other domains such as ISR or other threads you can safely call this function.

Auto Trait Implementations§

§

impl<'a, const TS: usize, const BS: usize, const BC: usize, AP, PP, PT, PK, SS> Freeze for HostShadow<'a, TS, BS, BC, AP, PP, PT, PK, SS>

§

impl<'a, const TS: usize, const BS: usize, const BC: usize, AP, PP, PT, PK, SS> !RefUnwindSafe for HostShadow<'a, TS, BS, BC, AP, PP, PT, PK, SS>

§

impl<'a, const TS: usize, const BS: usize, const BC: usize, AP, PP, PT, PK, SS> !Send for HostShadow<'a, TS, BS, BC, AP, PP, PT, PK, SS>

§

impl<'a, const TS: usize, const BS: usize, const BC: usize, AP, PP, PT, PK, SS> !Sync for HostShadow<'a, TS, BS, BC, AP, PP, PT, PK, SS>

§

impl<'a, const TS: usize, const BS: usize, const BC: usize, AP, PP, PT, PK, SS> Unpin for HostShadow<'a, TS, BS, BC, AP, PP, PT, PK, SS>

§

impl<'a, const TS: usize, const BS: usize, const BC: usize, AP, PP, PT, PK, SS> !UnwindSafe for HostShadow<'a, TS, BS, BC, AP, PP, PT, PK, SS>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.