diff --git a/src/runtime2/scheduler.rs b/src/runtime2/scheduler.rs index 70274990203972a1013b5025d7720cdd57369f05..be781d33c4b90d74713c508c50d9e396d52ca4eb 100644 --- a/src/runtime2/scheduler.rs +++ b/src/runtime2/scheduler.rs @@ -123,17 +123,16 @@ impl Scheduler { debug_assert!(delta_state.outbox.is_empty()); // And respond with an Ack - self.runtime.send_message( - message.sending_connector, - Message{ - sending_connector: connector_id, - receiving_port: PortIdLocal::new_invalid(), - contents: MessageContents::Control(ControlMessage{ - id: content.id, - content: ControlMessageVariant::Ack, - }), - } - ); + let ack_message = Message{ + sending_connector: connector_id, + receiving_port: PortIdLocal::new_invalid(), + contents: MessageContents::Control(ControlMessage{ + id: content.id, + content: ControlMessageVariant::Ack, + }), + }; + self.debug_conn(connector_id, &format!("Sending message [pp ack]\n --- {:?}", ack_message)); + self.runtime.send_message(message.sending_connector, ack_message); }, ControlMessageVariant::CloseChannel(port_id) => { // Mark the port as being closed @@ -141,17 +140,16 @@ impl Scheduler { port.state = PortState::Closed; // Send an Ack - self.runtime.send_message( - message.sending_connector, - Message{ - sending_connector: connector_id, - receiving_port: PortIdLocal::new_invalid(), - contents: MessageContents::Control(ControlMessage{ - id: content.id, - content: ControlMessageVariant::Ack, - }), - } - ); + let ack_message = Message{ + sending_connector: connector_id, + receiving_port: PortIdLocal::new_invalid(), + contents: MessageContents::Control(ControlMessage{ + id: content.id, + content: ControlMessageVariant::Ack, + }), + }; + self.debug_conn(connector_id, &format!("Sending message [cc ack] \n --- {:?}", ack_message)); + self.runtime.send_message(message.sending_connector, ack_message); }, ControlMessageVariant::Ack => { @@ -219,6 +217,7 @@ impl Scheduler { port.self_id, port.peer_id, connector_id ); + self.debug_conn(connector_id, &format!("Sending message [ exit ] \n --- {:?}", message)); self.runtime.send_message(port.peer_connector, message); } } @@ -243,7 +242,7 @@ impl Scheduler { for mut message in delta_state.outbox.drain(..) { // Based on the message contents, decide where the message // should be sent to. This might end up modifying the message. - self.debug_conn(connector_id, &format!("Sending message\n --- {:?}", message)); + self.debug_conn(connector_id, &format!("Sending message [outbox] \n --- {:?}", message)); let (peer_connector, self_port, peer_port) = match &mut message { MessageContents::Data(contents) => { let port = cur_connector.context.get_port(contents.sending_port); @@ -321,6 +320,7 @@ impl Scheduler { port.peer_connector, new_connector.context.id ); + self.debug_conn(connector_id, &format!("Sending message [newcon]\n --- {:?}", reroute_message)); self.runtime.send_message(port.peer_connector, reroute_message); } @@ -465,8 +465,7 @@ impl ControlMessageHandler { pub fn should_reroute(&self, sending_connector: ConnectorId, target_port: PortIdLocal) -> Option { for entry in &self.active { if let ControlVariant::ChangedPort(entry) = &entry.variant { - if entry.source_connector == sending_connector && - entry.target_port == target_port { + if entry.target_port == target_port { // Need to reroute this message return Some(entry.target_connector); }