@@ -811,6 +811,7 @@ impl<Descriptor: SocketDescriptor, CM: Deref, RM: Deref, L: Deref, CMH: Deref> P
811811 log_given_level!( self . logger, level, "Error handling message{}; ignoring: {}" , OptionalFromDebugger ( & peer. their_node_id) , e. err) ;
812812 continue
813813 } ,
814+ msgs:: ErrorAction :: IgnoreDuplicateGossip => continue , // Don't even bother logging these
814815 msgs:: ErrorAction :: IgnoreError => {
815816 log_debug!( self . logger, "Error handling message{}; ignoring: {}" , OptionalFromDebugger ( & peer. their_node_id) , e. err) ;
816817 continue ;
@@ -1351,23 +1352,31 @@ impl<Descriptor: SocketDescriptor, CM: Deref, RM: Deref, L: Deref, CMH: Deref> P
13511352 } ,
13521353 MessageSendEvent :: BroadcastChannelAnnouncement { msg, update_msg } => {
13531354 log_debug ! ( self . logger, "Handling BroadcastChannelAnnouncement event in peer_handler for short channel id {}" , msg. contents. short_channel_id) ;
1354- if self . message_handler . route_handler . handle_channel_announcement ( & msg) . is_ok ( ) {
1355- self . forward_broadcast_msg ( peers, & wire:: Message :: ChannelAnnouncement ( msg) , None ) ;
1355+ match self . message_handler . route_handler . handle_channel_announcement ( & msg) {
1356+ Ok ( _) | Err ( LightningError { action : msgs:: ErrorAction :: IgnoreDuplicateGossip , .. } ) =>
1357+ self . forward_broadcast_msg ( peers, & wire:: Message :: ChannelAnnouncement ( msg) , None ) ,
1358+ _ => { } ,
13561359 }
1357- if self . message_handler . route_handler . handle_channel_update ( & update_msg) . is_ok ( ) {
1358- self . forward_broadcast_msg ( peers, & wire:: Message :: ChannelUpdate ( update_msg) , None ) ;
1360+ match self . message_handler . route_handler . handle_channel_update ( & update_msg) {
1361+ Ok ( _) | Err ( LightningError { action : msgs:: ErrorAction :: IgnoreDuplicateGossip , .. } ) =>
1362+ self . forward_broadcast_msg ( peers, & wire:: Message :: ChannelUpdate ( update_msg) , None ) ,
1363+ _ => { } ,
13591364 }
13601365 } ,
13611366 MessageSendEvent :: BroadcastNodeAnnouncement { msg } => {
13621367 log_debug ! ( self . logger, "Handling BroadcastNodeAnnouncement event in peer_handler" ) ;
1363- if self . message_handler . route_handler . handle_node_announcement ( & msg) . is_ok ( ) {
1364- self . forward_broadcast_msg ( peers, & wire:: Message :: NodeAnnouncement ( msg) , None ) ;
1368+ match self . message_handler . route_handler . handle_node_announcement ( & msg) {
1369+ Ok ( _) | Err ( LightningError { action : msgs:: ErrorAction :: IgnoreDuplicateGossip , .. } ) =>
1370+ self . forward_broadcast_msg ( peers, & wire:: Message :: NodeAnnouncement ( msg) , None ) ,
1371+ _ => { } ,
13651372 }
13661373 } ,
13671374 MessageSendEvent :: BroadcastChannelUpdate { msg } => {
13681375 log_debug ! ( self . logger, "Handling BroadcastChannelUpdate event in peer_handler for short channel id {}" , msg. contents. short_channel_id) ;
1369- if self . message_handler . route_handler . handle_channel_update ( & msg) . is_ok ( ) {
1370- self . forward_broadcast_msg ( peers, & wire:: Message :: ChannelUpdate ( msg) , None ) ;
1376+ match self . message_handler . route_handler . handle_channel_update ( & msg) {
1377+ Ok ( _) | Err ( LightningError { action : msgs:: ErrorAction :: IgnoreDuplicateGossip , .. } ) =>
1378+ self . forward_broadcast_msg ( peers, & wire:: Message :: ChannelUpdate ( msg) , None ) ,
1379+ _ => { } ,
13711380 }
13721381 } ,
13731382 MessageSendEvent :: SendChannelUpdate { ref node_id, ref msg } => {
@@ -1400,6 +1409,7 @@ impl<Descriptor: SocketDescriptor, CM: Deref, RM: Deref, L: Deref, CMH: Deref> P
14001409 msgs:: ErrorAction :: IgnoreAndLog ( level) => {
14011410 log_given_level ! ( self . logger, level, "Received a HandleError event to be ignored for node {}" , log_pubkey!( node_id) ) ;
14021411 } ,
1412+ msgs:: ErrorAction :: IgnoreDuplicateGossip => { } ,
14031413 msgs:: ErrorAction :: IgnoreError => {
14041414 log_debug ! ( self . logger, "Received a HandleError event to be ignored for node {}" , log_pubkey!( node_id) ) ;
14051415 } ,
0 commit comments