@@ -544,49 +544,53 @@ impl LdkLite {
544
544
std:: thread:: spawn ( move || {
545
545
tokio:: runtime:: Builder :: new_current_thread ( ) . enable_all ( ) . build ( ) . unwrap ( ) . block_on (
546
546
async move {
547
- let mut rounds = 0 ;
548
547
loop {
549
548
if stop_sync. load ( Ordering :: Acquire ) {
550
549
return ;
551
550
}
552
- // As syncing the on-chain wallet is much more time-intesive, we only sync every
553
- // fifth round.
554
- if rounds == 0 {
555
- let now = Instant :: now ( ) ;
556
- match wallet. sync ( ) . await {
557
- Ok ( ( ) ) => log_info ! (
558
- sync_logger,
559
- "On-chain wallet sync finished in {}ms." ,
560
- now. elapsed( ) . as_millis( )
561
- ) ,
562
- Err ( err) => {
563
- log_error ! ( sync_logger, "On-chain wallet sync failed: {}" , err)
564
- }
565
- }
566
- }
567
- rounds = ( rounds + 1 ) % 5 ;
568
-
569
- let confirmables = vec ! [
570
- & * sync_cman as & ( dyn Confirm + Sync + Send ) ,
571
- & * sync_cmon as & ( dyn Confirm + Sync + Send ) ,
572
- ] ;
573
551
let now = Instant :: now ( ) ;
574
- match tx_sync . sync ( confirmables ) . await {
552
+ match wallet . sync ( ) . await {
575
553
Ok ( ( ) ) => log_info ! (
576
554
sync_logger,
577
- "Lightning wallet sync finished in {}ms." ,
555
+ "On-chain wallet sync finished in {}ms." ,
578
556
now. elapsed( ) . as_millis( )
579
557
) ,
580
- Err ( e ) => {
581
- log_error ! ( sync_logger, "Lightning wallet sync failed: {}" , e )
558
+ Err ( err ) => {
559
+ log_error ! ( sync_logger, "On-chain wallet sync failed: {}" , err )
582
560
}
583
561
}
584
- tokio:: time:: sleep ( Duration :: from_secs ( 5 ) ) . await ;
562
+ tokio:: time:: sleep ( Duration :: from_secs ( 20 ) ) . await ;
585
563
}
586
564
} ,
587
565
) ;
588
566
} ) ;
589
567
568
+ let sync_logger = Arc :: clone ( & self . logger ) ;
569
+ let stop_sync = Arc :: clone ( & stop_wallet_sync) ;
570
+ tokio_runtime. spawn ( async move {
571
+ loop {
572
+ if stop_sync. load ( Ordering :: Acquire ) {
573
+ return ;
574
+ }
575
+ let now = Instant :: now ( ) ;
576
+ let confirmables = vec ! [
577
+ & * sync_cman as & ( dyn Confirm + Sync + Send ) ,
578
+ & * sync_cmon as & ( dyn Confirm + Sync + Send ) ,
579
+ ] ;
580
+ match tx_sync. sync ( confirmables) . await {
581
+ Ok ( ( ) ) => log_info ! (
582
+ sync_logger,
583
+ "Lightning wallet sync finished in {}ms." ,
584
+ now. elapsed( ) . as_millis( )
585
+ ) ,
586
+ Err ( e) => {
587
+ log_error ! ( sync_logger, "Lightning wallet sync failed: {}" , e)
588
+ }
589
+ }
590
+ tokio:: time:: sleep ( Duration :: from_secs ( 5 ) ) . await ;
591
+ }
592
+ } ) ;
593
+
590
594
let stop_networking = Arc :: new ( AtomicBool :: new ( false ) ) ;
591
595
if let Some ( listening_address) = & self . config . listening_address {
592
596
// Setup networking
0 commit comments