[][src]Macro ghost_actor::ghost_chan

macro_rules! ghost_chan {
    (
        Visibility($($vis:tt)*),
        Name($name:ident),
        Error($error:ty),
        Api { $( $req_name:ident ( $doc:expr, $req_type:ty, $res_type:ty, ) ),*, }
    ) => { ... };
    ( @inner
        ($($vis:tt)*), $name:ident, $error:ty,
        $( $doc:expr, $req_name:ident, $req_type:ty, $res_type:ty ),*
    ) => { ... };
    ( @inner_protocol
        ($($vis:tt)*), $name:ident, $error:ty,
        $( $doc:expr, $req_name:ident, $req_fname:ident, $req_type:ty, $res_type:ty ),*
    ) => { ... };
    ( @inner_helper_sender
        $sendf:ident, $doc:expr, $req_fname:ident, (), $res_type:ty, $error:ty
    ) => { ... };
    ( @inner_helper_sender
        $sendf:ident, $doc:expr, $req_fname:ident, $req_type:ty, $res_type:ty, $error:ty
    ) => { ... };
    ( @inner_send_trait
        ($($vis:tt)*), $name:ident, $error:ty,
        $( $doc:expr, $req_name:ident, $req_fname:ident, $req_type:ty, $res_type:ty ),*
    ) => { ... };
}

The ghost_chan! macro generates an enum and helper types that make it easy to make inline async requests and await responses.