Struct sp_core::ChangesTrieConfiguration [−][src]
Expand description
Substrate changes trie configuration.
Fields
digest_interval: u32
Interval (in blocks) at which level1-digests are created. Digests are not created when this is less or equal to 1.
digest_levels: u32
Maximal number of digest levels in hierarchy. 0 means that digests are not
created at all (even level1 digests). 1 means only level1-digests are created.
2 means that every digest_interval^2 there will be a level2-digest, and so on.
Please ensure that maximum digest interval (i.e. digest_interval^digest_levels)
is within u32
limits. Otherwise you’ll never see digests covering such intervals
&& maximal digests interval will be truncated to the last interval that fits
u32
limits.
Implementations
Create new configuration given digest interval and levels.
Is digest build enabled?
pub fn is_digest_build_required_at_block<Number>(
&self,
zero: Number,
block: Number
) -> bool where
Number: From<u32> + PartialEq + Rem<Output = Number> + Sub<Output = Number> + PartialOrd + Zero,
pub fn is_digest_build_required_at_block<Number>(
&self,
zero: Number,
block: Number
) -> bool where
Number: From<u32> + PartialEq + Rem<Output = Number> + Sub<Output = Number> + PartialOrd + Zero,
Do we need to build digest at given block?
Returns max digest interval. One if digests are not created at all.
Returns max level digest block number that has been created at block <= passed block number.
Returns None if digests are not created at all.
Returns max level digest blocks range (inclusive) which includes passed block.
Returns None if digests are not created at all. It will return the first max-level digest if block is <= zero.
Returns Some if digest must be built at given block number. The tuple is: ( digest level digest interval (in blocks) step between blocks we’re interested in when digest is built )
Trait Implementations
Attempt to deserialise the value from 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
Returns the “default value” for a type. Read more
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Convert self to a slice and append it to the destination.
fn using_encoded<R, F>(&self, f: F) -> R where
F: FnOnce(&[u8]) -> R,
fn using_encoded<R, F>(&self, f: F) -> R where
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
Measure the heap usage of all descendant heap-allocated structures, but
not the space taken up by the value itself.
If T::size_of
is a constant, consider implementing constant_size
as well. Read more
fn constant_size() -> Option<usize>
fn constant_size() -> Option<usize>
Used to optimize MallocSizeOf
implementation for collections
like Vec
and HashMap
to avoid iterating over them unnecessarily.
The Self: Sized
bound is for object safety. Read more
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
This method tests for !=
.
Auto Trait Implementations
impl RefUnwindSafe for ChangesTrieConfiguration
impl Send for ChangesTrieConfiguration
impl Sync for ChangesTrieConfiguration
impl Unpin for ChangesTrieConfiguration
impl UnwindSafe for ChangesTrieConfiguration
Blanket Implementations
Mutably borrows from an owned value. Read more
impl<T> Downcast for T where
T: Any,
impl<T> Downcast for T where
T: Any,
Convert Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
. Read more
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
Convert Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
. Read more
Convert &Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s. Read more
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert &mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s. Read more
Instruments this type with the provided Span
, returning an
Instrumented
wrapper. Read more
fn malloc_size_of(&self) -> usize
fn malloc_size_of(&self) -> usize
Method to launch a heapsize measurement with a fresh state. Read more
type Output = T
type Output = T
Should always be Self
The counterpart to unchecked_from
.
pub fn vzip(self) -> V
impl<'_, '_, T> EncodeLike<&'_ &'_ T> for T where
T: Encode,
impl<'_, T> EncodeLike<&'_ T> for T where
T: Encode,
impl<'_, T> EncodeLike<&'_ mut T> for T where
T: Encode,
impl<T> EncodeLike<Arc<T>> for T where
T: Encode,
impl<T> EncodeLike<Rc<T>> for T where
T: Encode,
impl<T> MaybeDebug for T where
T: Debug,