pub trait PocketIcBaselineRecipe:
Send
+ Sync
+ 'static {
type Metadata: Send + 'static;
type Error: Error + Send + Sync + 'static;
// Required methods
fn id(&self) -> &FixtureRecipeId;
fn reset_requirements(&self) -> &ResetRequirements;
fn build(
&self,
) -> Result<CachedPocketIcBaseline<Self::Metadata>, Self::Error>;
fn restore_canisters(
&self,
baseline: &CachedPocketIcBaseline<Self::Metadata>,
) -> Result<CanisterRestoreReceipt, Self::Error>;
fn reset_non_snapshot_state(
&self,
baseline: &CachedPocketIcBaseline<Self::Metadata>,
) -> Result<ResetReceipt, Self::Error>;
fn drive_to_readiness(
&self,
baseline: &CachedPocketIcBaseline<Self::Metadata>,
) -> Result<ReadinessReceipt, Self::Error>;
fn validate(
&self,
baseline: &CachedPocketIcBaseline<Self::Metadata>,
preparation: &PreparedBaseline,
) -> Result<ValidationReceipt, Self::Error>;
// Provided method
fn classify_failure(
&self,
stage: BaselinePreparationStage,
_error: &Self::Error,
) -> FailureDisposition { ... }
}Expand description
Complete caller-owned lifecycle recipe for one pooled PocketIC baseline.
Required Associated Types§
Required Methods§
Sourcefn id(&self) -> &FixtureRecipeId
fn id(&self) -> &FixtureRecipeId
Stable caller-owned recipe identity.
Sourcefn reset_requirements(&self) -> &ResetRequirements
fn reset_requirements(&self) -> &ResetRequirements
Reset guarantees required before an existing slot may be reused.
Sourcefn build(&self) -> Result<CachedPocketIcBaseline<Self::Metadata>, Self::Error>
fn build(&self) -> Result<CachedPocketIcBaseline<Self::Metadata>, Self::Error>
Construct and capture one complete baseline.
Sourcefn restore_canisters(
&self,
baseline: &CachedPocketIcBaseline<Self::Metadata>,
) -> Result<CanisterRestoreReceipt, Self::Error>
fn restore_canisters( &self, baseline: &CachedPocketIcBaseline<Self::Metadata>, ) -> Result<CanisterRestoreReceipt, Self::Error>
Restore every captured canister and report the cycle policy applied.
Sourcefn reset_non_snapshot_state(
&self,
baseline: &CachedPocketIcBaseline<Self::Metadata>,
) -> Result<ResetReceipt, Self::Error>
fn reset_non_snapshot_state( &self, baseline: &CachedPocketIcBaseline<Self::Metadata>, ) -> Result<ResetReceipt, Self::Error>
Reset state not covered by canister snapshots.
Sourcefn drive_to_readiness(
&self,
baseline: &CachedPocketIcBaseline<Self::Metadata>,
) -> Result<ReadinessReceipt, Self::Error>
fn drive_to_readiness( &self, baseline: &CachedPocketIcBaseline<Self::Metadata>, ) -> Result<ReadinessReceipt, Self::Error>
Drive the topology to the recipe’s readiness boundary.
Sourcefn validate(
&self,
baseline: &CachedPocketIcBaseline<Self::Metadata>,
preparation: &PreparedBaseline,
) -> Result<ValidationReceipt, Self::Error>
fn validate( &self, baseline: &CachedPocketIcBaseline<Self::Metadata>, preparation: &PreparedBaseline, ) -> Result<ValidationReceipt, Self::Error>
Validate the same baseline invariants after build and restore.
Provided Methods§
Sourcefn classify_failure(
&self,
stage: BaselinePreparationStage,
_error: &Self::Error,
) -> FailureDisposition
fn classify_failure( &self, stage: BaselinePreparationStage, _error: &Self::Error, ) -> FailureDisposition
Classify a restored-slot recipe failure as fatal or rebuildable.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".