Enum MessageSendInstructions

Source
pub enum MessageSendInstructions {
    WithSpecifiedReplyPath {
        destination: Destination,
        reply_path: BlindedMessagePath,
    },
    WithReplyPath {
        destination: Destination,
        context: MessageContext,
    },
    WithoutReplyPath {
        destination: Destination,
    },
    ForReply {
        instructions: ResponseInstruction,
    },
    ForwardedMessage {
        destination: Destination,
        reply_path: Option<BlindedMessagePath>,
    },
}
Expand description

Instructions for how and where to send a message.

Variants§

§

WithSpecifiedReplyPath

Indicates that a message should be sent including the provided reply path for the recipient to respond.

Fields

§destination: Destination

The destination where we need to send our message.

§reply_path: BlindedMessagePath

The reply path which should be included in the message.

§

WithReplyPath

Indicates that a message should be sent including a reply path for the recipient to respond.

Fields

§destination: Destination

The destination where we need to send our message.

§context: MessageContext

The context to include in the reply path we’ll give the recipient so they can respond to us.

§

WithoutReplyPath

Indicates that a message should be sent without including a reply path, preventing the recipient from responding.

Fields

§destination: Destination

The destination where we need to send our message.

§

ForReply

Indicates that a message is being sent as a reply to a received message.

Fields

§instructions: ResponseInstruction

The instructions provided by the Responder.

§

ForwardedMessage

Indicates that this onion message did not originate from our node and is being forwarded through us from another node on the network to the destination.

We separate out this case because forwarded onion messages are treated differently from outbound onion messages initiated by our node. Outbounds are buffered internally, whereas, for DoS protection, forwards should never be buffered internally and instead will either be dropped or generate an Event::OnionMessageIntercepted if the next-hop node is disconnected.

Fields

§destination: Destination

The destination where we need to send the forwarded onion message.

§reply_path: Option<BlindedMessagePath>

The reply path which should be included in the message, that terminates at the original sender of this forwarded message.

Trait Implementations§

Source§

impl Clone for MessageSendInstructions

Source§

fn clone(&self) -> MessageSendInstructions

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V