[][src]Struct clockctrl::ClockCtrl

pub struct ClockCtrl<K> where
    K: Hash + Ord
{ /* fields omitted */ }

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.

Methods

impl<K> ClockCtrl<K> where
    K: Hash + Ord
[src]

pub fn new() -> Self[src]

Create a new, empty clock controller

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

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.

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

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> !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> where
    K: Unpin

impl<K> !UnwindSafe for ClockCtrl<K>

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.