Struct pallet_state_trie_migration::pallet::MigrationTask
source · pub struct MigrationTask<T: Config> { /* private fields */ }
Expand description
A migration task stored in state.
It tracks the last top and child keys read.
Implementations§
source§impl<T: Config> MigrationTask<T>
impl<T: Config> MigrationTask<T>
sourcepub fn migrate_until_exhaustion(
&mut self,
limits: MigrationLimits
) -> Result<(), Error<T>>
pub fn migrate_until_exhaustion( &mut self, limits: MigrationLimits ) -> Result<(), Error<T>>
Migrate keys until either of the given limits are exhausted, or if no more top keys exist.
Note that this can return after the first migration tick that causes exhaustion,
specifically in the case of the size
constrain. The reason for this is that before
reading a key, we simply cannot know how many bytes it is. In other words, this should
not be used in any environment where resources are strictly bounded (e.g. a parachain),
but it is acceptable otherwise (relay chain, offchain workers).
Trait Implementations§
source§impl<T: Clone + Config> Clone for MigrationTask<T>
impl<T: Clone + Config> Clone for MigrationTask<T>
source§fn clone(&self) -> MigrationTask<T>
fn clone(&self) -> MigrationTask<T>
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl<T: Config> Debug for MigrationTask<T>
impl<T: Config> Debug for MigrationTask<T>
source§impl<T: Config> Decode for MigrationTask<T>where
ProgressOf<T>: Decode,
PhantomData<T>: Default,
impl<T: Config> Decode for MigrationTask<T>where ProgressOf<T>: Decode, PhantomData<T>: Default,
source§fn decode<__CodecInputEdqy: Input>(
__codec_input_edqy: &mut __CodecInputEdqy
) -> Result<Self, Error>
fn decode<__CodecInputEdqy: Input>( __codec_input_edqy: &mut __CodecInputEdqy ) -> Result<Self, Error>
Attempt to deserialise the value from input.
§fn decode_into<I>(
input: &mut I,
dst: &mut MaybeUninit<Self>
) -> Result<DecodeFinished, Error>where
I: Input,
fn decode_into<I>( input: &mut I, dst: &mut MaybeUninit<Self> ) -> Result<DecodeFinished, Error>where I: Input,
Attempt to deserialize the value from input into a pre-allocated piece of memory. Read more
§fn skip<I>(input: &mut I) -> Result<(), Error>where
I: Input,
fn skip<I>(input: &mut I) -> Result<(), Error>where I: Input,
Attempt to skip the encoded value from input. Read more
§fn encoded_fixed_size() -> Option<usize>
fn encoded_fixed_size() -> Option<usize>
Returns the fixed encoded size of the type. Read more
source§impl<T: Config> Default for MigrationTask<T>
impl<T: Config> Default for MigrationTask<T>
source§impl<T: Config> Encode for MigrationTask<T>where
ProgressOf<T>: Encode,
impl<T: Config> Encode for MigrationTask<T>where ProgressOf<T>: Encode,
source§fn encode_to<__CodecOutputEdqy: Output + ?Sized>(
&self,
__codec_dest_edqy: &mut __CodecOutputEdqy
)
fn encode_to<__CodecOutputEdqy: Output + ?Sized>( &self, __codec_dest_edqy: &mut __CodecOutputEdqy )
Convert self to a slice and append it to the destination.
§fn using_encoded<R, F>(&self, f: F) -> Rwhere
F: FnOnce(&[u8]) -> R,
fn using_encoded<R, F>(&self, f: F) -> Rwhere F: FnOnce(&[u8]) -> R,
Convert self to a slice and then invoke the given closure with it.
§fn encoded_size(&self) -> usize
fn encoded_size(&self) -> usize
Calculates the encoded size. Read more
source§impl<T> MaxEncodedLen for MigrationTask<T>where
T: Config,
impl<T> MaxEncodedLen for MigrationTask<T>where T: Config,
source§fn max_encoded_len() -> usize
fn max_encoded_len() -> usize
Upper bound, in bytes, of the maximum encoded size of this item.
source§impl<T: PartialEq + Config> PartialEq<MigrationTask<T>> for MigrationTask<T>
impl<T: PartialEq + Config> PartialEq<MigrationTask<T>> for MigrationTask<T>
source§fn eq(&self, other: &MigrationTask<T>) -> bool
fn eq(&self, other: &MigrationTask<T>) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.source§impl<T> TypeInfo for MigrationTask<T>where
ProgressOf<T>: TypeInfo + 'static,
PhantomData<T>: TypeInfo + 'static,
T: Config + 'static,
impl<T> TypeInfo for MigrationTask<T>where ProgressOf<T>: TypeInfo + 'static, PhantomData<T>: TypeInfo + 'static, T: Config + 'static,
impl<T: Config> EncodeLike<MigrationTask<T>> for MigrationTask<T>where ProgressOf<T>: Encode,
impl<T: Eq + Config> Eq for MigrationTask<T>
impl<T: Config> StructuralEq for MigrationTask<T>
impl<T: Config> StructuralPartialEq for MigrationTask<T>
Auto Trait Implementations§
impl<T> RefUnwindSafe for MigrationTask<T>where T: RefUnwindSafe, <T as Config>::MaxKeyLen: RefUnwindSafe,
impl<T> Send for MigrationTask<T>where T: Send, <T as Config>::MaxKeyLen: Send,
impl<T> Sync for MigrationTask<T>where T: Sync, <T as Config>::MaxKeyLen: Sync,
impl<T> Unpin for MigrationTask<T>where T: Unpin, <T as Config>::MaxKeyLen: Unpin,
impl<T> UnwindSafe for MigrationTask<T>where T: UnwindSafe, <T as Config>::MaxKeyLen: UnwindSafe,
Blanket Implementations§
source§impl<T> CheckedConversion for T
impl<T> CheckedConversion for T
§impl<T> DecodeAll for Twhere
T: Decode,
impl<T> DecodeAll for Twhere T: Decode,
§fn decode_all(input: &mut &[u8]) -> Result<T, Error>
fn decode_all(input: &mut &[u8]) -> Result<T, Error>
Decode
Self
and consume all of the given input data. Read more§impl<T> DecodeLimit for Twhere
T: Decode,
impl<T> DecodeLimit for Twhere T: Decode,
source§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
source§impl<T> Hashable for Twhere
T: Codec,
impl<T> Hashable for Twhere T: Codec,
fn blake2_128(&self) -> [u8; 16]
fn blake2_256(&self) -> [u8; 32]
fn blake2_128_concat(&self) -> Vec<u8, Global> ⓘ
fn twox_128(&self) -> [u8; 16]
fn twox_256(&self) -> [u8; 32]
fn twox_64_concat(&self) -> Vec<u8, Global> ⓘ
fn identity(&self) -> Vec<u8, Global> ⓘ
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T, Outer> IsWrappedBy<Outer> for Twhere
Outer: AsRef<T> + AsMut<T> + From<T>,
T: From<Outer>,
impl<T, Outer> IsWrappedBy<Outer> for Twhere Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,
§impl<T> KeyedVec for Twhere
T: Codec,
impl<T> KeyedVec for Twhere T: Codec,
§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<T> SaturatedConversion for T
impl<T> SaturatedConversion for T
source§fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
fn saturated_from<T>(t: T) -> Selfwhere Self: UniqueSaturatedFrom<T>,
source§fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
fn saturated_into<T>(self) -> Twhere Self: UniqueSaturatedInto<T>,
Consume self to return an equivalent value of
T
. Read more§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self
from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self
is actually part of its subset T
(and can be converted to it).§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset
but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self
to the equivalent element of its superset.source§impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
impl<S, T> UncheckedInto<T> for Swhere T: UncheckedFrom<S>,
source§fn unchecked_into(self) -> T
fn unchecked_into(self) -> T
The counterpart to
unchecked_from
.source§impl<T, S> UniqueSaturatedInto<T> for Swhere
T: Bounded,
S: TryInto<T>,
impl<T, S> UniqueSaturatedInto<T> for Swhere T: Bounded, S: TryInto<T>,
source§fn unique_saturated_into(self) -> T
fn unique_saturated_into(self) -> T
Consume self to return an equivalent value of
T
.