pub trait ProcessMessage {
    type Origin: FullCodec + MaxEncodedLen + Clone + Eq + PartialEq<Self::Origin> + TypeInfo + Debug;

    // Required method
    fn process_message(
        message: &[u8],
        origin: Self::Origin,
        meter: &mut WeightMeter,
        id: &mut [u8; 32]
    ) -> Result<bool, ProcessMessageError>;
}
Expand description

Can process messages from a specific origin.

Required Associated Types§

source

type Origin: FullCodec + MaxEncodedLen + Clone + Eq + PartialEq<Self::Origin> + TypeInfo + Debug

The transport from where a message originates.

Required Methods§

source

fn process_message( message: &[u8], origin: Self::Origin, meter: &mut WeightMeter, id: &mut [u8; 32] ) -> Result<bool, ProcessMessageError>

Process the given message, using no more than the remaining meter weight to do so.

Returns whether the message was processed.

Implementations on Foreign Types§

§

impl<Origin, const REQUIRED_WEIGHT: u64> ProcessMessage for NoopMessageProcessor<Origin, REQUIRED_WEIGHT>where Origin: FullCodec + MaxEncodedLen + Clone + Eq + PartialEq<Origin> + TypeInfo + Debug,

§

type Origin = Origin

§

fn process_message( _message: &[u8], _origin: <NoopMessageProcessor<Origin, REQUIRED_WEIGHT> as ProcessMessage>::Origin, meter: &mut WeightMeter, _id: &mut [u8; 32] ) -> Result<bool, ProcessMessageError>

Implementors§

source§

impl<MessageOrigin, XcmExecutor, Call> ProcessMessage for ProcessXcmMessage<MessageOrigin, XcmExecutor, Call>where MessageOrigin: Into<MultiLocation> + FullCodec + MaxEncodedLen + Clone + Eq + PartialEq<MessageOrigin> + TypeInfo + Debug, XcmExecutor: ExecuteXcm<Call>,

§

type Origin = MessageOrigin