X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=src%2Fln%2Frouter.rs;h=e4473fa41838d87072d87cb13747c24f984cc442;hb=e3effa4622b761e3bb74b33e6faca7bf56dfc0c6;hp=19a677580a5c101fe08e78d52ac17dbee4dc0ffe;hpb=8e2974fc2a5871c33584f8b5c90b65a8450f2a5d;p=rust-lightning diff --git a/src/ln/router.rs b/src/ln/router.rs index 19a67758..e4473fa4 100644 --- a/src/ln/router.rs +++ b/src/ln/router.rs @@ -3,7 +3,7 @@ use secp256k1::{Secp256k1,Message}; use bitcoin::util::hash::Sha256dHash; -use ln::msgs::{HandleError,RoutingMessageHandler,MsgEncodable,NetAddress,GlobalFeatures}; +use ln::msgs::{ErrorAction,HandleError,RoutingMessageHandler,MsgEncodable,NetAddress,GlobalFeatures}; use ln::msgs; use std::cmp; @@ -122,10 +122,10 @@ impl RoutingMessageHandler for Router { let mut network = self.network_map.write().unwrap(); match network.nodes.get_mut(&msg.contents.node_id) { - None => Err(HandleError{err: "No existing channels for node_announcement", msg: None}), + None => Err(HandleError{err: "No existing channels for node_announcement", msg: Some(ErrorAction::IgnoreError)}), Some(node) => { if node.last_update >= msg.contents.timestamp { - return Err(HandleError{err: "Update older than last processed update", msg: None}); + return Err(HandleError{err: "Update older than last processed update", msg: Some(ErrorAction::IgnoreError)}); } node.features = msg.contents.features.clone(); @@ -159,7 +159,7 @@ impl RoutingMessageHandler for Router { //TODO: because asking the blockchain if short_channel_id is valid is only optional //in the blockchain API, we need to handle it smartly here, though its unclear //exactly how... - return Err(HandleError{err: "Already have knowledge of channel", msg: None}) + return Err(HandleError{err: "Already have knowledge of channel", msg: Some(ErrorAction::IgnoreError)}) }, Entry::Vacant(entry) => { entry.insert(ChannelInfo { @@ -233,12 +233,12 @@ impl RoutingMessageHandler for Router { let chan_was_enabled; match network.channels.get_mut(&NetworkMap::get_key(msg.contents.short_channel_id, msg.contents.chain_hash)) { - None => return Err(HandleError{err: "Couldn't find channel for update", msg: None}), + None => return Err(HandleError{err: "Couldn't find channel for update", msg: Some(ErrorAction::IgnoreError)}), Some(channel) => { macro_rules! maybe_update_channel_info { ( $target: expr) => { if $target.last_update >= msg.contents.timestamp { - return Err(HandleError{err: "Update older than last processed update", msg: None}); + return Err(HandleError{err: "Update older than last processed update", msg: Some(ErrorAction::IgnoreError)}); } chan_was_enabled = $target.enabled; $target.last_update = msg.contents.timestamp;