[go: up one dir, main page]

[][src]Macro bastion::receive

macro_rules! receive {
    ( $msg:expr, $($rest:tt)* ) => { ... };
    (@private $msg:expr, ($recvty:ty => $clo:expr, _ => $fallback:expr) -> ($($parsed:tt)*) ) => { ... };
    (@private $msg:expr, ($recvty:ty => $clo:expr, $($rest:tt)*) -> ($($parsed:tt)*) ) => { ... };
    (@private $msg:expr, () -> ($(($recvty:ty => $clo:expr))*) $fallback:expr ) => { ... };
}

Matches incoming messages to the process. Always have a default case to execute if unknown message arrives to the process.

Examples

receive! { msg,
    String => |e| { println!("Received string :: {}", e)},
    i32 => |e| {println!("Received i32 :: {}", e)},
    _ => println!("No message as expected. Default")
}