@@ -41,12 +41,12 @@ use lightning::sign::EntropySource;
41
41
use lightning:: sign:: OutputSpender ;
42
42
use lightning:: util:: logger:: Logger ;
43
43
#[ cfg( feature = "std" ) ]
44
- use lightning:: util:: persist:: KVStoreSync ;
45
- use lightning:: util:: persist:: PersisterSync ;
46
44
use lightning:: util:: persist:: { KVStore , Persister } ;
45
+ use lightning:: util:: persist:: { KVStoreSync , PersisterSync } ;
47
46
use lightning:: util:: sweep:: OutputSweeper ;
48
47
#[ cfg( feature = "std" ) ]
49
48
use lightning:: util:: sweep:: OutputSweeperSync ;
49
+ use lightning:: util:: sweep:: OutputSweeperSyncKVStore ;
50
50
#[ cfg( feature = "std" ) ]
51
51
use lightning:: util:: wakers:: Sleeper ;
52
52
use lightning_rapid_gossip_sync:: RapidGossipSync ;
@@ -699,7 +699,7 @@ use futures_util::{dummy_waker, OptionalSelector, Selector, SelectorOutput};
699
699
/// # type LiquidityManager<B, F, FE> = lightning_liquidity::LiquidityManager<Arc<lightning::sign::KeysManager>, Arc<ChannelManager<B, F, FE>>, Arc<F>>;
700
700
/// # type Scorer = RwLock<lightning::routing::scoring::ProbabilisticScorer<Arc<NetworkGraph>, Arc<Logger>>>;
701
701
/// # type PeerManager<B, F, FE, UL> = lightning::ln::peer_handler::SimpleArcPeerManager<SocketDescriptor, ChainMonitor<B, F, FE>, B, FE, Arc<UL>, Logger, F, StoreSync>;
702
- /// # type OutputSweeper<B, D, FE, F, O> = lightning::util::sweep::OutputSweeper<Arc<B>, Arc<D>, Arc<FE>, Arc<F>, Arc<StoreSync >, Arc<Logger>, Arc<O>>;
702
+ /// # type OutputSweeper<B, D, FE, F, O> = lightning::util::sweep::OutputSweeper<Arc<B>, Arc<D>, Arc<FE>, Arc<F>, Arc<Store >, Arc<Logger>, Arc<O>>;
703
703
///
704
704
/// # struct Node<
705
705
/// # B: lightning::chain::chaininterface::BroadcasterInterface + Send + Sync + 'static,
@@ -843,7 +843,7 @@ where
843
843
LM :: Target : ALiquidityManager ,
844
844
O :: Target : ' static + OutputSpender ,
845
845
D :: Target : ' static + ChangeDestinationSource ,
846
- K :: Target : ' static + KVStoreSync ,
846
+ K :: Target : ' static + KVStore ,
847
847
{
848
848
let mut should_break = false ;
849
849
let async_event_handler = |event| {
@@ -1021,7 +1021,7 @@ pub async fn process_events_async<
1021
1021
D : ' static + Deref ,
1022
1022
O : ' static + Deref ,
1023
1023
K : ' static + Deref ,
1024
- OS : ' static + Deref < Target = OutputSweeper < T , D , F , CF , K , L , O > > ,
1024
+ OS : ' static + Deref < Target = OutputSweeperSyncKVStore < T , D , F , CF , K , L , O > > ,
1025
1025
S : ' static + Deref < Target = SC > + Send + Sync ,
1026
1026
SC : for < ' b > WriteableScore < ' b > ,
1027
1027
SleepFuture : core:: future:: Future < Output = bool > + core:: marker:: Unpin ,
@@ -1051,6 +1051,7 @@ where
1051
1051
K :: Target : ' static + KVStoreSync ,
1052
1052
{
1053
1053
let persister = PersisterSyncWrapper :: < ' static , PS , CM , L , S > :: new ( persister) ;
1054
+ let sweeper = sweeper. map ( |s| s. sweeper_async ( ) ) ;
1054
1055
process_events_full_async (
1055
1056
persister,
1056
1057
event_handler,
@@ -1303,6 +1304,7 @@ impl Drop for BackgroundProcessor {
1303
1304
#[ cfg( all( feature = "std" , test) ) ]
1304
1305
mod tests {
1305
1306
use super :: { BackgroundProcessor , GossipSync , FRESHNESS_TIMER } ;
1307
+ use crate :: PersisterSyncWrapper ;
1306
1308
use bitcoin:: constants:: { genesis_block, ChainHash } ;
1307
1309
use bitcoin:: hashes:: Hash ;
1308
1310
use bitcoin:: locktime:: absolute:: LockTime ;
@@ -2256,11 +2258,12 @@ mod tests {
2256
2258
open_channel ! ( nodes[ 0 ] , nodes[ 1 ] , 100000 ) ;
2257
2259
2258
2260
let data_dir = nodes[ 0 ] . kv_store . get_data_dir ( ) ;
2259
- let persister = Arc :: new (
2261
+ let persister_sync = Arc :: new (
2260
2262
PersisterSync :: new ( data_dir) . with_manager_error ( std:: io:: ErrorKind :: Other , "test" ) ,
2261
2263
) ;
2264
+ let persister = PersisterSyncWrapper :: new ( persister_sync) ;
2262
2265
2263
- let bp_future = super :: process_events_async (
2266
+ let bp_future = super :: process_events_full_async (
2264
2267
persister,
2265
2268
|_: _ | async { Ok ( ( ) ) } ,
2266
2269
Arc :: clone ( & nodes[ 0 ] . chain_monitor ) ,
@@ -2767,11 +2770,12 @@ mod tests {
2767
2770
let ( _, nodes) =
2768
2771
create_nodes ( 2 , "test_not_pruning_network_graph_until_graph_sync_completion_async" ) ;
2769
2772
let data_dir = nodes[ 0 ] . kv_store . get_data_dir ( ) ;
2770
- let persister =
2773
+ let persister_sync =
2771
2774
Arc :: new ( PersisterSync :: new ( data_dir) . with_graph_persistence_notifier ( sender) ) ;
2775
+ let persister = PersisterSyncWrapper :: new ( persister_sync) ;
2772
2776
2773
2777
let ( exit_sender, exit_receiver) = tokio:: sync:: watch:: channel ( ( ) ) ;
2774
- let bp_future = super :: process_events_async (
2778
+ let bp_future = super :: process_events_full_async (
2775
2779
persister,
2776
2780
|_: _ | async { Ok ( ( ) ) } ,
2777
2781
Arc :: clone ( & nodes[ 0 ] . chain_monitor ) ,
@@ -2984,11 +2988,12 @@ mod tests {
2984
2988
2985
2989
let ( _, nodes) = create_nodes ( 1 , "test_payment_path_scoring_async" ) ;
2986
2990
let data_dir = nodes[ 0 ] . kv_store . get_data_dir ( ) ;
2987
- let persister = Arc :: new ( PersisterSync :: new ( data_dir) ) ;
2991
+ let persister_sync = Arc :: new ( PersisterSync :: new ( data_dir) ) ;
2992
+ let persister = PersisterSyncWrapper :: new ( persister_sync) ;
2988
2993
2989
2994
let ( exit_sender, exit_receiver) = tokio:: sync:: watch:: channel ( ( ) ) ;
2990
2995
2991
- let bp_future = super :: process_events_async (
2996
+ let bp_future = super :: process_events_full_async (
2992
2997
persister,
2993
2998
event_handler,
2994
2999
Arc :: clone ( & nodes[ 0 ] . chain_monitor ) ,
0 commit comments