pub trait PocketIcSnapshotExt {
// Required methods
fn capture_snapshots_with_senders<I>(
&self,
targets: I,
) -> Result<ControllerSnapshots, ControllerSnapshotError>
where I: IntoIterator<Item = CanisterSnapshotTarget>;
fn capture_controller_snapshots<I>(
&self,
controller_id: Principal,
canister_ids: I,
) -> Result<ControllerSnapshots, ControllerSnapshotError>
where I: IntoIterator<Item = Principal>;
fn restore_controller_snapshots(
&self,
controller_id: Principal,
snapshots: &ControllerSnapshots,
) -> Result<(), ControllerSnapshotError>;
fn restore_controller_snapshots_with_funding(
&self,
controller_id: Principal,
snapshots: &ControllerSnapshots,
funding: SnapshotRestoreFunding,
) -> Result<(), ControllerSnapshotError>;
}Expand description
Controller-aware capture and restore of related canister snapshots.
Required Methods§
Sourcefn capture_snapshots_with_senders<I>(
&self,
targets: I,
) -> Result<ControllerSnapshots, ControllerSnapshotError>where
I: IntoIterator<Item = CanisterSnapshotTarget>,
fn capture_snapshots_with_senders<I>(
&self,
targets: I,
) -> Result<ControllerSnapshots, ControllerSnapshotError>where
I: IntoIterator<Item = CanisterSnapshotTarget>,
Capture snapshots with one explicit sender per canister.
Unlike Self::capture_controller_snapshots, this performs no
rejected-sender fallback attempts. Input is duplicate-checked and
captured in deterministic canister-id order.
Sourcefn capture_controller_snapshots<I>(
&self,
controller_id: Principal,
canister_ids: I,
) -> Result<ControllerSnapshots, ControllerSnapshotError>where
I: IntoIterator<Item = Principal>,
fn capture_controller_snapshots<I>(
&self,
controller_id: Principal,
canister_ids: I,
) -> Result<ControllerSnapshots, ControllerSnapshotError>where
I: IntoIterator<Item = Principal>,
Capture one restorable snapshot per unique canister.
Input is validated before capture begins. If a later capture fails, snapshots already captured by this operation are deleted before the structured error is returned.
Sourcefn restore_controller_snapshots(
&self,
controller_id: Principal,
snapshots: &ControllerSnapshots,
) -> Result<(), ControllerSnapshotError>
fn restore_controller_snapshots( &self, controller_id: Principal, snapshots: &ControllerSnapshots, ) -> Result<(), ControllerSnapshotError>
Restore a previously captured snapshot set using the same controller.
This default path never funds the canister before restore. PocketIC may still charge cycles as part of the restore operation itself.
Sourcefn restore_controller_snapshots_with_funding(
&self,
controller_id: Principal,
snapshots: &ControllerSnapshots,
funding: SnapshotRestoreFunding,
) -> Result<(), ControllerSnapshotError>
fn restore_controller_snapshots_with_funding( &self, controller_id: Principal, snapshots: &ControllerSnapshots, funding: SnapshotRestoreFunding, ) -> Result<(), ControllerSnapshotError>
Restore a snapshot set with an explicit cycle-funding policy.
TopUpTo is evaluated immediately before each restore attempt. No
cycles are removed when the current balance already meets the minimum.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".