X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=src%2Futil%2Fevents.rs;h=589c4be10e61b331e6443ef4514a66e6d754af80;hb=5ee88ad9f2c9634eb5a1a5131614047028aba757;hp=b090fba40e499cf4250ff4b9a47a24edc3a9219d;hpb=add1d9d9e54bcc33a21ff486ca7785eef4ffb120;p=rust-lightning diff --git a/src/util/events.rs b/src/util/events.rs index b090fba4..589c4be1 100644 --- a/src/util/events.rs +++ b/src/util/events.rs @@ -46,13 +46,13 @@ pub enum Event { PaymentFailed { payment_hash: [u8; 32], }, - - // Events indicating the network loop should send a message to a peer: /// Used to indicate that ChannelManager::process_pending_htlc_forwards should be called at a /// time in the future. PendingHTLCsForwardable { time_forwardable: Instant, }, + + // Events indicating the network loop should send a message to a peer: /// Used to indicate that we've initialted a channel open and should send the open_channel /// message provided to the given peer SendOpenChannel { @@ -89,6 +89,11 @@ pub enum Event { msg: msgs::UpdateFailHTLC, commitment_msg: msgs::CommitmentSigned, }, + /// Used to indicate that a shutdown message should be sent to the peer with the given node_id. + SendShutdown { + node_id: PublicKey, + msg: msgs::Shutdown, + }, /// 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). BroadcastChannelAnnouncement { @@ -99,6 +104,13 @@ pub enum Event { BroadcastChannelUpdate { msg: msgs::ChannelUpdate, }, + + //Error handling + /// Broadcast an error downstream to be handled + HandleError { + node_id: PublicKey, + action: Option + } } pub trait EventsProvider {