pub struct XCMSender<Sender, Destination, Message, ToXcm>(/* private fields */);Expand description
Common utility to send XCM messages that can use SplittableMessage.
It can be used both in the RC and AH. Message is the splittable message type, and ToXcm
should be configured by the user, converting message to a valida Xcm<()>. It should utilize
the correct call indices, which we only know at the runtime level.
Implementations§
Source§impl<Sender, Destination, Message, ToXcm> XCMSender<Sender, Destination, Message, ToXcm>
impl<Sender, Destination, Message, ToXcm> XCMSender<Sender, Destination, Message, ToXcm>
Sourcepub fn split_then_send(
message: Message,
maybe_max_steps: Option<u32>,
) -> Result<(), ()>
👎Deprecated: all staking related VMP messages should fit the single message limits. Should not be used.
pub fn split_then_send( message: Message, maybe_max_steps: Option<u32>, ) -> Result<(), ()>
Safe send method to send a message, while validating it and using SplittableMessage to
split it into smaller pieces if XCM validation fails with ExceedsMaxMessageSize. It will
fail on other errors.
Returns Ok() if the message was sent using XCM, potentially with splitting up to
maybe_max_step times, Err(()) otherwise.
Auto Trait Implementations§
impl<Sender, Destination, Message, ToXcm> Freeze for XCMSender<Sender, Destination, Message, ToXcm>
impl<Sender, Destination, Message, ToXcm> RefUnwindSafe for XCMSender<Sender, Destination, Message, ToXcm>where
Sender: RefUnwindSafe,
Destination: RefUnwindSafe,
Message: RefUnwindSafe,
ToXcm: RefUnwindSafe,
impl<Sender, Destination, Message, ToXcm> Send for XCMSender<Sender, Destination, Message, ToXcm>
impl<Sender, Destination, Message, ToXcm> Sync for XCMSender<Sender, Destination, Message, ToXcm>
impl<Sender, Destination, Message, ToXcm> Unpin for XCMSender<Sender, Destination, Message, ToXcm>
impl<Sender, Destination, Message, ToXcm> UnwindSafe for XCMSender<Sender, Destination, Message, ToXcm>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CheckedConversion for T
impl<T> CheckedConversion for T
Source§impl<T, U> DefensiveTruncateInto<U> for Twhere
U: DefensiveTruncateFrom<T>,
impl<T, U> DefensiveTruncateInto<U> for Twhere
U: DefensiveTruncateFrom<T>,
Source§fn defensive_truncate_into(self) -> U
fn defensive_truncate_into(self) -> U
Defensively truncate a value and convert it into its bounded form.
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<Src, Dest> IntoTuple<Dest> for Srcwhere
Dest: FromTuple<Src>,
impl<Src, Dest> IntoTuple<Dest> for Srcwhere
Dest: FromTuple<Src>,
fn into_tuple(self) -> Dest
Source§impl<T, Outer> IsWrappedBy<Outer> for T
impl<T, Outer> IsWrappedBy<Outer> for T
Source§impl<T> SaturatedConversion for T
impl<T> SaturatedConversion for T
Source§fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
Source§fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
Consume self to return an equivalent value of
T. Read moreSource§impl<T, U> TryIntoKey<U> for Twhere
U: TryFromKey<T>,
impl<T, U> TryIntoKey<U> for Twhere
U: TryFromKey<T>,
type Error = <U as TryFromKey<T>>::Error
fn try_into_key(self) -> Result<U, <U as TryFromKey<T>>::Error>
Source§impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
Source§fn unchecked_into(self) -> T
fn unchecked_into(self) -> T
The counterpart to
unchecked_from.Source§impl<T, S> UniqueSaturatedInto<T> for S
impl<T, S> UniqueSaturatedInto<T> for S
Source§fn unique_saturated_into(self) -> T
fn unique_saturated_into(self) -> T
Consume self to return an equivalent value of
T.