snowbridge_pallet_outbound_queue_v2/
process_message_impl.rs1use super::*;
5use crate::weights::WeightInfo;
6use frame_support::{
7 traits::{ProcessMessage, ProcessMessageError},
8 weights::WeightMeter,
9};
10
11impl<T: Config> ProcessMessage for Pallet<T> {
12 type Origin = AggregateMessageOrigin;
13 fn process_message(
14 message: &[u8],
15 origin: Self::Origin,
16 meter: &mut WeightMeter,
17 _: &mut [u8; 32],
18 ) -> Result<bool, ProcessMessageError> {
19 let weight = T::WeightInfo::do_process_message();
20 if meter.try_consume(weight).is_err() {
21 Self::deposit_event(Event::MessagePostponed {
22 payload: message.to_vec(),
23 reason: ProcessMessageError::Overweight(weight),
24 });
25 return Err(ProcessMessageError::Overweight(weight))
26 }
27 Self::do_process_message(origin, message)
28 }
29}