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