Skip to main content

fsm

Macro fsm 

Source
macro_rules! fsm {
    (
        $self_ty:ty,
        state = $state:ty,
        data = $data:ty,
        msg = $msg:ty;
        initial state = $init_state:expr, data = $init_data:expr;
        $(
            ($pat_state:pat, $pat_msg:pat) => |$s:ident, $d:ident| ($next:expr, $ndata:expr, $timeout:expr);
        )+
    ) => { ... };
}