[][src]Trait drone_cortex_m::fib::ThrFiberProc

pub trait ThrFiberProc: ThrSv {
    fn add_proc<F>(self, stack_size: usize, f: F)
    where
        F: FnMut(Yielder<Self::Sv, (), (), ()>),
        F: Send + 'static,
        Self::Sv: Switch<Data<(), FiberState<(), ()>>>
, { ... }
unsafe fn add_proc_unchecked<F>(self, stack_size: usize, f: F)
    where
        F: FnMut(Yielder<Self::Sv, (), (), ()>),
        F: Send + 'static,
        Self::Sv: Switch<Data<(), FiberState<(), ()>>>
, { ... }
fn add_proc_unprivileged<F>(self, stack_size: usize, f: F)
    where
        F: FnMut(Yielder<Self::Sv, (), (), ()>),
        F: Send + 'static,
        Self::Sv: Switch<Data<(), FiberState<(), ()>>>
, { ... }
unsafe fn add_proc_unprivileged_unchecked<F>(self, stack_size: usize, f: F)
    where
        F: FnMut(Yielder<Self::Sv, (), (), ()>),
        F: Send + 'static,
        Self::Sv: Switch<Data<(), FiberState<(), ()>>>
, { ... } }

Extends ThrToken types with add_proc methods.

Provided methods

fn add_proc<F>(self, stack_size: usize, f: F) where
    F: FnMut(Yielder<Self::Sv, (), (), ()>),
    F: Send + 'static,
    Self::Sv: Switch<Data<(), FiberState<(), ()>>>, 

Adds a stackful fiber for the closure f to the fiber chain.

Panics

  • If MPU not present.
  • If stack_size is insufficient to store the initial frame.

unsafe fn add_proc_unchecked<F>(self, stack_size: usize, f: F) where
    F: FnMut(Yielder<Self::Sv, (), (), ()>),
    F: Send + 'static,
    Self::Sv: Switch<Data<(), FiberState<(), ()>>>, 

Adds a stackful fiber for the closure f to the fiber chain, without memory protection.

Safety

Stack overflow is unchecked.

Panics

  • If stack_size is insufficient to store the initial frame.

fn add_proc_unprivileged<F>(self, stack_size: usize, f: F) where
    F: FnMut(Yielder<Self::Sv, (), (), ()>),
    F: Send + 'static,
    Self::Sv: Switch<Data<(), FiberState<(), ()>>>, 

Adds a stackful fiber for the closure f to the fiber chain, which will run in unprivileged mode.

Panics

  • If MPU not present.
  • If stack_size is insufficient to store the initial frame.

unsafe fn add_proc_unprivileged_unchecked<F>(self, stack_size: usize, f: F) where
    F: FnMut(Yielder<Self::Sv, (), (), ()>),
    F: Send + 'static,
    Self::Sv: Switch<Data<(), FiberState<(), ()>>>, 

Adds a stackful fiber for the closure f to the fiber chain, which will run in unprivileged mode, without memory protection.

Safety

Stack overflow is unchecked.

Panics

  • If stack_size is insufficient to store the initial frame.
Loading content...

Implementors

impl<T: ThrSv> ThrFiberProc for T[src]

Loading content...