pub enum MessageSendEvent {
Show 19 variants SendAcceptChannel { node_id: PublicKey, msg: AcceptChannel, }, SendOpenChannel { node_id: PublicKey, msg: OpenChannel, }, SendFundingCreated { node_id: PublicKey, msg: FundingCreated, }, SendFundingSigned { node_id: PublicKey, msg: FundingSigned, }, SendFundingLocked { node_id: PublicKey, msg: FundingLocked, }, SendAnnouncementSignatures { node_id: PublicKey, msg: AnnouncementSignatures, }, UpdateHTLCs { node_id: PublicKey, updates: CommitmentUpdate, }, SendRevokeAndACK { node_id: PublicKey, msg: RevokeAndACK, }, SendClosingSigned { node_id: PublicKey, msg: ClosingSigned, }, SendShutdown { node_id: PublicKey, msg: Shutdown, }, SendChannelReestablish { node_id: PublicKey, msg: ChannelReestablish, }, BroadcastChannelAnnouncement { msg: ChannelAnnouncement, update_msg: ChannelUpdate, }, BroadcastNodeAnnouncement { msg: NodeAnnouncement, }, BroadcastChannelUpdate { msg: ChannelUpdate, }, SendChannelUpdate { node_id: PublicKey, msg: ChannelUpdate, }, HandleError { node_id: PublicKey, action: ErrorAction, }, SendChannelRangeQuery { node_id: PublicKey, msg: QueryChannelRange, }, SendShortIdsQuery { node_id: PublicKey, msg: QueryShortChannelIds, }, SendReplyChannelRange { node_id: PublicKey, msg: ReplyChannelRange, },
}
Expand description

An event generated by ChannelManager which indicates a message should be sent to a peer (or broadcast to most peers). These events are handled by PeerManager::process_events if you are using a PeerManager.

Variants

SendAcceptChannel

Fields

node_id: PublicKey

The node_id of the node which should receive this message

msg: AcceptChannel

The message which should be sent.

Used to indicate that we’ve accepted a channel open and should send the accept_channel message provided to the given peer.

SendOpenChannel

Fields

node_id: PublicKey

The node_id of the node which should receive this message

msg: OpenChannel

The message which should be sent.

Used to indicate that we’ve initiated a channel open and should send the open_channel message provided to the given peer.

SendFundingCreated

Fields

node_id: PublicKey

The node_id of the node which should receive this message

msg: FundingCreated

The message which should be sent.

Used to indicate that a funding_created message should be sent to the peer with the given node_id.

SendFundingSigned

Fields

node_id: PublicKey

The node_id of the node which should receive this message

msg: FundingSigned

The message which should be sent.

Used to indicate that a funding_signed message should be sent to the peer with the given node_id.

SendFundingLocked

Fields

node_id: PublicKey

The node_id of the node which should receive these message(s)

msg: FundingLocked

The funding_locked message which should be sent.

Used to indicate that a funding_locked message should be sent to the peer with the given node_id.

SendAnnouncementSignatures

Fields

node_id: PublicKey

The node_id of the node which should receive these message(s)

msg: AnnouncementSignatures

The announcement_signatures message which should be sent.

Used to indicate that an announcement_signatures message should be sent to the peer with the given node_id.

UpdateHTLCs

Fields

node_id: PublicKey

The node_id of the node which should receive these message(s)

updates: CommitmentUpdate

The update messages which should be sent. ALL messages in the struct should be sent!

Used to indicate that a series of HTLC update messages, as well as a commitment_signed message should be sent to the peer with the given node_id.

SendRevokeAndACK

Fields

node_id: PublicKey

The node_id of the node which should receive this message

msg: RevokeAndACK

The message which should be sent.

Used to indicate that a revoke_and_ack message should be sent to the peer with the given node_id.

SendClosingSigned

Fields

node_id: PublicKey

The node_id of the node which should receive this message

msg: ClosingSigned

The message which should be sent.

Used to indicate that a closing_signed message should be sent to the peer with the given node_id.

SendShutdown

Fields

node_id: PublicKey

The node_id of the node which should receive this message

msg: Shutdown

The message which should be sent.

Used to indicate that a shutdown message should be sent to the peer with the given node_id.

SendChannelReestablish

Fields

node_id: PublicKey

The node_id of the node which should receive this message

msg: ChannelReestablish

The message which should be sent.

Used to indicate that a channel_reestablish message should be sent to the peer with the given node_id.

BroadcastChannelAnnouncement

Fields

msg: ChannelAnnouncement

The channel_announcement which should be sent.

update_msg: ChannelUpdate

The followup channel_update which should be sent.

Used to indicate that a channel_announcement and channel_update should be broadcast to all peers (except the peer with node_id either msg.contents.node_id_1 or msg.contents.node_id_2).

Note that after doing so, you very likely (unless you did so very recently) want to call ChannelManager::broadcast_node_announcement to trigger a BroadcastNodeAnnouncement event. This ensures that any nodes which see our channel_announcement also have a relevant node_announcement, including relevant feature flags which may be important for routing through or to us.

BroadcastNodeAnnouncement

Fields

msg: NodeAnnouncement

The node_announcement which should be sent.

Used to indicate that a node_announcement should be broadcast to all peers.

BroadcastChannelUpdate

Fields

msg: ChannelUpdate

The channel_update which should be sent.

Used to indicate that a channel_update should be broadcast to all peers.

SendChannelUpdate

Fields

node_id: PublicKey

The node_id of the node which should receive this message

msg: ChannelUpdate

The channel_update which should be sent.

Used to indicate that a channel_update should be sent to a single peer. In contrast to Self::BroadcastChannelUpdate, this is used when the channel is a private channel and we shouldn’t be informing all of our peers of channel parameters.

HandleError

Fields

node_id: PublicKey

The node_id of the node which should receive this message

action: ErrorAction

The action which should be taken.

Broadcast an error downstream to be handled

SendChannelRangeQuery

Fields

node_id: PublicKey

The node_id of this message recipient

msg: QueryChannelRange

The query_channel_range which should be sent.

Query a peer for channels with funding transaction UTXOs in a block range.

SendShortIdsQuery

Fields

node_id: PublicKey

The node_id of this message recipient

msg: QueryShortChannelIds

The query_short_channel_ids which should be sent.

Request routing gossip messages from a peer for a list of channels identified by their short_channel_ids.

SendReplyChannelRange

Fields

node_id: PublicKey

The node_id of this message recipient

msg: ReplyChannelRange

The reply_channel_range which should be sent.

Sends a reply to a channel range query. This may be one of several SendReplyChannelRange events emitted during processing of the query.

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

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

The resulting type after obtaining ownership.

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

🔬 This is a nightly-only experimental API. (toowned_clone_into)

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

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.