iridis_node/primitives/
raw_input.rs1use crate::prelude::*;
4
5#[derive(Debug)]
7pub struct RawInput {
8 pub rx: MessageReceiver,
10
11 pub source: NodeID,
13 pub layout: InputID,
15}
16
17impl RawInput {
18 pub fn new(rx: MessageReceiver, source: NodeID, layout: InputID) -> Self {
20 Self { rx, source, layout }
21 }
22
23 pub async fn recv(&mut self) -> Result<DataflowMessage> {
25 let message = self
26 .rx
27 .recv()
28 .await
29 .ok_or_eyre(report_error_receiving(&self.source, &self.layout))?;
30
31 Ok(message)
32 }
33}