[−][src]Macro ghost_actor::ghost_actor
macro_rules! ghost_actor { ( @inner_tx $(#[$ameta:meta])* ($($avis:tt)*) actor $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)* ) actor $($rest:tt)* ) => { ... }; ( $(#[$ameta:meta])* pub actor $($rest:tt)* ) => { ... }; ( $(#[$ameta:meta])* actor $($rest:tt)* ) => { ... }; }
The ghost_actor!
macro generates an enum and helper types that make it
easy to make inline async requests and await responses.