pub struct PrepareWorkers<Source, Role, Worker, Plan>{ /* private fields */ }Expand description
One non-empty ordered request for replacement worker submissions.
The request cannot report a prepared worker before its exact start is committed:
ⓘ
fn premature_submission<Source, Role, Worker, Plan>(
request: behavior_actors::atomic::PrepareWorkers<Source, Role, Worker, Plan>,
submission: behavior_actors::atomic::WorkerSubmission<Worker, Plan>,
)
where
Source: behavior_actors::atomic::WorkerSource<Role, Worker, Plan>,
Worker: behavior::Behavior + Send,
Plan: behavior_actors::atomic::ActivationPlan,
{
let _ = request.accept(submission);
}Implementations§
Source§impl<Source, Role, Worker, Plan> PrepareWorkers<Source, Role, Worker, Plan>
impl<Source, Role, Worker, Plan> PrepareWorkers<Source, Role, Worker, Plan>
Sourcepub fn source_and_role(&mut self) -> (&mut Source, &Role)
pub fn source_and_role(&mut self) -> (&mut Source, &Role)
Borrow the source and first selected role before committing the start.
Sourcepub fn start(
self,
) -> (WorkerPreparationStarted, StartingWorkerPreparation<Source, Role, Worker, Plan>)
pub fn start( self, ) -> (WorkerPreparationStarted, StartingWorkerPreparation<Source, Role, Worker, Plan>)
Commit one start and transfer the affine source to its first attempt.
The issued request is consumed, so another start receipt cannot be produced from the same source action.
Trait Implementations§
Source§impl<Source, Role, Worker, Plan> ActionItem for PrepareWorkers<Source, Role, Worker, Plan>where
Source: WorkerSource<Role, Worker, Plan>,
Role: Send + Sync,
Worker: Behavior + Send,
Plan: ActivationPlan,
impl<Source, Role, Worker, Plan> ActionItem for PrepareWorkers<Source, Role, Worker, Plan>where
Source: WorkerSource<Role, Worker, Plan>,
Role: Send + Sync,
Worker: Behavior + Send,
Plan: ActivationPlan,
type Custody = (Option<PrepareWorkers<Source, Role, Worker, Plan>>, Option<<PrepareWorkers<Source, Role, Worker, Plan> as ActionItem>::Reply>)
type Input<'a> = &'a mut Option<PrepareWorkers<Source, Role, Worker, Plan>> where Self: 'a
type Reply = ItemSettlement<PrepareWorkers<Source, Role, Worker, Plan>, <PrepareWorkers<Source, Role, Worker, Plan> as ActionItem>::Accepted, <PrepareWorkers<Source, Role, Worker, Plan> as ActionItem>::Rejection, <PrepareWorkers<Source, Role, Worker, Plan> as ActionItem>::Prerequisite>
type Accepted = WorkerPreparationStarted
type Rejection = Never
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<Source, Role, Worker, Plan> SourceAction for PrepareWorkers<Source, Role, Worker, Plan>where
Source: WorkerSource<Role, Worker, Plan>,
Role: Send + Sync,
Worker: Behavior + Send,
Plan: ActivationPlan,
impl<Source, Role, Worker, Plan> SourceAction for PrepareWorkers<Source, Role, Worker, Plan>where
Source: WorkerSource<Role, Worker, Plan>,
Role: Send + Sync,
Worker: Behavior + Send,
Plan: ActivationPlan,
Source§type Source = PrepareWorkers<Source, Role, Worker, Plan>
type Source = PrepareWorkers<Source, Role, Worker, Plan>
Actor-owned ingress selection for the result.
Auto Trait Implementations§
impl<Source, Role, Worker, Plan> Freeze for PrepareWorkers<Source, Role, Worker, Plan>where
Source: Freeze,
impl<Source, Role, Worker, Plan> RefUnwindSafe for PrepareWorkers<Source, Role, Worker, Plan>where
Source: RefUnwindSafe,
Role: RefUnwindSafe,
impl<Source, Role, Worker, Plan> Send for PrepareWorkers<Source, Role, Worker, Plan>
impl<Source, Role, Worker, Plan> Sync for PrepareWorkers<Source, Role, Worker, Plan>
impl<Source, Role, Worker, Plan> Unpin for PrepareWorkers<Source, Role, Worker, Plan>where
Source: Unpin,
impl<Source, Role, Worker, Plan> UnsafeUnpin for PrepareWorkers<Source, Role, Worker, Plan>where
Source: UnsafeUnpin,
impl<Source, Role, Worker, Plan> UnwindSafe for PrepareWorkers<Source, Role, Worker, Plan>where
Source: UnwindSafe,
Role: RefUnwindSafe,
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