pub struct TierTaskMemorySet<const N: usize> { /* private fields */ }Expand description
issue 1598 — each spawned tier’s TASK memory (stack + control block):
nros::main! emits one TierTaskMemory static per spawned tier, sized from
its stack_bytes, and hands the TierTaskMemorySet rows to a board whose
tier runner creates the task over them (FreeRTOS xTaskCreateStatic).
issue 1598 — the spawned tiers’ task memory, N rows in spawn (chain)
order, behind a once-only latch.
Implementations§
Source§impl<const N: usize> TierTaskMemorySet<N>
impl<const N: usize> TierTaskMemorySet<N>
Sourcepub const fn new(rows: [TierTaskMemoryRaw; N]) -> TierTaskMemorySet<N>
pub const fn new(rows: [TierTaskMemoryRaw; N]) -> TierTaskMemorySet<N>
const, for a static initialiser over the per-tier statics.
Sourcepub fn take(&'static self) -> &'static [TierTaskMemoryRaw]
pub fn take(&'static self) -> &'static [TierTaskMemoryRaw]
Hand out every row, once. A second call returns an EMPTY slice, which a board refuses by count rather than giving two tasks one stack.
Auto Trait Implementations§
impl<const N: usize> !Freeze for TierTaskMemorySet<N>
impl<const N: usize> RefUnwindSafe for TierTaskMemorySet<N>
impl<const N: usize> Send for TierTaskMemorySet<N>
impl<const N: usize> Sync for TierTaskMemorySet<N>
impl<const N: usize> Unpin for TierTaskMemorySet<N>
impl<const N: usize> UnsafeUnpin for TierTaskMemorySet<N>
impl<const N: usize> UnwindSafe for TierTaskMemorySet<N>
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