Skip to main content

Active

Struct Active 

Source
pub struct Active<B: Behavior> { /* private fields */ }
Expand description

A behavior whose initialization fold has completed exactly once.

Active<B> does not implement Behavior, so initialization cannot be repeated through the public API:

use behavior::{Behavior, Compose, Machine, MailAddr, Move, Never};

let definition: Compose<Machine<MailAddr, (), u8, (), Never>> =
    Compose::new(Machine::new((), (), |_, _, _| Ok(Move::Stay)));
let active = definition.initialize().unwrap().behavior;
active.initialize();

Implementations§

Source§

impl<B: Behavior> Active<B>

Source

pub fn base(&self) -> &B::Base
where B: BehaviorBase,

Source

pub fn stashed(&self) -> usize
where B: StashStatus,

Source

pub fn transition(&mut self, event: B::Event) -> BehaviorActed<B>

Fold exactly one event after initialization.

Source

pub fn receive(&mut self, from: B::Addr, message: B::Msg) -> BehaviorActed<B>

Fold one user communication after initialization.

Source

pub fn on<Input>(&mut self, input: Input) -> BehaviorActed<B>
where B::Event: EventInput<Input>,

Fold one statically supported semantic input after initialization.

Trait Implementations§

Source§

impl<B: Behavior> Deref for Active<B>

Source§

type Target = B

The resulting type after dereferencing.
Source§

fn deref(&self) -> &Self::Target

Dereferences the value.

Auto Trait Implementations§

§

impl<B> Freeze for Active<B>
where B: Freeze,

§

impl<B> RefUnwindSafe for Active<B>
where B: RefUnwindSafe,

§

impl<B> Send for Active<B>
where B: Send,

§

impl<B> Sync for Active<B>
where B: Sync,

§

impl<B> Unpin for Active<B>
where B: Unpin,

§

impl<B> UnsafeUnpin for Active<B>
where B: UnsafeUnpin,

§

impl<B> UnwindSafe for Active<B>
where B: UnwindSafe,

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<P, T> Receiver for P
where P: Deref<Target = T> + ?Sized, T: ?Sized,

Source§

type Target = T

🔬This is a nightly-only experimental API. (arbitrary_self_types)
The target type on which the method may be called.
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.