macro_rules! from_message {
    ($name: ident :: $variant: ident ( $ty: ty )) => { ... };
    ($name: ident :: $variant: ident ( $ty: ty ) -> $return_ty: ty) => { ... };
    ($name: ident :: $variant: ident ( $( $ty: ty ),+ ) -> $return_ty: ty) => { ... };
}
Expand description

Macro to implement From for an enum message type.

Examples

use heph::actor_ref::RpcMessage;
use heph::from_message;

#[derive(Debug)]
enum Message {
    Msg(String),
    Rpc(RpcMessage<String, usize>),
    Rpc2(RpcMessage<(String, usize), (usize, usize)>),
}

// This implements `From<String>` for `Message`.
from_message!(Message::Msg(String));

// RPC is also supported:
from_message!(Message::Rpc(String) -> usize);
from_message!(Message::Rpc2(String, usize) -> (usize, usize));