[][src]Trait kompact::component::CoreContainer

pub trait CoreContainer: Send + Sync {
    fn id(&self) -> Uuid;
fn core(&self) -> &ComponentCore;
fn execute(&self) -> SchedulingDecision;
fn schedule(&self);
fn type_name(&self) -> &'static str;
fn dyn_message_queue(&self) -> &dyn DynMsgQueue;
fn enqueue_control(&self, event: ControlEvent); fn system(&self) -> &KompactSystem { ... } }

A trait for abstracting over structures that contain a component core

Used for implementing scheduling and execution logic, such as Scheduler.

Required methods

fn id(&self) -> Uuid

Returns the component's unique id

fn core(&self) -> &ComponentCore

Returns a reference to the actual component core

fn execute(&self) -> SchedulingDecision

Executes this component on the current thread

fn schedule(&self)

Schedules this component on its associated scheduler

fn type_name(&self) -> &'static str

The descriptive string of the ComponentDefinition type wrapped in this container

fn dyn_message_queue(&self) -> &dyn DynMsgQueue

Returns the underlying message queue of this component without the type information

fn enqueue_control(&self, event: ControlEvent)

Enqueue an event on the component's control queue

Not usually something you need to manually, unless you nned custom supervisor behaviours, for example.

Loading content...

Provided methods

fn system(&self) -> &KompactSystem

Returns this component's system

Loading content...

Trait Implementations

impl Debug for dyn CoreContainer[src]

Implementors

impl<CD: ComponentTraits> CoreContainer for Component<CD>[src]

Loading content...