Struct Flaky

Source
pub struct Flaky<T>
where T: SimObject,
{ pub entity: Rc<Entity>, /* private fields */ }
Expand description

A component needs to support being cloned and also being printed for debug logging.

The EntityDisply automatically derives the Display trait as long as the struct contains the entity.

Fields§

§entity: Rc<Entity>

Every component should include an Entity that defines where in the overall simulation hierarchy it is. The Entity is also used to filter logging.

Implementations§

Source§

impl<T> Flaky<T>
where T: SimObject,

The next thing to do is define the generic functions for the new component.

Source

pub fn new_and_register( engine: &Engine, parent: &Rc<Entity>, name: &str, clock: Clock, spawner: Spawner, config: &Config, ) -> Result<Rc<Self>, SimError>

In this case, the new_and_register() function creates the component from the parameters provided as well as registering the component with the Engine.

Source

pub fn port_rx(&self) -> PortStateResult<T>

This provides the InPort to which you can connect

Source

pub fn connect_port_tx(&self, port_state: PortStateResult<T>) -> SimResult

The ports of this component are effectively defined by the functions this component exposes. In this case, the connect_port_tx shows that this component has an tx port which should be connected to an rx port.

In this case the tx port is connected directly to the buffer’s tx port.

Trait Implementations§

Source§

impl<T> Display for Flaky<T>
where T: SimObject,

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<T> Runnable for Flaky<T>
where T: SimObject,

Source§

fn run<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = SimResult> + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Implement the active aspect of thie component

The run() function launches any sub-components and then performs the functionality of this component.

Auto Trait Implementations§

§

impl<T> !Freeze for Flaky<T>

§

impl<T> !RefUnwindSafe for Flaky<T>

§

impl<T> !Send for Flaky<T>

§

impl<T> !Sync for Flaky<T>

§

impl<T> Unpin for Flaky<T>

§

impl<T> !UnwindSafe for Flaky<T>

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> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
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.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V