pub struct UpdateCoordinator<'a> { /* private fields */ }Expand description
Coordinates provider, store, integrity, health and rollback boundaries.
Implementations§
Source§impl<'a> UpdateCoordinator<'a>
impl<'a> UpdateCoordinator<'a>
Sourcepub fn new(
provider: &'a dyn UpdateProvider,
store: &'a dyn ArtifactStore,
health: &'a dyn ActivationHealthCheck,
max_artifact_bytes: usize,
) -> UpdateResult<Self>
pub fn new( provider: &'a dyn UpdateProvider, store: &'a dyn ArtifactStore, health: &'a dyn ActivationHealthCheck, max_artifact_bytes: usize, ) -> UpdateResult<Self>
Creates a coordinator with an explicit artifact byte bound.
Sourcepub fn new_with_authenticity(
provider: &'a dyn UpdateProvider,
store: &'a dyn ArtifactStore,
health: &'a dyn ActivationHealthCheck,
authenticity: &'a dyn ArtifactAuthenticityVerifier,
max_artifact_bytes: usize,
) -> UpdateResult<Self>
pub fn new_with_authenticity( provider: &'a dyn UpdateProvider, store: &'a dyn ArtifactStore, health: &'a dyn ActivationHealthCheck, authenticity: &'a dyn ArtifactAuthenticityVerifier, max_artifact_bytes: usize, ) -> UpdateResult<Self>
Creates a coordinator with an explicit artifact authenticity policy.
Sourcepub fn new_for_preparation(
provider: &'a dyn UpdateProvider,
store: &'a dyn ArtifactStore,
authenticity: &'a dyn ArtifactAuthenticityVerifier,
max_artifact_bytes: usize,
) -> UpdateResult<Self>
pub fn new_for_preparation( provider: &'a dyn UpdateProvider, store: &'a dyn ArtifactStore, authenticity: &'a dyn ArtifactAuthenticityVerifier, max_artifact_bytes: usize, ) -> UpdateResult<Self>
Creates a staging coordinator for process-level health verification.
Sourcepub fn apply(
&self,
request: &UpdateRequest,
runtime_version: &str,
protocol_version: &str,
) -> UpdateResult<UpdateOutcome>
pub fn apply( &self, request: &UpdateRequest, runtime_version: &str, protocol_version: &str, ) -> UpdateResult<UpdateOutcome>
Applies an update using the production no-fault path.
Sourcepub fn prepare(
&self,
request: &UpdateRequest,
runtime_version: &str,
protocol_version: &str,
) -> UpdateResult<UpdatePreparation>
pub fn prepare( &self, request: &UpdateRequest, runtime_version: &str, protocol_version: &str, ) -> UpdateResult<UpdatePreparation>
Stages and activates an update without committing it.
An application parent uses this two-phase path when the candidate must be
restarted and probed before ArtifactStore::commit or rollback.
Sourcepub fn stage_candidate(
&self,
request: &UpdateRequest,
runtime_version: &str,
protocol_version: &str,
) -> UpdateResult<UpdateStaging>
pub fn stage_candidate( &self, request: &UpdateRequest, runtime_version: &str, protocol_version: &str, ) -> UpdateResult<UpdateStaging>
Verifies and stages a candidate without changing the active artifact.
Sourcepub fn apply_with_faults(
&self,
request: &UpdateRequest,
runtime_version: &str,
protocol_version: &str,
faults: &dyn UpdateFaultInjector,
) -> UpdateResult<UpdateOutcome>
pub fn apply_with_faults( &self, request: &UpdateRequest, runtime_version: &str, protocol_version: &str, faults: &dyn UpdateFaultInjector, ) -> UpdateResult<UpdateOutcome>
Applies an update while exposing deterministic lifecycle fault points.
Auto Trait Implementations§
impl<'a> !RefUnwindSafe for UpdateCoordinator<'a>
impl<'a> !UnwindSafe for UpdateCoordinator<'a>
impl<'a> Freeze for UpdateCoordinator<'a>
impl<'a> Send for UpdateCoordinator<'a>
impl<'a> Sync for UpdateCoordinator<'a>
impl<'a> Unpin for UpdateCoordinator<'a>
impl<'a> UnsafeUnpin for UpdateCoordinator<'a>
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