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.