components::sched::cooperative

Struct CooperativeComponent

Source
pub struct CooperativeComponent<const NUM_PROCS: usize> { /* private fields */ }

Implementations§

Source§

impl<const NUM_PROCS: usize> CooperativeComponent<NUM_PROCS>

Source

pub fn new( processes: &'static [Option<&'static dyn Process>], ) -> CooperativeComponent<NUM_PROCS>

Trait Implementations§

Source§

impl<const NUM_PROCS: usize> Component for CooperativeComponent<NUM_PROCS>

Source§

type StaticInput = (&'static mut MaybeUninit<CooperativeSched<'static>>, &'static mut MaybeUninit<[MaybeUninit<CoopProcessNode<'static>>; NUM_PROCS]>)

An optional type to specify the chip or board specific static memory that a component needs to setup the output object(s). This is the memory that crate::static_buf!() would normally setup, but generic components cannot setup static buffers for types which are chip-dependent, so those buffers have to be passed in manually, and the Component::StaticInput type makes this possible.
Source§

type Output = &'static mut CooperativeSched<'static>

The type (e.g., capsule, peripheral) that this implementation of Component produces via Component::finalize(). This is typically a static reference (&'static).
Source§

fn finalize(self, static_buffer: Self::StaticInput) -> Self::Output

A factory method that returns an instance of the Output type of this Component implementation. This is used in the boot sequence to instantiate and initialize part of the Tock kernel. This factory method may only be called once per Component instance. Read more

Auto Trait Implementations§

§

impl<const NUM_PROCS: usize> Freeze for CooperativeComponent<NUM_PROCS>

§

impl<const NUM_PROCS: usize> !RefUnwindSafe for CooperativeComponent<NUM_PROCS>

§

impl<const NUM_PROCS: usize> !Send for CooperativeComponent<NUM_PROCS>

§

impl<const NUM_PROCS: usize> !Sync for CooperativeComponent<NUM_PROCS>

§

impl<const NUM_PROCS: usize> Unpin for CooperativeComponent<NUM_PROCS>

§

impl<const NUM_PROCS: usize> !UnwindSafe for CooperativeComponent<NUM_PROCS>

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.