pub type DynOptionFnSend<T> = dyn Fn(&T) -> MessageOption + Send;Expand description
Add dynamic filtering capability for parent Node
Use by component node to create a filtering relationship between two or more fields
ยงExample
let mut node = component![
"flag" => DynOption::new(U32::LE(0), |flag| {
if flag.inner() == 1 {
return MessageOption::SkipField("depend".to_string());
}
return MessageOption::None;
}),
"depend" => U32::LE(0)
];
let mut stream = Cursor::new(vec![0,0,0,0,1,0,0,0]);
node.read(&mut stream).unwrap();
assert_eq!(cast!(DataType::U32, node["depend"]).unwrap(), 1);
let mut stream = Cursor::new(vec![1,0,0,0,2,0,0,0]);
node.read(&mut stream).unwrap();
assert_ne!(cast!(DataType::U32, node["depend"]).unwrap(), 2);
}