diff --git a/src/runtime2/component/component_internet.rs b/src/runtime2/component/component_internet.rs index c6fa23e95c3e2a1622231c5f38d284391ae3dfc7..4d508f2545e458c5747fd9fdd2eed7fe9d269b92 100644 --- a/src/runtime2/component/component_internet.rs +++ b/src/runtime2/component/component_internet.rs @@ -110,7 +110,7 @@ impl Component for ComponentTcpClient { Message::Control(message) => { if let Err(location_and_message) = component::default_handle_control_message( &mut self.exec_state, &mut self.control, &mut self.consensus, - message, sched_ctx, comp_ctx + message, sched_ctx, comp_ctx, &mut self.inbox_main, &mut self.inbox_backup ) { component::default_handle_error_for_builtin(&mut self.exec_state, sched_ctx, location_and_message); } @@ -125,7 +125,11 @@ impl Component for ComponentTcpClient { sched_ctx.info(&format!("Running component ComponentTcpClient (mode: {:?}, sync state: {:?})", self.exec_state.mode, self.sync_state)); match self.exec_state.mode { - CompMode::BlockedSelect => { + CompMode::BlockedSelect | + CompMode::PutPortsBlockedTransferredPorts | + CompMode::PutPortsBlockedAwaitingAcks | + CompMode::PutPortsBlockedSendingPort | + CompMode::NewComponentBlocked => { // Not possible: we never enter this state unreachable!(); }, @@ -239,7 +243,11 @@ impl Component for ComponentTcpClient { Ok(num_received) => { self.byte_buffer.resize(num_received, 0); let message_content = self.bytes_to_data_message_content(&self.byte_buffer); - let send_result = component::default_send_data_message(&mut self.exec_state, self.pdl_output_port_id, PortInstruction::NoSource, message_content, sched_ctx, &mut self.consensus, comp_ctx); + let send_result = component::default_send_data_message( + &mut self.exec_state, self.pdl_output_port_id, PortInstruction::NoSource, + message_content, sched_ctx, &mut self.consensus, &mut self.control, comp_ctx + ); + if let Err(location_and_message) = send_result { component::default_handle_error_for_builtin(&mut self.exec_state, sched_ctx, location_and_message); return CompScheduling::Immediate;