Compare commits

..

1 Commits

Author SHA1 Message Date
mwojcik 872895e769 satman: support sub-subkernels, routing 2023-12-13 17:34:56 +08:00
2 changed files with 5 additions and 6 deletions

View File

@ -580,10 +580,9 @@ fn process_aux_packet(
} => {
forward!(_routing_table, _destination, *rank, _repeaters, &packet, timer);
// received if local subkernel started another, remote subkernel
kernel_manager.subkernel_load_run_reply(succeeded, *self_destination);
kernel_manager.subkernel_load_run_reply(succeeded);
Ok(())
}
// { destination: u8, id: u32, with_exception: bool, exception_src: u8 },
drtioaux::Packet::SubkernelFinished {
destination: _destination,
id,

View File

@ -85,7 +85,6 @@ struct Message {
#[derive(PartialEq)]
enum OutMessageState {
NoMessage,
MessageReady,
MessageBeingSent,
MessageSent,
MessageAcknowledged,
@ -553,8 +552,9 @@ impl<'a> Manager<'_> {
}
}
pub fn subkernel_load_run_reply(&mut self, succeeded: bool, self_destination: u8) {
pub fn subkernel_load_run_reply(&mut self, succeeded: bool) {
if self.session.kernel_state == KernelState::SubkernelAwaitLoad {
self.control.tx.send(kernel::Message::SubkernelLoadRunReply { succeeded: succeeded });
self.session.kernel_state = KernelState::Running;
} else {
warn!("received unsolicited SubkernelLoadRunReply");
@ -606,13 +606,13 @@ impl<'a> Manager<'_> {
self.control.tx.send(kernel::Message::CacheGetReply(value));
}
kernel::Message::SubkernelMsgSend {
id,
id: _id,
destination: msg_dest,
data,
} => {
let msg_dest = msg_dest.or(Some(self.session.source)).unwrap();
self.session.messages.accept_outgoing(
id,
self.session.id,
self_destination,
msg_dest,
data,