diff --git a/src/runtime2/communication.rs b/src/runtime2/communication.rs index 335f4c6d0864416a0135f0c9522eb433f19f3328..803db6e48ef4c9ef920d8ffc26b4a86a2d13ad86 100644 --- a/src/runtime2/communication.rs +++ b/src/runtime2/communication.rs @@ -1,4 +1,5 @@ use crate::protocol::eval::*; +use crate::protocol::eval::value::ValueId; use super::runtime::*; use super::component::*; @@ -31,6 +32,7 @@ pub struct DataMessage { pub data_header: MessageDataHeader, pub sync_header: MessageSyncHeader, pub content: ValueGroup, + pub ports: Vec, } #[derive(Debug)] @@ -61,6 +63,16 @@ pub struct MessageDataHeader { pub target_port: PortId, } +#[derive(Debug)] +pub struct TransmittedPort { + pub locations: Vec, // within `content` + pub messages: Vec, // owned by previous component + pub peer_comp: CompId, + pub peer_port: PortId, + pub kind: PortKind, + pub state: PortState, +} + // ----------------------------------------------------------------------------- // Sync messages // -----------------------------------------------------------------------------