@@ -459,7 +459,10 @@ impl<K: KVStore + Sync + Send + 'static> Node<K> {
459
459
Arc :: clone( & gossip_sync_store) ,
460
460
Arc :: clone( & gossip_sync_logger) ,
461
461
)
462
- . expect( "Persistence failed" ) ;
462
+ . unwrap_or_else( |e| {
463
+ log_error!( gossip_sync_logger, "Persistence failed: {}" , e) ;
464
+ panic!( "Persistence failed" ) ;
465
+ } ) ;
463
466
}
464
467
Err ( e) => log_error!(
465
468
gossip_sync_logger,
@@ -478,6 +481,7 @@ impl<K: KVStore + Sync + Send + 'static> Node<K> {
478
481
let peer_manager_connection_handler = Arc :: clone ( & self . peer_manager ) ;
479
482
let mut stop_listen = self . stop_receiver . clone ( ) ;
480
483
let listening_address = listening_address. clone ( ) ;
484
+ let listening_logger = Arc :: clone ( & self . logger ) ;
481
485
482
486
let bind_addr = listening_address
483
487
. to_socket_addrs ( )
@@ -501,9 +505,14 @@ impl<K: KVStore + Sync + Send + 'static> Node<K> {
501
505
502
506
runtime. spawn ( async move {
503
507
let listener =
504
- tokio:: net:: TcpListener :: bind ( bind_addr) . await . expect (
505
- "Failed to bind to listen address/port - is something else already listening on it?" ,
506
- ) ;
508
+ tokio:: net:: TcpListener :: bind ( bind_addr) . await
509
+ . unwrap_or_else ( |e| {
510
+ log_error ! ( listening_logger, "Failed to bind to listen address/port - is something else already listening on it?: {}" , e) ;
511
+ panic ! (
512
+ "Failed to bind to listen address/port - is something else already listening on it?" ,
513
+ ) ;
514
+ } ) ;
515
+
507
516
loop {
508
517
let peer_mgr = Arc :: clone ( & peer_manager_connection_handler) ;
509
518
tokio:: select! {
@@ -614,7 +623,10 @@ impl<K: KVStore + Sync + Send + 'static> Node<K> {
614
623
615
624
let unix_time_secs = SystemTime :: now( ) . duration_since( SystemTime :: UNIX_EPOCH ) . unwrap( ) . as_secs( ) ;
616
625
io:: utils:: write_latest_node_ann_bcast_timestamp( unix_time_secs, Arc :: clone( & bcast_store) , Arc :: clone( & bcast_logger) )
617
- . expect( "Persistence failed" ) ;
626
+ . unwrap_or_else( |e| {
627
+ log_error!( bcast_logger, "Persistence failed: {}" , e) ;
628
+ panic!( "Persistence failed" ) ;
629
+ } ) ;
618
630
}
619
631
}
620
632
}
@@ -640,6 +652,7 @@ impl<K: KVStore + Sync + Send + 'static> Node<K> {
640
652
let background_gossip_sync = self . gossip_source . as_gossip_sync ( ) ;
641
653
let background_peer_man = Arc :: clone ( & self . peer_manager ) ;
642
654
let background_logger = Arc :: clone ( & self . logger ) ;
655
+ let background_error_logger = Arc :: clone ( & self . logger ) ;
643
656
let background_scorer = Arc :: clone ( & self . scorer ) ;
644
657
let stop_bp = self . stop_receiver . clone ( ) ;
645
658
let sleeper = move |d| {
@@ -670,7 +683,10 @@ impl<K: KVStore + Sync + Send + 'static> Node<K> {
670
683
true ,
671
684
)
672
685
. await
673
- . expect ( "Failed to process events" ) ;
686
+ . unwrap_or_else ( |e| {
687
+ log_error ! ( background_error_logger, "Failed to process events: {}" , e) ;
688
+ panic ! ( "Failed to process events" ) ;
689
+ } ) ;
674
690
} ) ;
675
691
676
692
* runtime_lock = Some ( runtime) ;
@@ -731,9 +747,14 @@ impl<K: KVStore + Sync + Send + 'static> Node<K> {
731
747
///
732
748
/// **Note:** This **MUST** be called after each event has been handled.
733
749
pub fn event_handled ( & self ) {
734
- self . event_queue
735
- . event_handled ( )
736
- . expect ( "Couldn't mark event handled due to persistence failure" ) ;
750
+ self . event_queue . event_handled ( ) . unwrap_or_else ( |e| {
751
+ log_error ! (
752
+ self . logger,
753
+ "Couldn't mark event handled due to persistence failure: {}" ,
754
+ e
755
+ ) ;
756
+ panic ! ( "Couldn't mark event handled due to persistence failure" ) ;
757
+ } ) ;
737
758
}
738
759
739
760
/// Returns our own node id
0 commit comments