pub enum DiagnosticAction<Route, Diagnostic> {
Deliver {
route: Route,
diagnostic: Diagnostic,
},
Terminal {
diagnostic: Diagnostic,
},
}Expand description
One complete diagnostic selected for delivery or terminal custody.
A route for another diagnostic protocol cannot become an action item:
ⓘ
fn require_action<Item: behavior::ActionItem>(_: Item) {}
let route = behavior::Recipient::<behavior::MessageProtocol<behavior::MailAddr, u8>>::global(behavior::MailAddr(1));
require_action(behavior_actors::atomic::DiagnosticAction::deliver(route, String::from("failed")));Variants§
Implementations§
Source§impl<Route, Diagnostic> DiagnosticAction<Route, Diagnostic>
impl<Route, Diagnostic> DiagnosticAction<Route, Diagnostic>
Trait Implementations§
Source§impl<Route, Diagnostic> ActionItem for DiagnosticAction<Route, Diagnostic>where
Route: DiagnosticRoute<Diagnostic>,
Diagnostic: Send,
impl<Route, Diagnostic> ActionItem for DiagnosticAction<Route, Diagnostic>where
Route: DiagnosticRoute<Diagnostic>,
Diagnostic: Send,
type Custody = (Option<DiagnosticAction<Route, Diagnostic>>, Option<<DiagnosticAction<Route, Diagnostic> as ActionItem>::Reply>)
type Input<'a> = &'a mut Option<DiagnosticAction<Route, Diagnostic>> where Self: 'a
type Reply = ItemSettlement<DiagnosticAction<Route, Diagnostic>, <DiagnosticAction<Route, Diagnostic> as ActionItem>::Accepted, <DiagnosticAction<Route, Diagnostic> as ActionItem>::Rejection, <DiagnosticAction<Route, Diagnostic> as ActionItem>::Prerequisite>
type Accepted = DiagnosticAccepted<Diagnostic>
type Rejection = <Route as DiagnosticRoute<Diagnostic>>::Rejection
type Prerequisite = Never
fn prepare_interpretation( progress: &mut Option<InterpretationProgress<Self, Self::Custody, Self::Reply>>, )
fn interpretation_input<'a>(
custody: &'a mut Self::Custody,
) -> Option<(Self::Input<'a>, &'a mut Option<Self::Reply>)>where
Self: 'a,
fn finish_interpretation( progress: &mut Option<InterpretationProgress<Self, Self::Custody, Self::Reply>>, )
Source§impl<Route, Diagnostic> InterpreterRequest for DiagnosticAction<Route, Diagnostic>where
Route: DiagnosticRoute<Diagnostic>,
impl<Route, Diagnostic> InterpreterRequest for DiagnosticAction<Route, Diagnostic>where
Route: DiagnosticRoute<Diagnostic>,
type ReturnToEmitter = NoReturnToEmitter
type LogicalProtocols = <Route as DiagnosticRoute<Diagnostic>>::LogicalProtocols
Auto Trait Implementations§
impl<Route, Diagnostic> Freeze for DiagnosticAction<Route, Diagnostic>
impl<Route, Diagnostic> RefUnwindSafe for DiagnosticAction<Route, Diagnostic>where
Route: RefUnwindSafe,
Diagnostic: RefUnwindSafe,
impl<Route, Diagnostic> Send for DiagnosticAction<Route, Diagnostic>
impl<Route, Diagnostic> Sync for DiagnosticAction<Route, Diagnostic>
impl<Route, Diagnostic> Unpin for DiagnosticAction<Route, Diagnostic>
impl<Route, Diagnostic> UnsafeUnpin for DiagnosticAction<Route, Diagnostic>where
Route: UnsafeUnpin,
Diagnostic: UnsafeUnpin,
impl<Route, Diagnostic> UnwindSafe for DiagnosticAction<Route, Diagnostic>where
Route: UnwindSafe,
Diagnostic: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more