Crate cumulus_pallet_xcmp_queue
source ·Expand description
A pallet which uses the XCMP transport layer to handle both incoming and outgoing XCM message sending and dispatch, queuing, signalling and backpressure. To do so, it implements:
XcmpMessageHandler
XcmpMessageSource
Also provides an implementation of SendXcm
which can be placed in a router tuple for relaying
XCM over XCMP if the destination is Parent/Parachain
. It requires an implementation of
XcmExecutor
for dispatching incoming XCM messages.
To prevent out of memory errors on the OutboundXcmpMessages
queue, an exponential fee factor
(DeliveryFeeFactor
) is set, much like the one used in DMP.
The fee factor increases whenever the total size of messages in a particular channel passes a
threshold. This threshold is defined as a percentage of the maximum total size the channel can
have. More concretely, the threshold is max_total_size
/ THRESHOLD_FACTOR
, where:
max_total_size
is the maximum size, in bytes, of the channel, not number of messages. It is defined in the channel configuration.THRESHOLD_FACTOR
just declares which percentage of the max size is the actual threshold. If it’s 2, then the threshold is half of the max size, if it’s 4, it’s a quarter, and so on.
Re-exports§
pub use weights::WeightInfo;
pub use pallet::*;
Modules§
- Constants related to delivery fee calculation
- A module that is responsible for migration of storage.
- The
pallet
module in each FRAME pallet hosts the most important items needed to construct this pallet. - Autogenerated weights for
cumulus_pallet_xcmp_queue
Structs§
- Struct containing detailed information about the outbound channel.
Enums§
Type Aliases§
- The max length of an XCMP message.
- Index used to identify overweight XCMs.