diff --git a/src/runtime2/inbox.rs b/src/runtime2/inbox.rs index 9175a2239cf60bb154e70b9e28c11d94d1d02fe4..1c952c4c4c63f30f108ca3580e208026d69be1a1 100644 --- a/src/runtime2/inbox.rs +++ b/src/runtime2/inbox.rs @@ -184,6 +184,16 @@ impl Message { } } + pub(crate) fn source_component(&self) -> Option { + match self { + Message::Data(message) => Some(message.sync_header.sending_component_id), + Message::SyncPort(message) => Some(message.sync_header.sending_component_id), + Message::SyncComp(message) => Some(message.sync_header.sending_component_id), + Message::SyncControl(_) => None, + Message::Control(message) => Some(message.sending_component_id) + } + } + pub(crate) fn as_data(&self) -> &DataMessage { match self { Message::Data(v) => v,