pub enum DynamicCommand<Key, Worker, Plan>{
Start {
key: Key,
submission: WorkerSubmission<Worker, Plan>,
reply_to: ReplyRoute<MessageProtocol<BehaviorAddr<Worker>, Result<WorkerChangeReceipt<Key>, WorkerChangeRejection<Key, Worker, Plan, StartRejection>>>>,
},
Replace {
key: Key,
submission: WorkerSubmission<Worker, Plan>,
reply_to: ReplyRoute<MessageProtocol<BehaviorAddr<Worker>, Result<WorkerChangeReceipt<Key>, WorkerChangeRejection<Key, Worker, Plan, ReplaceRejection>>>>,
},
Stop {
key: Key,
reply_to: ReplyRoute<MessageProtocol<BehaviorAddr<Worker>, Result<Key, StopRejection<Key>>>>,
},
Query {
key: Key,
reply_to: ReplyRoute<MessageProtocol<BehaviorAddr<Worker>, QueryReply<Key, Worker::Protocol>>>,
},
Cancel {
authority: CancelAuthority<Key>,
reply_to: ReplyRoute<MessageProtocol<BehaviorAddr<Worker>, CancellationReceipt<Key, Worker, Plan>>>,
},
}Expand description
Five application operations accepted by one dynamic supervisor.
Variants§
Start
Fields
§
key: Key§
submission: WorkerSubmission<Worker, Plan>§
reply_to: ReplyRoute<MessageProtocol<BehaviorAddr<Worker>, Result<WorkerChangeReceipt<Key>, WorkerChangeRejection<Key, Worker, Plan, StartRejection>>>>Replace
Fields
§
key: Key§
submission: WorkerSubmission<Worker, Plan>§
reply_to: ReplyRoute<MessageProtocol<BehaviorAddr<Worker>, Result<WorkerChangeReceipt<Key>, WorkerChangeRejection<Key, Worker, Plan, ReplaceRejection>>>>Stop
Fields
§
key: Key§
reply_to: ReplyRoute<MessageProtocol<BehaviorAddr<Worker>, Result<Key, StopRejection<Key>>>>Query
Fields
§
key: Key§
reply_to: ReplyRoute<MessageProtocol<BehaviorAddr<Worker>, QueryReply<Key, Worker::Protocol>>>Cancel
Fields
§
reply_to: ReplyRoute<MessageProtocol<BehaviorAddr<Worker>, CancellationReceipt<Key, Worker, Plan>>>Auto Trait Implementations§
impl<Key, Worker, Plan> Freeze for DynamicCommand<Key, Worker, Plan>where
<<Worker as Behavior>::Protocol as Protocol>::Addr: Sized + Freeze,
Key: Freeze,
Worker: Freeze,
Plan: Freeze,
<<<Worker as Behavior>::Protocol as Protocol>::Addr as EndpointAddress>::Established<MessageProtocol<<<Worker as Behavior>::Protocol as Protocol>::Addr, Result<WorkerChangeReceipt<Key>, WorkerChangeRejection<Key, Worker, Plan, StartRejection>>>>: Freeze,
<<<Worker as Behavior>::Protocol as Protocol>::Addr as EndpointAddress>::Established<MessageProtocol<<<Worker as Behavior>::Protocol as Protocol>::Addr, Result<WorkerChangeReceipt<Key>, WorkerChangeRejection<Key, Worker, Plan, ReplaceRejection>>>>: Freeze,
<<<Worker as Behavior>::Protocol as Protocol>::Addr as EndpointAddress>::Established<MessageProtocol<<<Worker as Behavior>::Protocol as Protocol>::Addr, Result<Key, StopRejection<Key>>>>: Freeze,
<<<Worker as Behavior>::Protocol as Protocol>::Addr as EndpointAddress>::Established<MessageProtocol<<<Worker as Behavior>::Protocol as Protocol>::Addr, QueryReply<Key, <Worker as Behavior>::Protocol>>>: Freeze,
<<<Worker as Behavior>::Protocol as Protocol>::Addr as EndpointAddress>::Established<MessageProtocol<<<Worker as Behavior>::Protocol as Protocol>::Addr, CancellationReceipt<Key, Worker, Plan>>>: Freeze,
impl<Key, Worker, Plan> RefUnwindSafe for DynamicCommand<Key, Worker, Plan>where
<<Worker as Behavior>::Protocol as Protocol>::Addr: Sized + RefUnwindSafe,
Key: RefUnwindSafe,
Worker: RefUnwindSafe,
Plan: RefUnwindSafe,
<<<Worker as Behavior>::Protocol as Protocol>::Addr as EndpointAddress>::Established<MessageProtocol<<<Worker as Behavior>::Protocol as Protocol>::Addr, Result<WorkerChangeReceipt<Key>, WorkerChangeRejection<Key, Worker, Plan, StartRejection>>>>: RefUnwindSafe,
<<<Worker as Behavior>::Protocol as Protocol>::Addr as EndpointAddress>::Established<MessageProtocol<<<Worker as Behavior>::Protocol as Protocol>::Addr, Result<WorkerChangeReceipt<Key>, WorkerChangeRejection<Key, Worker, Plan, ReplaceRejection>>>>: RefUnwindSafe,
<<<Worker as Behavior>::Protocol as Protocol>::Addr as EndpointAddress>::Established<MessageProtocol<<<Worker as Behavior>::Protocol as Protocol>::Addr, Result<Key, StopRejection<Key>>>>: RefUnwindSafe,
<<<Worker as Behavior>::Protocol as Protocol>::Addr as EndpointAddress>::Established<MessageProtocol<<<Worker as Behavior>::Protocol as Protocol>::Addr, QueryReply<Key, <Worker as Behavior>::Protocol>>>: RefUnwindSafe,
<<<Worker as Behavior>::Protocol as Protocol>::Addr as EndpointAddress>::Established<MessageProtocol<<<Worker as Behavior>::Protocol as Protocol>::Addr, CancellationReceipt<Key, Worker, Plan>>>: RefUnwindSafe,
impl<Key, Worker, Plan> Send for DynamicCommand<Key, Worker, Plan>where
<<Worker as Behavior>::Protocol as Protocol>::Addr: Sized + Send,
Key: Send,
Worker: Send,
Plan: Send,
<<<Worker as Behavior>::Protocol as Protocol>::Addr as EndpointAddress>::Established<MessageProtocol<<<Worker as Behavior>::Protocol as Protocol>::Addr, Result<WorkerChangeReceipt<Key>, WorkerChangeRejection<Key, Worker, Plan, StartRejection>>>>: Send,
<<<Worker as Behavior>::Protocol as Protocol>::Addr as EndpointAddress>::Established<MessageProtocol<<<Worker as Behavior>::Protocol as Protocol>::Addr, Result<WorkerChangeReceipt<Key>, WorkerChangeRejection<Key, Worker, Plan, ReplaceRejection>>>>: Send,
<<<Worker as Behavior>::Protocol as Protocol>::Addr as EndpointAddress>::Established<MessageProtocol<<<Worker as Behavior>::Protocol as Protocol>::Addr, Result<Key, StopRejection<Key>>>>: Send,
<<<Worker as Behavior>::Protocol as Protocol>::Addr as EndpointAddress>::Established<MessageProtocol<<<Worker as Behavior>::Protocol as Protocol>::Addr, QueryReply<Key, <Worker as Behavior>::Protocol>>>: Send,
<<<Worker as Behavior>::Protocol as Protocol>::Addr as EndpointAddress>::Established<MessageProtocol<<<Worker as Behavior>::Protocol as Protocol>::Addr, CancellationReceipt<Key, Worker, Plan>>>: Send,
impl<Key, Worker, Plan> Sync for DynamicCommand<Key, Worker, Plan>where
<<Worker as Behavior>::Protocol as Protocol>::Addr: Sized + Sync,
Key: Sync,
Worker: Sync,
Plan: Sync,
<<<Worker as Behavior>::Protocol as Protocol>::Addr as EndpointAddress>::Established<MessageProtocol<<<Worker as Behavior>::Protocol as Protocol>::Addr, Result<WorkerChangeReceipt<Key>, WorkerChangeRejection<Key, Worker, Plan, StartRejection>>>>: Sync,
<<<Worker as Behavior>::Protocol as Protocol>::Addr as EndpointAddress>::Established<MessageProtocol<<<Worker as Behavior>::Protocol as Protocol>::Addr, Result<WorkerChangeReceipt<Key>, WorkerChangeRejection<Key, Worker, Plan, ReplaceRejection>>>>: Sync,
<<<Worker as Behavior>::Protocol as Protocol>::Addr as EndpointAddress>::Established<MessageProtocol<<<Worker as Behavior>::Protocol as Protocol>::Addr, Result<Key, StopRejection<Key>>>>: Sync,
<<<Worker as Behavior>::Protocol as Protocol>::Addr as EndpointAddress>::Established<MessageProtocol<<<Worker as Behavior>::Protocol as Protocol>::Addr, QueryReply<Key, <Worker as Behavior>::Protocol>>>: Sync,
<<<Worker as Behavior>::Protocol as Protocol>::Addr as EndpointAddress>::Established<MessageProtocol<<<Worker as Behavior>::Protocol as Protocol>::Addr, CancellationReceipt<Key, Worker, Plan>>>: Sync,
impl<Key, Worker, Plan> Unpin for DynamicCommand<Key, Worker, Plan>where
<<Worker as Behavior>::Protocol as Protocol>::Addr: Sized + Unpin,
Key: Unpin,
Worker: Unpin,
Plan: Unpin,
<<<Worker as Behavior>::Protocol as Protocol>::Addr as EndpointAddress>::Established<MessageProtocol<<<Worker as Behavior>::Protocol as Protocol>::Addr, Result<WorkerChangeReceipt<Key>, WorkerChangeRejection<Key, Worker, Plan, StartRejection>>>>: Unpin,
<<<Worker as Behavior>::Protocol as Protocol>::Addr as EndpointAddress>::Established<MessageProtocol<<<Worker as Behavior>::Protocol as Protocol>::Addr, Result<WorkerChangeReceipt<Key>, WorkerChangeRejection<Key, Worker, Plan, ReplaceRejection>>>>: Unpin,
<<<Worker as Behavior>::Protocol as Protocol>::Addr as EndpointAddress>::Established<MessageProtocol<<<Worker as Behavior>::Protocol as Protocol>::Addr, Result<Key, StopRejection<Key>>>>: Unpin,
<<<Worker as Behavior>::Protocol as Protocol>::Addr as EndpointAddress>::Established<MessageProtocol<<<Worker as Behavior>::Protocol as Protocol>::Addr, QueryReply<Key, <Worker as Behavior>::Protocol>>>: Unpin,
<<<Worker as Behavior>::Protocol as Protocol>::Addr as EndpointAddress>::Established<MessageProtocol<<<Worker as Behavior>::Protocol as Protocol>::Addr, CancellationReceipt<Key, Worker, Plan>>>: Unpin,
impl<Key, Worker, Plan> UnsafeUnpin for DynamicCommand<Key, Worker, Plan>where
<<Worker as Behavior>::Protocol as Protocol>::Addr: Sized + UnsafeUnpin,
Key: UnsafeUnpin,
Worker: UnsafeUnpin,
Plan: UnsafeUnpin,
<<<Worker as Behavior>::Protocol as Protocol>::Addr as EndpointAddress>::Established<MessageProtocol<<<Worker as Behavior>::Protocol as Protocol>::Addr, Result<WorkerChangeReceipt<Key>, WorkerChangeRejection<Key, Worker, Plan, StartRejection>>>>: UnsafeUnpin,
<<<Worker as Behavior>::Protocol as Protocol>::Addr as EndpointAddress>::Established<MessageProtocol<<<Worker as Behavior>::Protocol as Protocol>::Addr, Result<WorkerChangeReceipt<Key>, WorkerChangeRejection<Key, Worker, Plan, ReplaceRejection>>>>: UnsafeUnpin,
<<<Worker as Behavior>::Protocol as Protocol>::Addr as EndpointAddress>::Established<MessageProtocol<<<Worker as Behavior>::Protocol as Protocol>::Addr, Result<Key, StopRejection<Key>>>>: UnsafeUnpin,
<<<Worker as Behavior>::Protocol as Protocol>::Addr as EndpointAddress>::Established<MessageProtocol<<<Worker as Behavior>::Protocol as Protocol>::Addr, QueryReply<Key, <Worker as Behavior>::Protocol>>>: UnsafeUnpin,
<<<Worker as Behavior>::Protocol as Protocol>::Addr as EndpointAddress>::Established<MessageProtocol<<<Worker as Behavior>::Protocol as Protocol>::Addr, CancellationReceipt<Key, Worker, Plan>>>: UnsafeUnpin,
impl<Key, Worker, Plan> UnwindSafe for DynamicCommand<Key, Worker, Plan>where
<<Worker as Behavior>::Protocol as Protocol>::Addr: Sized + UnwindSafe,
Key: UnwindSafe,
Worker: UnwindSafe,
Plan: UnwindSafe,
<<<Worker as Behavior>::Protocol as Protocol>::Addr as EndpointAddress>::Established<MessageProtocol<<<Worker as Behavior>::Protocol as Protocol>::Addr, Result<WorkerChangeReceipt<Key>, WorkerChangeRejection<Key, Worker, Plan, StartRejection>>>>: UnwindSafe,
<<<Worker as Behavior>::Protocol as Protocol>::Addr as EndpointAddress>::Established<MessageProtocol<<<Worker as Behavior>::Protocol as Protocol>::Addr, Result<WorkerChangeReceipt<Key>, WorkerChangeRejection<Key, Worker, Plan, ReplaceRejection>>>>: UnwindSafe,
<<<Worker as Behavior>::Protocol as Protocol>::Addr as EndpointAddress>::Established<MessageProtocol<<<Worker as Behavior>::Protocol as Protocol>::Addr, Result<Key, StopRejection<Key>>>>: UnwindSafe,
<<<Worker as Behavior>::Protocol as Protocol>::Addr as EndpointAddress>::Established<MessageProtocol<<<Worker as Behavior>::Protocol as Protocol>::Addr, QueryReply<Key, <Worker as Behavior>::Protocol>>>: UnwindSafe,
<<<Worker as Behavior>::Protocol as Protocol>::Addr as EndpointAddress>::Established<MessageProtocol<<<Worker as Behavior>::Protocol as Protocol>::Addr, CancellationReceipt<Key, Worker, Plan>>>: 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