use soma_som_core::processor::{UnitProcessor, UnitProcessorError};
use soma_som_core::quad::{Quad, Tree};
use soma_som_core::types::UnitId;
#[derive(Debug, Default)]
pub struct PassthroughProcessor;
impl PassthroughProcessor {
pub fn new() -> Self {
Self
}
}
impl UnitProcessor for PassthroughProcessor {
fn process(
&mut self,
_unit_id: UnitId,
_cycle_index: u64,
input: &Quad,
_data: &Quad,
) -> Result<Quad, UnitProcessorError> {
let mut tree: Tree = input.tree.clone();
tree.insert("processor.name".into(), b"PassthroughProcessor".to_vec());
Ok(Quad::new(input.root, input.pointer, tree))
}
fn name(&self) -> &str {
"PassthroughProcessor"
}
}