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.
impl<T> Flaky<T>where
T: SimObject,
The next thing to do is define the generic functions for the new component.
Sourcepub fn new_and_register(
engine: &Engine,
parent: &Rc<Entity>,
name: &str,
clock: Clock,
spawner: Spawner,
config: &Config,
) -> Result<Rc<Self>, SimError>
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.
Sourcepub fn connect_port_tx(&self, port_state: PortStateResult<T>) -> SimResult
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> Runnable for Flaky<T>where
T: SimObject,
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,
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.