#[non_exhaustive]pub enum ResetDomainPolicy {
PocketIcTime(TimeResetPolicy),
ExtraCanisters(ExtraCanisterPolicy),
PendingMessages(StateResetPolicy),
SubnetState(StateResetPolicy),
ExternalResources(StateResetPolicy),
}Expand description
Policy for one non-snapshot reset domain.
ResetRequirements declares policies that a recipe requires;
ResetReceipt reports policies achieved by its reset operation. The pool
checks every required domain against the reported policy before reuse.
use ic_testkit::pic::{
CycleResetPolicy, ResetDomainKind, ResetDomainPolicy, ResetReceipt,
ResetRequirements, TimeResetPolicy,
};
let requirements = ResetRequirements::try_new(
CycleResetPolicy::PreserveCurrent,
[ResetDomainPolicy::PocketIcTime(TimeResetPolicy::PreserveCurrent)],
)?;
// The reset operation deliberately preserves simulated time.
let receipt = ResetReceipt::try_new([
ResetDomainPolicy::PocketIcTime(TimeResetPolicy::PreserveCurrent),
])?;
assert_eq!(
requirements.get(ResetDomainKind::PocketIcTime),
receipt.get(ResetDomainKind::PocketIcTime),
);Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
PocketIcTime(TimeResetPolicy)
PocketIC time policy.
ExtraCanisters(ExtraCanisterPolicy)
Extra-canister policy.
PendingMessages(StateResetPolicy)
Pending-message policy.
SubnetState(StateResetPolicy)
Subnet-state policy.
ExternalResources(StateResetPolicy)
External-resource policy.
Implementations§
Source§impl ResetDomainPolicy
impl ResetDomainPolicy
Sourcepub const fn domain(&self) -> ResetDomainKind
pub const fn domain(&self) -> ResetDomainKind
Domain governed by this policy.
Trait Implementations§
Source§impl Clone for ResetDomainPolicy
impl Clone for ResetDomainPolicy
Source§impl Debug for ResetDomainPolicy
impl Debug for ResetDomainPolicy
impl Eq for ResetDomainPolicy
Source§impl PartialEq for ResetDomainPolicy
impl PartialEq for ResetDomainPolicy
impl StructuralPartialEq for ResetDomainPolicy
Auto Trait Implementations§
impl Freeze for ResetDomainPolicy
impl RefUnwindSafe for ResetDomainPolicy
impl Send for ResetDomainPolicy
impl Sync for ResetDomainPolicy
impl Unpin for ResetDomainPolicy
impl UnsafeUnpin for ResetDomainPolicy
impl UnwindSafe for ResetDomainPolicy
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.