pub trait CoreContainer: Send + Sync {
// Required methods
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);
// Provided method
fn system(&self) -> &KompactSystem { ... }
}Expand description
A trait for abstracting over structures that contain a component core
Used for implementing scheduling and execution logic, such as Scheduler.
Required Methods§
Sourcefn core(&self) -> &ComponentCore
fn core(&self) -> &ComponentCore
Returns a reference to the actual component core
Sourcefn execute(&self) -> SchedulingDecision
fn execute(&self) -> SchedulingDecision
Executes this component on the current thread
Sourcefn type_name(&self) -> &'static str
fn type_name(&self) -> &'static str
The descriptive string of the ComponentDefinition type wrapped in this container
Sourcefn dyn_message_queue(&self) -> &dyn DynMsgQueue
fn dyn_message_queue(&self) -> &dyn DynMsgQueue
Returns the underlying message queue of this component without the type information
Sourcefn enqueue_control(&self, event: ControlEvent)
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.
Provided Methods§
Sourcefn system(&self) -> &KompactSystem
fn system(&self) -> &KompactSystem
Returns this component’s system