@@ -29,7 +29,7 @@ use crate::ln::msgs::{QueryChannelRange, ReplyChannelRange, QueryShortChannelIds
29
29
use crate :: ln:: msgs;
30
30
use crate :: util:: ser:: { Readable , ReadableArgs , Writeable , Writer , MaybeReadable } ;
31
31
use crate :: util:: logger:: { Logger , Level } ;
32
- use crate :: util:: events:: { Event , EventHandler , MessageSendEvent , MessageSendEventsProvider } ;
32
+ use crate :: util:: events:: { Event , MessageSendEvent , MessageSendEventsProvider } ;
33
33
use crate :: util:: scid_utils:: { block_from_scid, scid_from_parts, MAX_SCID_BLOCK } ;
34
34
35
35
use crate :: io;
@@ -213,8 +213,8 @@ impl_writeable_tlv_based_enum_upgradable!(NetworkUpdate,
213
213
/// Provides interface to help with initial routing sync by
214
214
/// serving historical announcements.
215
215
///
216
- /// Serves as an [`EventHandler`] for applying updates from [`Event::PaymentPathFailed`] to the
217
- /// [`NetworkGraph`].
216
+ /// Implements a referenced version of [`EventHandler`] for applying updates from
217
+ /// [`Event::PaymentPathFailed`] to the [` NetworkGraph`].
218
218
pub struct P2PGossipSync < G : Deref < Target =NetworkGraph < L > > , C : Deref , L : Deref >
219
219
where C :: Target : chain:: Access , L :: Target : Logger
220
220
{
@@ -274,8 +274,8 @@ where C::Target: chain::Access, L::Target: Logger
274
274
}
275
275
}
276
276
277
- impl < L : Deref > EventHandler for NetworkGraph < L > where L :: Target : Logger {
278
- fn handle_event ( & self , event : Event ) {
277
+ impl < L : Deref > NetworkGraph < L > where L :: Target : Logger {
278
+ pub fn handle_event ( & self , event : & Event ) {
279
279
if let Event :: PaymentPathFailed { network_update, .. } = event {
280
280
if let Some ( network_update) = network_update {
281
281
match network_update {
@@ -287,12 +287,12 @@ impl<L: Deref> EventHandler for NetworkGraph<L> where L::Target: Logger {
287
287
let _ = self . update_channel ( msg) ;
288
288
} ,
289
289
NetworkUpdate :: ChannelFailure { short_channel_id, is_permanent } => {
290
- let action = if is_permanent { "Removing" } else { "Disabling" } ;
290
+ let action = if * is_permanent { "Removing" } else { "Disabling" } ;
291
291
log_debug ! ( self . logger, "{} channel graph entry for {} due to a payment failure." , action, short_channel_id) ;
292
- self . channel_failed ( short_channel_id, is_permanent) ;
292
+ self . channel_failed ( * short_channel_id, * is_permanent) ;
293
293
} ,
294
294
NetworkUpdate :: NodeFailure { ref node_id, is_permanent } => {
295
- if is_permanent {
295
+ if * is_permanent {
296
296
log_debug ! ( self . logger,
297
297
"Removed node graph entry for {} due to a payment failure." , log_pubkey!( node_id) ) ;
298
298
self . node_failed_permanent ( node_id) ;
@@ -1980,7 +1980,7 @@ mod tests {
1980
1980
ReplyChannelRange , QueryChannelRange , QueryShortChannelIds , MAX_VALUE_MSAT } ;
1981
1981
use crate :: util:: test_utils;
1982
1982
use crate :: util:: ser:: { ReadableArgs , Writeable } ;
1983
- use crate :: util:: events:: { Event , EventHandler , MessageSendEvent , MessageSendEventsProvider } ;
1983
+ use crate :: util:: events:: { Event , MessageSendEvent , MessageSendEventsProvider } ;
1984
1984
use crate :: util:: scid_utils:: scid_from_parts;
1985
1985
1986
1986
use crate :: routing:: gossip:: REMOVED_ENTRIES_TRACKING_AGE_LIMIT_SECS ;
@@ -2424,7 +2424,7 @@ mod tests {
2424
2424
let valid_channel_update = get_signed_channel_update ( |_| { } , node_1_privkey, & secp_ctx) ;
2425
2425
assert ! ( network_graph. read_only( ) . channels( ) . get( & short_channel_id) . unwrap( ) . one_to_two. is_none( ) ) ;
2426
2426
2427
- network_graph. handle_event ( Event :: PaymentPathFailed {
2427
+ network_graph. handle_event ( & Event :: PaymentPathFailed {
2428
2428
payment_id : None ,
2429
2429
payment_hash : PaymentHash ( [ 0 ; 32 ] ) ,
2430
2430
payment_failed_permanently : false ,
@@ -2451,7 +2451,7 @@ mod tests {
2451
2451
}
2452
2452
} ;
2453
2453
2454
- network_graph. handle_event ( Event :: PaymentPathFailed {
2454
+ network_graph. handle_event ( & Event :: PaymentPathFailed {
2455
2455
payment_id : None ,
2456
2456
payment_hash : PaymentHash ( [ 0 ; 32 ] ) ,
2457
2457
payment_failed_permanently : false ,
@@ -2476,7 +2476,7 @@ mod tests {
2476
2476
}
2477
2477
2478
2478
// Permanent closing deletes a channel
2479
- network_graph. handle_event ( Event :: PaymentPathFailed {
2479
+ network_graph. handle_event ( & Event :: PaymentPathFailed {
2480
2480
payment_id : None ,
2481
2481
payment_hash : PaymentHash ( [ 0 ; 32 ] ) ,
2482
2482
payment_failed_permanently : false ,
@@ -2508,7 +2508,7 @@ mod tests {
2508
2508
assert ! ( network_graph. read_only( ) . channels( ) . get( & short_channel_id) . is_some( ) ) ;
2509
2509
2510
2510
// Non-permanent node failure does not delete any nodes or channels
2511
- network_graph. handle_event ( Event :: PaymentPathFailed {
2511
+ network_graph. handle_event ( & Event :: PaymentPathFailed {
2512
2512
payment_id : None ,
2513
2513
payment_hash : PaymentHash ( [ 0 ; 32 ] ) ,
2514
2514
payment_failed_permanently : false ,
@@ -2528,7 +2528,7 @@ mod tests {
2528
2528
assert ! ( network_graph. read_only( ) . nodes( ) . get( & NodeId :: from_pubkey( & node_2_id) ) . is_some( ) ) ;
2529
2529
2530
2530
// Permanent node failure deletes node and its channels
2531
- network_graph. handle_event ( Event :: PaymentPathFailed {
2531
+ network_graph. handle_event ( & Event :: PaymentPathFailed {
2532
2532
payment_id : None ,
2533
2533
payment_hash : PaymentHash ( [ 0 ; 32 ] ) ,
2534
2534
payment_failed_permanently : false ,
0 commit comments