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:
XcmpMessageHandlerXcmpMessageSource
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_sizeis the maximum size, in bytes, of the channel, not number of messages. It is defined in the channel configuration.THRESHOLD_FACTORjust 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
palletmodule 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.