[][src]Type Definition rdp::model::data::DynOptionFnSend

type DynOptionFnSend<T> = dyn Fn(&T) -> MessageOption + Send;

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);
}