Enum MessageSendEvent
pub enum MessageSendEvent {
Show 32 variants
SendAcceptChannel {
node_id: PublicKey,
msg: AcceptChannel,
},
SendAcceptChannelV2 {
node_id: PublicKey,
msg: AcceptChannelV2,
},
SendOpenChannel {
node_id: PublicKey,
msg: OpenChannel,
},
SendOpenChannelV2 {
node_id: PublicKey,
msg: OpenChannelV2,
},
SendFundingCreated {
node_id: PublicKey,
msg: FundingCreated,
},
SendFundingSigned {
node_id: PublicKey,
msg: FundingSigned,
},
SendTxAddInput {
node_id: PublicKey,
msg: TxAddInput,
},
SendTxAddOutput {
node_id: PublicKey,
msg: TxAddOutput,
},
SendTxRemoveInput {
node_id: PublicKey,
msg: TxRemoveInput,
},
SendTxRemoveOutput {
node_id: PublicKey,
msg: TxRemoveOutput,
},
SendTxComplete {
node_id: PublicKey,
msg: TxComplete,
},
SendTxSignatures {
node_id: PublicKey,
msg: TxSignatures,
},
SendTxInitRbf {
node_id: PublicKey,
msg: TxInitRbf,
},
SendTxAckRbf {
node_id: PublicKey,
msg: TxAckRbf,
},
SendTxAbort {
node_id: PublicKey,
msg: TxAbort,
},
SendChannelReady {
node_id: PublicKey,
msg: ChannelReady,
},
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,
},
SendChannelAnnouncement {
node_id: PublicKey,
msg: ChannelAnnouncement,
update_msg: ChannelUpdate,
},
BroadcastChannelAnnouncement {
msg: ChannelAnnouncement,
update_msg: Option<ChannelUpdate>,
},
BroadcastChannelUpdate {
msg: ChannelUpdate,
},
BroadcastNodeAnnouncement {
msg: NodeAnnouncement,
},
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,
},
SendGossipTimestampFilter {
node_id: PublicKey,
msg: GossipTimestampFilter,
},
}
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
Used to indicate that we’ve accepted a channel open and should send the accept_channel message provided to the given peer.
Fields
msg: AcceptChannel
The message which should be sent.
SendAcceptChannelV2
Used to indicate that we’ve accepted a V2 channel open and should send the accept_channel2 message provided to the given peer.
Fields
msg: AcceptChannelV2
The message which should be sent.
SendOpenChannel
Used to indicate that we’ve initiated a channel open and should send the open_channel message provided to the given peer.
Fields
msg: OpenChannel
The message which should be sent.
SendOpenChannelV2
Used to indicate that we’ve initiated a V2 channel open and should send the open_channel2 message provided to the given peer.
Fields
msg: OpenChannelV2
The message which should be sent.
SendFundingCreated
Used to indicate that a funding_created message should be sent to the peer with the given node_id.
Fields
msg: FundingCreated
The message which should be sent.
SendFundingSigned
Used to indicate that a funding_signed message should be sent to the peer with the given node_id.
Fields
msg: FundingSigned
The message which should be sent.
SendTxAddInput
Used to indicate that a tx_add_input message should be sent to the peer with the given node_id.
Fields
msg: TxAddInput
The message which should be sent.
SendTxAddOutput
Used to indicate that a tx_add_output message should be sent to the peer with the given node_id.
Fields
msg: TxAddOutput
The message which should be sent.
SendTxRemoveInput
Used to indicate that a tx_remove_input message should be sent to the peer with the given node_id.
Fields
msg: TxRemoveInput
The message which should be sent.
SendTxRemoveOutput
Used to indicate that a tx_remove_output message should be sent to the peer with the given node_id.
Fields
msg: TxRemoveOutput
The message which should be sent.
SendTxComplete
Used to indicate that a tx_complete message should be sent to the peer with the given node_id.
Fields
msg: TxComplete
The message which should be sent.
SendTxSignatures
Used to indicate that a tx_signatures message should be sent to the peer with the given node_id.
Fields
msg: TxSignatures
The message which should be sent.
SendTxInitRbf
Used to indicate that a tx_init_rbf message should be sent to the peer with the given node_id.
Fields
SendTxAckRbf
Used to indicate that a tx_ack_rbf message should be sent to the peer with the given node_id.
Fields
SendTxAbort
Used to indicate that a tx_abort message should be sent to the peer with the given node_id.
Fields
SendChannelReady
Used to indicate that a channel_ready message should be sent to the peer with the given node_id.
Fields
msg: ChannelReady
The channel_ready message which should be sent.
SendAnnouncementSignatures
Used to indicate that an announcement_signatures message should be sent to the peer with the given node_id.
Fields
msg: AnnouncementSignatures
The announcement_signatures message which should be sent.
UpdateHTLCs
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.
Fields
updates: CommitmentUpdate
The update messages which should be sent. ALL messages in the struct should be sent!
SendRevokeAndACK
Used to indicate that a revoke_and_ack message should be sent to the peer with the given node_id.
Fields
msg: RevokeAndACK
The message which should be sent.
SendClosingSigned
Used to indicate that a closing_signed message should be sent to the peer with the given node_id.
Fields
msg: ClosingSigned
The message which should be sent.
SendShutdown
Used to indicate that a shutdown message should be sent to the peer with the given node_id.
Fields
SendChannelReestablish
Used to indicate that a channel_reestablish message should be sent to the peer with the given node_id.
Fields
msg: ChannelReestablish
The message which should be sent.
SendChannelAnnouncement
Used to send a channel_announcement and channel_update to a specific peer, likely on initial connection to ensure our peers know about our channels.
Fields
msg: ChannelAnnouncement
The channel_announcement which should be sent.
update_msg: ChannelUpdate
The followup channel_update which should be sent.
BroadcastChannelAnnouncement
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
broadcast a node_announcement (e.g. via PeerManager::broadcast_node_announcement
). 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.
Fields
msg: ChannelAnnouncement
The channel_announcement which should be sent.
update_msg: Option<ChannelUpdate>
The followup channel_update which should be sent.
BroadcastChannelUpdate
Used to indicate that a channel_update should be broadcast to all peers.
Fields
msg: ChannelUpdate
The channel_update which should be sent.
BroadcastNodeAnnouncement
Used to indicate that a node_announcement should be broadcast to all peers.
Fields
msg: NodeAnnouncement
The node_announcement which should be sent.
SendChannelUpdate
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.
Fields
msg: ChannelUpdate
The channel_update which should be sent.
HandleError
Broadcast an error downstream to be handled
Fields
action: ErrorAction
The action which should be taken.
SendChannelRangeQuery
Query a peer for channels with funding transaction UTXOs in a block range.
Fields
msg: QueryChannelRange
The query_channel_range which should be sent.
SendShortIdsQuery
Request routing gossip messages from a peer for a list of channels identified by their short_channel_ids.
Fields
msg: QueryShortChannelIds
The query_short_channel_ids which should be sent.
SendReplyChannelRange
Sends a reply to a channel range query. This may be one of several SendReplyChannelRange events emitted during processing of the query.
Fields
msg: ReplyChannelRange
The reply_channel_range which should be sent.
SendGossipTimestampFilter
Sends a timestamp filter for inbound gossip. This should be sent on each new connection to enable receiving gossip messages from the peer.
Fields
msg: GossipTimestampFilter
The gossip_timestamp_filter which should be sent.
Trait Implementations§
§impl Clone for MessageSendEvent
impl Clone for MessageSendEvent
§fn clone(&self) -> MessageSendEvent
fn clone(&self) -> MessageSendEvent
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreAuto Trait Implementations§
impl Freeze for MessageSendEvent
impl RefUnwindSafe for MessageSendEvent
impl Send for MessageSendEvent
impl Sync for MessageSendEvent
impl Unpin for MessageSendEvent
impl UnwindSafe for MessageSendEvent
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T
in a tonic::Request