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 weights_ext::WeightInfoExt;
pub use pallet::*;
Modules§
- bridging
- delivery_
fee_ constants - Constants related to delivery fee calculation
- migration
- A module that is responsible for migration of storage.
- pallet
- The
pallet
module in each FRAME pallet hosts the most important items needed to construct this pallet. - weights
- Autogenerated weights for
cumulus_pallet_xcmp_queue
- weights_
ext - Weight-related utilities.
Structs§
- Outbound
Channel Details - Struct containing detailed information about the outbound channel.
- Queue
Config Data
Enums§
Constants§
- XCM_
BATCH_ SIZE - The size of an XCM messages batch.
Type Aliases§
- MaxXcmp
Message LenOf - The max length of an XCMP message.
- Overweight
Index - Index used to identify overweight XCMs.