Macro ghost_actor::ghost_chan[][src]

macro_rules! ghost_chan {
    (@ inner_tx $(#[$ameta : meta]) * ($($avis : tt) *) chan $aname : ident <
 $aerr : ty >
 {
     $($(#[$rmeta : meta]) * fn $rname :
       ident($($pname : ident : $pty : ty), * $(,) ?) -> $rret : ty ;) *
 }) => { ... };
    (@ inner($($ameta : meta) *) ($($avis : tt) *) $aname : ident $aerr : ty
 [$(($($rmeta : meta) *) $rname : ident $rnamec : ident $rret : ty
    [$($pname : ident $pty : ty) *]) *]) => { ... };
    (@ inner_protocol($($ameta : meta) *) ($($avis : tt) *) $aname : ident $aerr :
 ty
 [$(($($rmeta : meta) *) $rname : ident $rnamec : ident $rret : ty
    [$($pname : ident $pty : ty) *]) *]) => { ... };
    (@ inner_send_trait($($ameta : meta) *) ($($avis : tt) *) $aname : ident $aerr
 : ty
 [$(($($rmeta : meta) *) $rname : ident $rnamec : ident $rret : ty
    [$($pname : ident $pty : ty) *]) *]) => { ... };
    (@ inner_handler_trait($($ameta : meta) *) ($($avis : tt) *) $aname : ident
 $aerr : ty
 [$(($($rmeta : meta) *) $rname : ident $rnamec : ident $rret : ty
    [$($pname : ident $pty : ty) *]) *]) => { ... };
    ($(#[$ameta : meta]) * pub($($avis : tt) *) chan $($rest : tt) *) => { ... };
    ($(#[$ameta : meta]) * pub chan $($rest : tt) *) => { ... };
    ($(#[$ameta : meta]) * chan $($rest : tt) *) => { ... };
}
Expand description

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