pub trait EnqueueMessage<Origin>where
    Origin: MaxEncodedLen,{
    type MaxMessageLen: Get<u32>;

    // Required methods
    fn enqueue_message(
        message: BoundedSlice<'_, u8, Self::MaxMessageLen>,
        origin: Origin
    );
    fn enqueue_messages<'a>(
        messages: impl Iterator<Item = BoundedSlice<'a, u8, Self::MaxMessageLen>>,
        origin: Origin
    );
    fn sweep_queue(origin: Origin);
    fn footprint(origin: Origin) -> QueueFootprint;
}
Expand description

Can enqueue messages for multiple origins.

Required Associated Types§

source

type MaxMessageLen: Get<u32>

The maximal length any enqueued message may have.

Required Methods§

source

fn enqueue_message( message: BoundedSlice<'_, u8, Self::MaxMessageLen>, origin: Origin )

Enqueue a single message from a specific origin.

source

fn enqueue_messages<'a>( messages: impl Iterator<Item = BoundedSlice<'a, u8, Self::MaxMessageLen>>, origin: Origin )

Enqueue multiple messages from a specific origin.

source

fn sweep_queue(origin: Origin)

Any remaining unprocessed messages should happen only lazily, not proactively.

source

fn footprint(origin: Origin) -> QueueFootprint

Return the state footprint of the given queue.

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl<Origin> EnqueueMessage<Origin> for ()where Origin: MaxEncodedLen,

§

type MaxMessageLen = ConstU32<0>

source§

fn enqueue_message( _: BoundedSlice<'_, u8, <() as EnqueueMessage<Origin>>::MaxMessageLen>, _: Origin )

source§

fn enqueue_messages<'a>( _: impl Iterator<Item = BoundedSlice<'a, u8, <() as EnqueueMessage<Origin>>::MaxMessageLen>>, _: Origin )

source§

fn sweep_queue(_: Origin)

source§

fn footprint(_: Origin) -> QueueFootprint

§

impl<T> EnqueueMessage<<<T as Config>::MessageProcessor as ProcessMessage>::Origin> for Pallet<T>where T: Config,

§

type MaxMessageLen = MaxMessageLen<<<T as Config>::MessageProcessor as ProcessMessage>::Origin, <T as Config>::Size, <T as Config>::HeapSize>

§

fn enqueue_message( message: BoundedSlice<'_, u8, <Pallet<T> as EnqueueMessage<<<T as Config>::MessageProcessor as ProcessMessage>::Origin>>::MaxMessageLen>, origin: <<T as Config>::MessageProcessor as ProcessMessage>::Origin )

§

fn enqueue_messages<'a>( messages: impl Iterator<Item = BoundedSlice<'a, u8, <Pallet<T> as EnqueueMessage<<<T as Config>::MessageProcessor as ProcessMessage>::Origin>>::MaxMessageLen>>, origin: <<T as Config>::MessageProcessor as ProcessMessage>::Origin )

§

fn sweep_queue( origin: <<T as Config>::MessageProcessor as ProcessMessage>::Origin )

§

fn footprint( origin: <<T as Config>::MessageProcessor as ProcessMessage>::Origin ) -> QueueFootprint

Implementors§

source§

impl<E, O, N, C> EnqueueMessage<N> for TransformOrigin<E, O, N, C>where E: EnqueueMessage<O>, O: MaxEncodedLen, N: MaxEncodedLen, C: Convert<N, O>,