use crate::prelude::*;
#[derive(Debug)]
pub struct RawInput {
pub rx: MessageReceiver,
pub source: NodeID,
pub layout: InputID,
}
impl RawInput {
pub fn new(rx: MessageReceiver, source: NodeID, layout: InputID) -> Self {
Self { rx, source, layout }
}
pub async fn recv(&mut self) -> Result<DataflowMessage> {
let message = self
.rx
.recv()
.await
.ok_or_eyre(report_error_receiving(&self.source, &self.layout))?;
Ok(message)
}
}