Struct pallet_message_queue::pallet::Pallet
source · pub struct Pallet<T>(_);
Expand description
The Pallet
struct, the main type that implements traits and standalone
functions within the pallet.
Implementations§
source§impl<T: Config> Pallet<T>
impl<T: Config> Pallet<T>
sourcepub fn reap_page(
origin: OriginFor<T>,
message_origin: MessageOriginOf<T>,
page_index: u32
) -> DispatchResult
pub fn reap_page( origin: OriginFor<T>, message_origin: MessageOriginOf<T>, page_index: u32 ) -> DispatchResult
Remove a page which has no more messages remaining to be processed or is stale.
sourcepub fn execute_overweight(
origin: OriginFor<T>,
message_origin: MessageOriginOf<T>,
page: u32,
index: T::Size,
weight_limit: Weight
) -> DispatchResultWithPostInfo
pub fn execute_overweight( origin: OriginFor<T>, message_origin: MessageOriginOf<T>, page: u32, index: T::Size, weight_limit: Weight ) -> DispatchResultWithPostInfo
Execute an overweight message.
Temporary processing errors will be propagated whereas permanent errors are treated as success condition.
origin
: Must beSigned
.message_origin
: The origin from which the message to be executed arrived.page
: The page in the queue in which the message to be executed is sitting.index
: The index into the queue of the message to be executed.weight_limit
: The maximum amount of weight allowed to be consumed in the execution of the message.
Benchmark complexity considerations: O(index + weight_limit).
source§impl<T: Config> Pallet<T>
impl<T: Config> Pallet<T>
sourcepub fn do_execute_overweight(
origin: MessageOriginOf<T>,
page_index: u32,
index: T::Size,
weight_limit: Weight
) -> Result<Weight, Error<T>>
pub fn do_execute_overweight( origin: MessageOriginOf<T>, page_index: u32, index: T::Size, weight_limit: Weight ) -> Result<Weight, Error<T>>
Try to execute a single message that was marked as overweight.
The weight_limit
is the weight that can be consumed to execute the message. The base
weight of the function it self must be measured by the caller.
sourcepub fn debug_info() -> String
pub fn debug_info() -> String
Print the pages in each queue and the messages in each page.
Processed messages are prefixed with a *
and the current begin
ning page with a >
.
Example output
queue Here:
page 0: []
> page 1: []
page 2: ["\0weight=4", "\0c", ]
page 3: ["\0bigbig 1", ]
page 4: ["\0bigbig 2", ]
page 5: ["\0bigbig 3", ]
Trait Implementations§
source§impl<T: Config> EnqueueMessage<<<T as Config>::MessageProcessor as ProcessMessage>::Origin> for Pallet<T>
impl<T: Config> EnqueueMessage<<<T as Config>::MessageProcessor as ProcessMessage>::Origin> for Pallet<T>
§type MaxMessageLen = MaxMessageLen<<<T as Config>::MessageProcessor as ProcessMessage>::Origin, <T as Config>::Size, <T as Config>::HeapSize>
type MaxMessageLen = MaxMessageLen<<<T as Config>::MessageProcessor as ProcessMessage>::Origin, <T as Config>::Size, <T as Config>::HeapSize>
source§fn enqueue_message(
message: BoundedSlice<'_, u8, Self::MaxMessageLen>,
origin: <T::MessageProcessor as ProcessMessage>::Origin
)
fn enqueue_message( message: BoundedSlice<'_, u8, Self::MaxMessageLen>, origin: <T::MessageProcessor as ProcessMessage>::Origin )
message
from a specific origin
.source§fn enqueue_messages<'a>(
messages: impl Iterator<Item = BoundedSlice<'a, u8, Self::MaxMessageLen>>,
origin: <T::MessageProcessor as ProcessMessage>::Origin
)
fn enqueue_messages<'a>( messages: impl Iterator<Item = BoundedSlice<'a, u8, Self::MaxMessageLen>>, origin: <T::MessageProcessor as ProcessMessage>::Origin )
messages
from a specific origin
.source§fn sweep_queue(origin: MessageOriginOf<T>)
fn sweep_queue(origin: MessageOriginOf<T>)
source§fn footprint(origin: MessageOriginOf<T>) -> Footprint
fn footprint(origin: MessageOriginOf<T>) -> Footprint
source§impl<T: Config> GetStorageVersion for Pallet<T>
impl<T: Config> GetStorageVersion for Pallet<T>
source§fn current_storage_version() -> Self::CurrentStorageVersion
fn current_storage_version() -> Self::CurrentStorageVersion
source§fn on_chain_storage_version() -> StorageVersion
fn on_chain_storage_version() -> StorageVersion
source§impl<T: Config> Hooks<<T as Config>::BlockNumber> for Pallet<T>
impl<T: Config> Hooks<<T as Config>::BlockNumber> for Pallet<T>
source§fn integrity_test()
fn integrity_test()
Check all assumptions about crate::Config
.
source§fn on_initialize(_n: BlockNumberFor<T>) -> Weight
fn on_initialize(_n: BlockNumberFor<T>) -> Weight
source§fn on_finalize(_n: BlockNumber)
fn on_finalize(_n: BlockNumber)
source§fn on_idle(_n: BlockNumber, _remaining_weight: Weight) -> Weight
fn on_idle(_n: BlockNumber, _remaining_weight: Weight) -> Weight
on_finalize
). Read moresource§fn on_runtime_upgrade() -> Weight
fn on_runtime_upgrade() -> Weight
source§fn offchain_worker(_n: BlockNumber)
fn offchain_worker(_n: BlockNumber)
source§impl<T: Config> IntegrityTest for Pallet<T>
impl<T: Config> IntegrityTest for Pallet<T>
source§fn integrity_test()
fn integrity_test()
source§impl<T: Config> OffchainWorker<<T as Config>::BlockNumber> for Pallet<T>
impl<T: Config> OffchainWorker<<T as Config>::BlockNumber> for Pallet<T>
source§fn offchain_worker(n: <T as Config>::BlockNumber)
fn offchain_worker(n: <T as Config>::BlockNumber)
source§impl<T: Config> OnFinalize<<T as Config>::BlockNumber> for Pallet<T>
impl<T: Config> OnFinalize<<T as Config>::BlockNumber> for Pallet<T>
source§fn on_finalize(n: <T as Config>::BlockNumber)
fn on_finalize(n: <T as Config>::BlockNumber)
source§impl<T: Config> OnGenesis for Pallet<T>
impl<T: Config> OnGenesis for Pallet<T>
source§fn on_genesis()
fn on_genesis()
source§impl<T: Config> OnIdle<<T as Config>::BlockNumber> for Pallet<T>
impl<T: Config> OnIdle<<T as Config>::BlockNumber> for Pallet<T>
source§fn on_idle(n: <T as Config>::BlockNumber, remaining_weight: Weight) -> Weight
fn on_idle(n: <T as Config>::BlockNumber, remaining_weight: Weight) -> Weight
remaining_weight
to make sure it is high enough to allow for
your pallet’s extra computation. Read moresource§impl<T: Config> OnInitialize<<T as Config>::BlockNumber> for Pallet<T>
impl<T: Config> OnInitialize<<T as Config>::BlockNumber> for Pallet<T>
source§fn on_initialize(n: <T as Config>::BlockNumber) -> Weight
fn on_initialize(n: <T as Config>::BlockNumber) -> Weight
source§impl<T: Config> OnRuntimeUpgrade for Pallet<T>
impl<T: Config> OnRuntimeUpgrade for Pallet<T>
source§fn on_runtime_upgrade() -> Weight
fn on_runtime_upgrade() -> Weight
source§impl<T: Config> PalletInfoAccess for Pallet<T>
impl<T: Config> PalletInfoAccess for Pallet<T>
source§fn module_name() -> &'static str
fn module_name() -> &'static str
source§fn crate_version() -> CrateVersion
fn crate_version() -> CrateVersion
source§impl<T: Config> PalletsInfoAccess for Pallet<T>
impl<T: Config> PalletsInfoAccess for Pallet<T>
source§impl<T> PartialEq<Pallet<T>> for Pallet<T>
impl<T> PartialEq<Pallet<T>> for Pallet<T>
source§impl<T: Config> ServiceQueues for Pallet<T>
impl<T: Config> ServiceQueues for Pallet<T>
source§fn execute_overweight(
weight_limit: Weight,
(message_origin, page, index): Self::OverweightMessageAddress
) -> Result<Weight, ExecuteOverweightError>
fn execute_overweight( weight_limit: Weight, (message_origin, page, index): Self::OverweightMessageAddress ) -> Result<Weight, ExecuteOverweightError>
Execute a single overweight message.
The weight limit must be enough for execute_overweight
and the message execution itself.
§type OverweightMessageAddress = (<<T as Config>::MessageProcessor as ProcessMessage>::Origin, u32, <T as Config>::Size)
type OverweightMessageAddress = (<<T as Config>::MessageProcessor as ProcessMessage>::Origin, u32, <T as Config>::Size)
source§impl<T: Config> StorageInfoTrait for Pallet<T>
impl<T: Config> StorageInfoTrait for Pallet<T>
fn storage_info() -> Vec<StorageInfo>
source§impl<T: Config> WhitelistedStorageKeys for Pallet<T>
impl<T: Config> WhitelistedStorageKeys for Pallet<T>
source§fn whitelisted_storage_keys() -> Vec<TrackedStorageKey>
fn whitelisted_storage_keys() -> Vec<TrackedStorageKey>
Vec<TrackedStorageKey>
indicating the storage keys that
should be whitelisted during benchmarking. This means that those keys
will be excluded from the benchmarking performance calculation.impl<T> Eq for Pallet<T>
Auto Trait Implementations§
impl<T> RefUnwindSafe for Pallet<T>where T: RefUnwindSafe,
impl<T> Send for Pallet<T>where T: Send,
impl<T> Sync for Pallet<T>where T: Sync,
impl<T> Unpin for Pallet<T>where T: Unpin,
impl<T> UnwindSafe for Pallet<T>where T: UnwindSafe,
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
source§impl<T> CheckedConversion for T
impl<T> CheckedConversion for T
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
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
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>,
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>,
T
. Read moresource§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
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
T
.