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
node_id: PublicKey
The node_id of the node which should receive this message
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
node_id: PublicKey
The node_id of the node which should receive this message
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
node_id: PublicKey
The node_id of the node which should receive this message
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
node_id: PublicKey
The node_id of the node which should receive this message
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
node_id: PublicKey
The node_id of the node which should receive this message
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
node_id: PublicKey
The node_id of the node which should receive this message
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
node_id: PublicKey
The node_id of the node which should receive this message
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
node_id: PublicKey
The node_id of the node which should receive this message
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
node_id: PublicKey
The node_id of the node which should receive this message
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
node_id: PublicKey
The node_id of the node which should receive this message
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
node_id: PublicKey
The node_id of the node which should receive this message
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
node_id: PublicKey
The node_id of the node which should receive this message
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
node_id: PublicKey
The node_id of the node which should receive this message
SendTxAckRbf
Used to indicate that a tx_ack_rbf message should be sent to the peer with the given node_id.
Fields
node_id: PublicKey
The node_id of the node which should receive this message
SendTxAbort
Used to indicate that a tx_abort message should be sent to the peer with the given node_id.
Fields
node_id: PublicKey
The node_id of the node which should receive this message
SendChannelReady
Used to indicate that a channel_ready message should be sent to the peer with the given node_id.
Fields
node_id: PublicKey
The node_id of the node which should receive these message(s)
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
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.
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
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!
SendRevokeAndACK
Used to indicate that a revoke_and_ack message should be sent to the peer with the given node_id.
Fields
node_id: PublicKey
The node_id of the node which should receive this message
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
node_id: PublicKey
The node_id of the node which should receive this message
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
node_id: PublicKey
The node_id of the node which should receive this message
SendChannelReestablish
Used to indicate that a channel_reestablish message should be sent to the peer with the given node_id.
Fields
node_id: PublicKey
The node_id of the node which should receive this message
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
node_id: PublicKey
The node_id of the node which should receive this message
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
node_id: PublicKey
The node_id of the node which should receive this message
msg: ChannelUpdate
The channel_update which should be sent.
HandleError
Broadcast an error downstream to be handled
Fields
node_id: PublicKey
The node_id of the node which should receive this message
action: ErrorAction
The action which should be taken.
SendChannelRangeQuery
Query a peer for channels with funding transaction UTXOs in a block range.
Fields
node_id: PublicKey
The node_id of this message recipient
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
node_id: PublicKey
The node_id of this message recipient
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
node_id: PublicKey
The node_id of this message recipient
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
node_id: PublicKey
The node_id of this message recipient
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 Send for MessageSendEvent
impl Sync for MessageSendEvent
impl RefUnwindSafe for MessageSendEvent
impl Unpin for MessageSendEvent
impl UnwindSafe for MessageSendEvent
Blanket Implementations§
§impl<T> AnySync for T
impl<T> AnySync for T
§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,
§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> 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> ⓘ
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> ⓘ
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<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