diff --git a/src/runtime2/component/component.rs b/src/runtime2/component/component.rs new file mode 100644 index 0000000000000000000000000000000000000000..d68a0207767ee01904a1e6028d7742ccf9f63d8d --- /dev/null +++ b/src/runtime2/component/component.rs @@ -0,0 +1,14 @@ +use crate::runtime2::*; +use super::CompCtx; + +pub enum CompScheduling { + Immediate, + Requeue, + Sleep, + Exit, +} + +pub(crate) trait Component { + fn handle_message(sched_ctx: &mut SchedulerCtx, comp_ctx: &mut CompCtx, message: Message); + fn run(sched_ctx: &mut SchedulerCtx, comp_ctx: &mut CompCtx) -> CompScheduling; +} \ No newline at end of file