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.