Enum frame_support::weights::DispatchClass [−][src]
pub enum DispatchClass { Normal, Operational, Mandatory, }
Expand description
A generalized group of dispatch types.
NOTE whenever upgrading the enum make sure to also update DispatchClass::all and DispatchClass::non_mandatory helper functions.
Variants
A normal dispatch.
An operational dispatch.
A mandatory dispatch. These kinds of dispatch are always included regardless of their weight, therefore it is critical that they are separately validated to ensure that a malicious validator cannot craft a valid but impossibly heavy block. Usually this just means ensuring that the extrinsic can only be included once and that it is always very light.
Do NOT use it for extrinsics that can be heavy.
The only real use case for this is inherent extrinsics that are required to execute in a block for the block to be valid, and it solves the issue in the case that the block initialization is sufficiently heavy to mean that those inherents do not fit into the block. Essentially, we assume that in these exceptional circumstances, it is better to allow an overweight block to be created than to not allow any block at all to be created.
Implementations
Returns an array containing all dispatch classes.
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
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.
Convert self to an owned vector.
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
Auto Trait Implementations
impl RefUnwindSafe for DispatchClass
impl Send for DispatchClass
impl Sync for DispatchClass
impl Unpin for DispatchClass
impl UnwindSafe for DispatchClass
Blanket Implementations
Mutably borrows from an owned value. Read more
impl<T> DecodeAll for T where
T: Decode,
impl<T> DecodeAll for T where
T: Decode,
impl<T> DecodeLimit for T where
T: Decode,
impl<T> DecodeLimit for T where
T: Decode,
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
impl<T> KeyedVec for T where
T: Codec,
impl<T> KeyedVec for T where
T: Codec,
type Output = T
type Output = T
Should always be Self
The counterpart to unchecked_from
.
Consume self to return an equivalent value of T
.
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<Box<T, Global>> for T where
T: Encode,
impl<'a, T> EncodeLike<Cow<'a, T>> for T where
T: ToOwned + Encode,
impl<T> EncodeLike<Rc<T>> for T where
T: Encode,
impl<S> FullCodec for S where
S: Decode + FullEncode,
impl<S> FullEncode for S where
S: Encode + EncodeLike<S>,
impl<T> MaybeDebug for T where
T: Debug,
impl<T> MaybeDebug for T where
T: Debug,