diff --git a/src/runtime2/component/component_pdl.rs b/src/runtime2/component/component_pdl.rs index 59f1112be07fc456b70f9df8d97d95748207f575..20955eba657a3074c44b00e754cca9207bac0063 100644 --- a/src/runtime2/component/component_pdl.rs +++ b/src/runtime2/component/component_pdl.rs @@ -232,6 +232,7 @@ impl CompPDL { } pub(crate) fn handle_message(&mut self, sched_ctx: &mut SchedulerCtx, comp_ctx: &mut CompCtx, message: Message) { + sched_ctx.log(&format!("handling message: {:?}", message)); if let Some(new_target) = self.control.should_reroute(&message) { let target = sched_ctx.runtime.get_component_public(new_target); target.inbox.push(message); @@ -252,6 +253,7 @@ impl CompPDL { pub(crate) fn run(&mut self, sched_ctx: &mut SchedulerCtx, comp_ctx: &mut CompCtx) -> Result { use EvalContinuation as EC; + sched_ctx.log("Running component"); let run_result = self.execute_prompt(&sched_ctx)?; match run_result { @@ -284,11 +286,10 @@ impl CompPDL { let port_id = port_id_from_eval(port_id); let port_info = comp_ctx.get_port(port_id); if port_info.state == PortState::Blocked { - - } else { - + todo!("handle blocked port"); } self.send_message_and_wake_up(sched_ctx, comp_ctx, port_id, value); + self.exec_ctx.stmt = ExecStmt::PerformedPut; return Ok(CompScheduling::Immediate); }, // Results that can be returned outside of sync mode