Struct ClockCtrl

Source
pub struct ClockCtrl<K>
where K: Hash + Ord,
{ /* private fields */ }
Expand description

A control object for different clocking scopes

Each clock target can be configured individually via the Target type, returned by setup(). Additionally you need to provide some type that implements Hash. It’s recomended to just use an enum that can be mapped onto each of your reactors internal tasks.

Implementations§

Source§

impl<K> ClockCtrl<K>
where K: Hash + Ord,

Source

pub fn new() -> Self

Create a new, empty clock controller

Source

pub fn setup(&mut self, trgt: K) -> &mut Target

Override the default clocking scheme for a particular target

It’s already possible to constrain clock settings witout setting custom bounds, just because the consumer of the ClockCtl type can fall back to some defaults when this builder returns an object filled with None.

Canonically, the default constraints could be used to enable a low battery mode, whereas more low power embedded platforms can be further optimised.

Source

pub fn start(&mut self, target: K) -> Result<Scheduler, Error>

Start clock scheduler for a given task

This function returns a Barrier which can be used in the corresponding task.

Auto Trait Implementations§

§

impl<K> Freeze for ClockCtrl<K>

§

impl<K> !RefUnwindSafe for ClockCtrl<K>

§

impl<K> Send for ClockCtrl<K>
where K: Send,

§

impl<K> !Sync for ClockCtrl<K>

§

impl<K> Unpin for ClockCtrl<K>

§

impl<K> !UnwindSafe for ClockCtrl<K>

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.