pub type Module<T> = Pallet<T>;
Pallet
insteadExpand description
Type alias to Pallet
, to be used by construct_runtime
.
Generated by pallet
attribute macro.
Aliased Type§
struct Module<T>(/* private fields */);
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 do_try_state() -> Result<(), TryRuntimeError>
pub fn do_try_state() -> Result<(), TryRuntimeError>
Ensure the correctness of state of this pallet.
§Assumptions-
If serviceHead
points to a ready Queue, then BookState of that Queue has:
message_count
> 0size
> 0end
>begin
- Some(ready_neighbours)
- If
ready_neighbours.next
== self.origin, thenready_neighbours.prev
== self.origin (only queue in ring)
For Pages(begin to end-1) in BookState:
remaining
> 0remaining_size
> 0first
<=last
- Every page can be decoded into peek_* functions
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> BeforeAllRuntimeMigrations for Pallet<T>
impl<T: Config> BeforeAllRuntimeMigrations for Pallet<T>
Source§fn before_all_runtime_migrations() -> Weight
fn before_all_runtime_migrations() -> Weight
Source§impl<T> Benchmarking for Pallet<T>
impl<T> Benchmarking for Pallet<T>
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>
Source§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§impl<T: Config> ForceSetHead<<<T as Config>::MessageProcessor as ProcessMessage>::Origin> for Pallet<T>
impl<T: Config> ForceSetHead<<<T as Config>::MessageProcessor as ProcessMessage>::Origin> for Pallet<T>
Source§fn force_set_head(
weight: &mut WeightMeter,
origin: &MessageOriginOf<T>,
) -> Result<bool, ()>
fn force_set_head( weight: &mut WeightMeter, origin: &MessageOriginOf<T>, ) -> Result<bool, ()>
Source§impl<T: Config> GetStorageVersion for Pallet<T>
impl<T: Config> GetStorageVersion for Pallet<T>
Source§type InCodeStorageVersion = NoStorageVersionSet
type InCodeStorageVersion = NoStorageVersionSet
Source§fn in_code_storage_version() -> Self::InCodeStorageVersion
fn in_code_storage_version() -> Self::InCodeStorageVersion
storage_version
attribute, or
[NoStorageVersionSet
] if the attribute is missing.Source§fn on_chain_storage_version() -> StorageVersion
fn on_chain_storage_version() -> StorageVersion
§fn current_storage_version() -> Self::InCodeStorageVersion
fn current_storage_version() -> Self::InCodeStorageVersion
in_code_storage_version
and will be removed after March 2024.Self::current_storage_version
] instead. Read moreSource§impl<T: Config> Hooks<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>
impl<T: Config> Hooks<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>
Source§fn on_initialize(_n: BlockNumberFor<T>) -> Weight
fn on_initialize(_n: BlockNumberFor<T>) -> Weight
Source§fn on_idle(_n: BlockNumberFor<T>, remaining_weight: Weight) -> Weight
fn on_idle(_n: BlockNumberFor<T>, remaining_weight: Weight) -> Weight
Hooks::on_finalize
]). Read moreSource§fn try_state(_: BlockNumberFor<T>) -> Result<(), TryRuntimeError>
fn try_state(_: BlockNumberFor<T>) -> Result<(), TryRuntimeError>
§fn on_finalize(_n: BlockNumber)
fn on_finalize(_n: BlockNumber)
§fn on_poll(_n: BlockNumber, _weight: &mut WeightMeter)
fn on_poll(_n: BlockNumber, _weight: &mut WeightMeter)
§fn on_runtime_upgrade() -> Weight
fn on_runtime_upgrade() -> Weight
Executive
pallet. Read more§fn pre_upgrade() -> Result<Vec<u8>, DispatchError>
fn pre_upgrade() -> Result<Vec<u8>, DispatchError>
§fn post_upgrade(_state: Vec<u8>) -> Result<(), DispatchError>
fn post_upgrade(_state: Vec<u8>) -> Result<(), DispatchError>
§fn offchain_worker(_n: BlockNumber)
fn offchain_worker(_n: BlockNumber)
§fn integrity_test()
fn integrity_test()
Source§impl<T: Config> IntegrityTest for Pallet<T>
impl<T: Config> IntegrityTest for Pallet<T>
Source§fn integrity_test()
fn integrity_test()
Hooks::integrity_test
].Source§impl<T: Config> OffchainWorker<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>
impl<T: Config> OffchainWorker<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>
Source§fn offchain_worker(n: BlockNumberFor<T>)
fn offchain_worker(n: BlockNumberFor<T>)
Source§impl<T: Config> OnFinalize<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>
impl<T: Config> OnFinalize<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>
Source§fn on_finalize(n: BlockNumberFor<T>)
fn on_finalize(n: BlockNumberFor<T>)
Hooks::on_finalize
].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>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>
impl<T: Config> OnIdle<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>
Source§impl<T: Config> OnInitialize<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>
impl<T: Config> OnInitialize<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>
Source§fn on_initialize(n: BlockNumberFor<T>) -> Weight
fn on_initialize(n: BlockNumberFor<T>) -> Weight
Hooks::on_initialize
].Source§impl<T: Config> OnPoll<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>
impl<T: Config> OnPoll<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>
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
Hooks::on_runtime_upgrade
].§fn try_on_runtime_upgrade(checks: bool) -> Result<Weight, DispatchError>
fn try_on_runtime_upgrade(checks: bool) -> Result<Weight, DispatchError>
pre_upgrade
->
on_runtime_upgrade
-> post_upgrade
hooks for a migration. Read moreSource§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> QueueFootprintQuery<<<T as Config>::MessageProcessor as ProcessMessage>::Origin> for Pallet<T>
impl<T: Config> QueueFootprintQuery<<<T as Config>::MessageProcessor as ProcessMessage>::Origin> for Pallet<T>
Source§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 get_batches_footprints<'a>(
origin: MessageOriginOf<T>,
msgs: impl Iterator<Item = BoundedSlice<'a, u8, Self::MaxMessageLen>>,
total_pages_limit: u32,
) -> BatchesFootprints
fn get_batches_footprints<'a>( origin: MessageOriginOf<T>, msgs: impl Iterator<Item = BoundedSlice<'a, u8, Self::MaxMessageLen>>, total_pages_limit: u32, ) -> BatchesFootprints
BatchFootprint
for each batch of messages [0..n]
as long as the total number of pages would be <= total_pages_limit
. Read moreSource§fn footprint(origin: MessageOriginOf<T>) -> QueueFootprint
fn footprint(origin: MessageOriginOf<T>) -> QueueFootprint
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.
Source§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§fn service_queues(weight_limit: Weight) -> Weight
fn service_queues(weight_limit: Weight) -> Weight
Source§impl<T: Config> TryState<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>
impl<T: Config> TryState<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>
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.