#messages #threshold #channel #queue #pallet #factor #fee

no-std cumulus-pallet-xcmp-queue

用于队列外发和内收的 XCMP 消息的组件。(polkadot v1.15.0)

15 个重大版本发布

0.16.0 2024 年 7 月 18 日
0.14.0 2024 年 6 月 24 日
0.10.0 2024 年 3 月 18 日
0.6.0 2023 年 12 月 13 日
0.0.0 2022 年 11 月 21 日

#398魔法豆

Download history 582/week @ 2024-04-16 583/week @ 2024-04-23 764/week @ 2024-04-30 537/week @ 2024-05-07 817/week @ 2024-05-14 954/week @ 2024-05-21 1132/week @ 2024-05-28 1068/week @ 2024-06-04 1024/week @ 2024-06-11 884/week @ 2024-06-18 1421/week @ 2024-06-25 547/week @ 2024-07-02 1024/week @ 2024-07-09 1126/week @ 2024-07-16 1129/week @ 2024-07-23 948/week @ 2024-07-30

4,316 每月下载量
29 个组件(25 直接)中使用

Apache-2.0GPL-3.0-only

125KB
2.5K SLoC

一个使用 XCMP 传输层处理入站和出站 XCM 消息发送、调度、排队、信号和背压的组件。

  • XcmpMessageHandler
  • XcmpMessageSource

还提供了一个 SendXcm 的实现,可以被放置在路由元组中,如果目的地是 Parent/Parachain,则可以通过 XCMP 传递 XCM。它需要一个 XcmExecutor 的实现来调度入站的 XCM 消息。

为了防止 OutboundXcmpMessages 队列出现内存不足错误,设置了一个指数费用因子(DeliveryFeeFactor),类似于 DMP 中使用的那个。当特定通道中消息的总大小超过阈值时,费用因子会增加。这个阈值定义为通道可以拥有的最大总大小的百分比。更具体地说,阈值是 max_total_size / THRESHOLD_FACTOR,其中

  • max_total_size 是通道的最大大小,以字节为单位,不是消息数量。它在通道配置中定义。
  • THRESHOLD_FACTOR 仅声明实际阈值是最大大小的百分比。如果是 2,则阈值是最大大小的一半;如果是 4,则是四分之一,依此类推。

依赖关系

~28–43MB
~754K SLoC