pub struct ApplicationInstallationCampaign { /* private fields */ }Expand description
API-neutral deterministic state machine persisted by the shared service.
Implementations§
Source§impl ApplicationInstallationCampaign
impl ApplicationInstallationCampaign
Sourcepub const fn start(
campaign_id: ApplicationInstallationCampaignId,
plan_hash: ApplicationInstallationPlanHash,
) -> Self
pub const fn start( campaign_id: ApplicationInstallationCampaignId, plan_hash: ApplicationInstallationPlanHash, ) -> Self
Starts an empty campaign under one caller-stable identity.
Sourcepub fn resume(
&mut self,
campaign_id: ApplicationInstallationCampaignId,
plan: &ApplicationInstallationPlan,
) -> Result<ApplicationInstallationObservation, InstallationCampaignError>
pub fn resume( &mut self, campaign_id: ApplicationInstallationCampaignId, plan: &ApplicationInstallationPlan, ) -> Result<ApplicationInstallationObservation, InstallationCampaignError>
Verifies exact identity and every completed stage before resuming.
Sourcepub fn complete_stage(
&mut self,
plan: &ApplicationInstallationPlan,
evidence: InstallationStageEvidence,
) -> Result<ApplicationInstallationObservation, InstallationCampaignError>
pub fn complete_stage( &mut self, plan: &ApplicationInstallationPlan, evidence: InstallationStageEvidence, ) -> Result<ApplicationInstallationObservation, InstallationCampaignError>
Records one exact idempotent stage completion in dependency order.
Sourcepub fn start_reimport(
&mut self,
plan: &ApplicationInstallationPlan,
source: ApplicationReimportSourceV1,
authority: ApplicationReimportAuthorityV1,
scope: CapabilityApplicationReimportScopeV1,
portability_manifest: &ApplicationPortabilityManifest,
) -> Result<&ApplicationReimportCampaignV1, InstallationCampaignError>
pub fn start_reimport( &mut self, plan: &ApplicationInstallationPlan, source: ApplicationReimportSourceV1, authority: ApplicationReimportAuthorityV1, scope: CapabilityApplicationReimportScopeV1, portability_manifest: &ApplicationPortabilityManifest, ) -> Result<&ApplicationReimportCampaignV1, InstallationCampaignError>
Starts the exact nested reimport checkpoint at the sole reimport stage.
Sourcepub const fn reimport(&self) -> Option<&ApplicationReimportCampaignV1>
pub const fn reimport(&self) -> Option<&ApplicationReimportCampaignV1>
Current durable reimport progress, absent before a portability campaign starts.
Sourcepub fn reimport_mut(&mut self) -> Option<&mut ApplicationReimportCampaignV1>
pub fn reimport_mut(&mut self) -> Option<&mut ApplicationReimportCampaignV1>
Mutable reimport progress for the API-neutral service coordinator.
Sourcepub fn complete_reimport(
&mut self,
plan: &ApplicationInstallationPlan,
portability_manifest: &ApplicationPortabilityManifest,
reimport_receipt: &ApplicationReimportReceipt,
target_database_id: DatabaseId,
) -> Result<ApplicationInstallationObservation, InstallationCampaignError>
pub fn complete_reimport( &mut self, plan: &ApplicationInstallationPlan, portability_manifest: &ApplicationPortabilityManifest, reimport_receipt: &ApplicationReimportReceipt, target_database_id: DatabaseId, ) -> Result<ApplicationInstallationObservation, InstallationCampaignError>
Verifies and records terminal reimport reconciliation for this exact plan.
Sourcepub fn record_failure(
&mut self,
plan: &ApplicationInstallationPlan,
code: InstallationFailureCode,
) -> Result<ApplicationInstallationObservation, InstallationCampaignError>
pub fn record_failure( &mut self, plan: &ApplicationInstallationPlan, code: InstallationFailureCode, ) -> Result<ApplicationInstallationObservation, InstallationCampaignError>
Stops the current stage with a typed partial result and exact next action.
Sourcepub fn seal_receipt(
&mut self,
plan: &ApplicationInstallationPlan,
) -> Result<ApplicationInstallationReceipt, InstallationCampaignError>
pub fn seal_receipt( &mut self, plan: &ApplicationInstallationPlan, ) -> Result<ApplicationInstallationReceipt, InstallationCampaignError>
Seals the terminal redacted receipt; this is the only success transition.
Sourcepub fn observe(&self) -> ApplicationInstallationObservation
pub fn observe(&self) -> ApplicationInstallationObservation
Current redaction-safe observation.
Sourcepub fn completed_evidence(&self) -> &[InstallationStageEvidence]
pub fn completed_evidence(&self) -> &[InstallationStageEvidence]
Completed exact evidence retained for resume verification.
Sourcepub fn is_installed(&self) -> bool
pub fn is_installed(&self) -> bool
Whether and only whether a terminal receipt has been sealed.