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: PublicKeyThe node_id of the node which should receive this message
msg: AcceptChannelThe 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: PublicKeyThe node_id of the node which should receive this message
msg: AcceptChannelV2The 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: PublicKeyThe node_id of the node which should receive this message
msg: OpenChannelThe 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: PublicKeyThe node_id of the node which should receive this message
msg: OpenChannelV2The 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: PublicKeyThe node_id of the node which should receive this message
msg: FundingCreatedThe 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: PublicKeyThe node_id of the node which should receive this message
msg: FundingSignedThe 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: PublicKeyThe node_id of the node which should receive this message
msg: TxAddInputThe 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: PublicKeyThe node_id of the node which should receive this message
msg: TxAddOutputThe 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: PublicKeyThe node_id of the node which should receive this message
msg: TxRemoveInputThe 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: PublicKeyThe node_id of the node which should receive this message
msg: TxRemoveOutputThe 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: PublicKeyThe node_id of the node which should receive this message
msg: TxCompleteThe 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: PublicKeyThe node_id of the node which should receive this message
msg: TxSignaturesThe 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: PublicKeyThe 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: PublicKeyThe 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: PublicKeyThe 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: PublicKeyThe node_id of the node which should receive these message(s)
msg: ChannelReadyThe 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: PublicKeyThe node_id of the node which should receive these message(s)
msg: AnnouncementSignaturesThe 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: PublicKeyThe node_id of the node which should receive these message(s)
updates: CommitmentUpdateThe 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: PublicKeyThe node_id of the node which should receive this message
msg: RevokeAndACKThe 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: PublicKeyThe node_id of the node which should receive this message
msg: ClosingSignedThe 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: PublicKeyThe 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: PublicKeyThe node_id of the node which should receive this message
msg: ChannelReestablishThe 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: PublicKeyThe node_id of the node which should receive this message
msg: ChannelAnnouncementThe channel_announcement which should be sent.
update_msg: ChannelUpdateThe 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: ChannelAnnouncementThe 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: ChannelUpdateThe channel_update which should be sent.
BroadcastNodeAnnouncement
Used to indicate that a node_announcement should be broadcast to all peers.
Fields
msg: NodeAnnouncementThe 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: PublicKeyThe node_id of the node which should receive this message
msg: ChannelUpdateThe channel_update which should be sent.
HandleError
Broadcast an error downstream to be handled
Fields
node_id: PublicKeyThe node_id of the node which should receive this message
action: ErrorActionThe action which should be taken.
SendChannelRangeQuery
Query a peer for channels with funding transaction UTXOs in a block range.
Fields
node_id: PublicKeyThe node_id of this message recipient
msg: QueryChannelRangeThe 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: PublicKeyThe node_id of this message recipient
msg: QueryShortChannelIdsThe 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: PublicKeyThe node_id of this message recipient
msg: ReplyChannelRangeThe 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: PublicKeyThe node_id of this message recipient
msg: GossipTimestampFilterThe 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<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