@@ -500,9 +500,16 @@ use core::task;
500
500
/// For example, in order to process background events in a [Tokio](https://tokio.rs/) task, you
501
501
/// could setup `process_events_async` like this:
502
502
/// ```
503
- /// # struct MyPersister {}
504
- /// # impl lightning::util::persist::KVStorePersister for MyPersister {
505
- /// # fn persist<W: lightning::util::ser::Writeable>(&self, key: &str, object: &W) -> lightning::io::Result<()> { Ok(()) }
503
+ /// # use lightning::io;
504
+ /// # use std::sync::{Arc, Mutex};
505
+ /// # use std::sync::atomic::{AtomicBool, Ordering};
506
+ /// # use lightning_background_processor::{process_events_async, GossipSync};
507
+ /// # struct MyStore {}
508
+ /// # impl lightning::util::persist::KVStore for MyStore {
509
+ /// # fn read(&self, namespace: &str, sub_namespace: &str, key: &str) -> io::Result<Vec<u8>> { Ok(Vec::new()) }
510
+ /// # fn write(&self, namespace: &str, sub_namespace: &str, key: &str, buf: &[u8]) -> io::Result<()> { Ok(()) }
511
+ /// # fn remove(&self, namespace: &str, sub_namespace: &str, key: &str, lazy: bool) -> io::Result<()> { Ok(()) }
512
+ /// # fn list(&self, namespace: &str, sub_namespace: &str) -> io::Result<Vec<String>> { Ok(Vec::new()) }
506
513
/// # }
507
514
/// # struct MyEventHandler {}
508
515
/// # impl MyEventHandler {
@@ -514,23 +521,20 @@ use core::task;
514
521
/// # fn send_data(&mut self, _data: &[u8], _resume_read: bool) -> usize { 0 }
515
522
/// # fn disconnect_socket(&mut self) {}
516
523
/// # }
517
- /// # use std::sync::{Arc, Mutex};
518
- /// # use std::sync::atomic::{AtomicBool, Ordering};
519
- /// # use lightning_background_processor::{process_events_async, GossipSync};
520
524
/// # type MyBroadcaster = dyn lightning::chain::chaininterface::BroadcasterInterface + Send + Sync;
521
525
/// # type MyFeeEstimator = dyn lightning::chain::chaininterface::FeeEstimator + Send + Sync;
522
526
/// # type MyNodeSigner = dyn lightning::sign::NodeSigner + Send + Sync;
523
527
/// # type MyUtxoLookup = dyn lightning::routing::utxo::UtxoLookup + Send + Sync;
524
528
/// # type MyFilter = dyn lightning::chain::Filter + Send + Sync;
525
529
/// # type MyLogger = dyn lightning::util::logger::Logger + Send + Sync;
526
- /// # type MyChainMonitor = lightning::chain::chainmonitor::ChainMonitor<lightning::sign::InMemorySigner, Arc<MyFilter>, Arc<MyBroadcaster>, Arc<MyFeeEstimator>, Arc<MyLogger>, Arc<MyPersister >>;
530
+ /// # type MyChainMonitor = lightning::chain::chainmonitor::ChainMonitor<lightning::sign::InMemorySigner, Arc<MyFilter>, Arc<MyBroadcaster>, Arc<MyFeeEstimator>, Arc<MyLogger>, Arc<MyStore >>;
527
531
/// # type MyPeerManager = lightning::ln::peer_handler::SimpleArcPeerManager<MySocketDescriptor, MyChainMonitor, MyBroadcaster, MyFeeEstimator, MyUtxoLookup, MyLogger>;
528
532
/// # type MyNetworkGraph = lightning::routing::gossip::NetworkGraph<Arc<MyLogger>>;
529
533
/// # type MyGossipSync = lightning::routing::gossip::P2PGossipSync<Arc<MyNetworkGraph>, Arc<MyUtxoLookup>, Arc<MyLogger>>;
530
534
/// # type MyChannelManager = lightning::ln::channelmanager::SimpleArcChannelManager<MyChainMonitor, MyBroadcaster, MyFeeEstimator, MyLogger>;
531
535
/// # type MyScorer = Mutex<lightning::routing::scoring::ProbabilisticScorer<Arc<MyNetworkGraph>, Arc<MyLogger>>>;
532
536
///
533
- /// # async fn setup_background_processing(my_persister: Arc<MyPersister >, my_event_handler: Arc<MyEventHandler>, my_chain_monitor: Arc<MyChainMonitor>, my_channel_manager: Arc<MyChannelManager>, my_gossip_sync: Arc<MyGossipSync>, my_logger: Arc<MyLogger>, my_scorer: Arc<MyScorer>, my_peer_manager: Arc<MyPeerManager>) {
537
+ /// # async fn setup_background_processing(my_persister: Arc<MyStore >, my_event_handler: Arc<MyEventHandler>, my_chain_monitor: Arc<MyChainMonitor>, my_channel_manager: Arc<MyChannelManager>, my_gossip_sync: Arc<MyGossipSync>, my_logger: Arc<MyLogger>, my_scorer: Arc<MyScorer>, my_peer_manager: Arc<MyPeerManager>) {
534
538
/// let background_persister = Arc::clone(&my_persister);
535
539
/// let background_event_handler = Arc::clone(&my_event_handler);
536
540
/// let background_chain_mon = Arc::clone(&my_chain_monitor);
@@ -866,8 +870,8 @@ mod tests {
866
870
use lightning:: util:: config:: UserConfig ;
867
871
use lightning:: util:: ser:: Writeable ;
868
872
use lightning:: util:: test_utils;
869
- use lightning:: util:: persist:: KVStorePersister ;
870
- use lightning_persister:: FilesystemPersister ;
873
+ use lightning:: util:: persist:: { KVStore , CHANNEL_MANAGER_PERSISTENCE_NAMESPACE , CHANNEL_MANAGER_PERSISTENCE_SUB_NAMESPACE , CHANNEL_MANAGER_PERSISTENCE_KEY , NETWORK_GRAPH_PERSISTENCE_NAMESPACE , NETWORK_GRAPH_PERSISTENCE_SUB_NAMESPACE , NETWORK_GRAPH_PERSISTENCE_KEY , SCORER_PERSISTENCE_NAMESPACE , SCORER_PERSISTENCE_SUB_NAMESPACE , SCORER_PERSISTENCE_KEY } ;
874
+ use lightning_persister:: fs_store :: FilesystemStore ;
871
875
use std:: collections:: VecDeque ;
872
876
use std:: { fs, env} ;
873
877
use std:: path:: PathBuf ;
@@ -906,7 +910,7 @@ mod tests {
906
910
> ,
907
911
Arc < test_utils:: TestLogger > > ;
908
912
909
- type ChainMonitor = chainmonitor:: ChainMonitor < InMemorySigner , Arc < test_utils:: TestChainSource > , Arc < test_utils:: TestBroadcaster > , Arc < test_utils:: TestFeeEstimator > , Arc < test_utils:: TestLogger > , Arc < FilesystemPersister > > ;
913
+ type ChainMonitor = chainmonitor:: ChainMonitor < InMemorySigner , Arc < test_utils:: TestChainSource > , Arc < test_utils:: TestBroadcaster > , Arc < test_utils:: TestFeeEstimator > , Arc < test_utils:: TestLogger > , Arc < FilesystemStore > > ;
910
914
911
915
type PGS = Arc < P2PGossipSync < Arc < NetworkGraph < Arc < test_utils:: TestLogger > > > , Arc < test_utils:: TestChainSource > , Arc < test_utils:: TestLogger > > > ;
912
916
type RGS = Arc < RapidGossipSync < Arc < NetworkGraph < Arc < test_utils:: TestLogger > > > , Arc < test_utils:: TestLogger > > > ;
@@ -917,7 +921,7 @@ mod tests {
917
921
rapid_gossip_sync : RGS ,
918
922
peer_manager : Arc < PeerManager < TestDescriptor , Arc < test_utils:: TestChannelMessageHandler > , Arc < test_utils:: TestRoutingMessageHandler > , IgnoringMessageHandler , Arc < test_utils:: TestLogger > , IgnoringMessageHandler , Arc < KeysManager > > > ,
919
923
chain_monitor : Arc < ChainMonitor > ,
920
- persister : Arc < FilesystemPersister > ,
924
+ kv_store : Arc < FilesystemStore > ,
921
925
tx_broadcaster : Arc < test_utils:: TestBroadcaster > ,
922
926
network_graph : Arc < NetworkGraph < Arc < test_utils:: TestLogger > > > ,
923
927
logger : Arc < test_utils:: TestLogger > ,
@@ -941,9 +945,9 @@ mod tests {
941
945
942
946
impl Drop for Node {
943
947
fn drop ( & mut self ) {
944
- let data_dir = self . persister . get_data_dir ( ) ;
948
+ let data_dir = self . kv_store . get_data_dir ( ) ;
945
949
match fs:: remove_dir_all ( data_dir. clone ( ) ) {
946
- Err ( e) => println ! ( "Failed to remove test persister directory {}: {}" , data_dir, e) ,
950
+ Err ( e) => println ! ( "Failed to remove test store directory {}: {}" , data_dir. display ( ) , e) ,
947
951
_ => { }
948
952
}
949
953
}
@@ -954,13 +958,13 @@ mod tests {
954
958
graph_persistence_notifier : Option < SyncSender < ( ) > > ,
955
959
manager_error : Option < ( std:: io:: ErrorKind , & ' static str ) > ,
956
960
scorer_error : Option < ( std:: io:: ErrorKind , & ' static str ) > ,
957
- filesystem_persister : FilesystemPersister ,
961
+ kv_store : FilesystemStore ,
958
962
}
959
963
960
964
impl Persister {
961
- fn new ( data_dir : String ) -> Self {
962
- let filesystem_persister = FilesystemPersister :: new ( data_dir) ;
963
- Self { graph_error : None , graph_persistence_notifier : None , manager_error : None , scorer_error : None , filesystem_persister }
965
+ fn new ( data_dir : PathBuf ) -> Self {
966
+ let kv_store = FilesystemStore :: new ( data_dir) ;
967
+ Self { graph_error : None , graph_persistence_notifier : None , manager_error : None , scorer_error : None , kv_store }
964
968
}
965
969
966
970
fn with_graph_error ( self , error : std:: io:: ErrorKind , message : & ' static str ) -> Self {
@@ -980,15 +984,25 @@ mod tests {
980
984
}
981
985
}
982
986
983
- impl KVStorePersister for Persister {
984
- fn persist < W : Writeable > ( & self , key : & str , object : & W ) -> std:: io:: Result < ( ) > {
985
- if key == "manager" {
987
+ impl KVStore for Persister {
988
+ fn read ( & self , namespace : & str , sub_namespace : & str , key : & str ) -> lightning:: io:: Result < Vec < u8 > > {
989
+ self . kv_store . read ( namespace, sub_namespace, key)
990
+ }
991
+
992
+ fn write ( & self , namespace : & str , sub_namespace : & str , key : & str , buf : & [ u8 ] ) -> lightning:: io:: Result < ( ) > {
993
+ if namespace == CHANNEL_MANAGER_PERSISTENCE_NAMESPACE &&
994
+ sub_namespace == CHANNEL_MANAGER_PERSISTENCE_SUB_NAMESPACE &&
995
+ key == CHANNEL_MANAGER_PERSISTENCE_KEY
996
+ {
986
997
if let Some ( ( error, message) ) = self . manager_error {
987
998
return Err ( std:: io:: Error :: new ( error, message) )
988
999
}
989
1000
}
990
1001
991
- if key == "network_graph" {
1002
+ if namespace == NETWORK_GRAPH_PERSISTENCE_NAMESPACE &&
1003
+ sub_namespace == NETWORK_GRAPH_PERSISTENCE_SUB_NAMESPACE &&
1004
+ key == NETWORK_GRAPH_PERSISTENCE_KEY
1005
+ {
992
1006
if let Some ( sender) = & self . graph_persistence_notifier {
993
1007
match sender. send ( ( ) ) {
994
1008
Ok ( ( ) ) => { } ,
@@ -1001,13 +1015,24 @@ mod tests {
1001
1015
}
1002
1016
}
1003
1017
1004
- if key == "scorer" {
1018
+ if namespace == SCORER_PERSISTENCE_NAMESPACE &&
1019
+ sub_namespace == SCORER_PERSISTENCE_SUB_NAMESPACE &&
1020
+ key == SCORER_PERSISTENCE_KEY
1021
+ {
1005
1022
if let Some ( ( error, message) ) = self . scorer_error {
1006
1023
return Err ( std:: io:: Error :: new ( error, message) )
1007
1024
}
1008
1025
}
1009
1026
1010
- self . filesystem_persister . persist ( key, object)
1027
+ self . kv_store . write ( namespace, sub_namespace, key, buf)
1028
+ }
1029
+
1030
+ fn remove ( & self , namespace : & str , sub_namespace : & str , key : & str , lazy : bool ) -> lightning:: io:: Result < ( ) > {
1031
+ self . kv_store . remove ( namespace, sub_namespace, key, lazy)
1032
+ }
1033
+
1034
+ fn list ( & self , namespace : & str , sub_namespace : & str ) -> lightning:: io:: Result < Vec < String > > {
1035
+ self . kv_store . list ( namespace, sub_namespace)
1011
1036
}
1012
1037
}
1013
1038
@@ -1157,10 +1182,10 @@ mod tests {
1157
1182
let seed = [ i as u8 ; 32 ] ;
1158
1183
let router = Arc :: new ( DefaultRouter :: new ( network_graph. clone ( ) , logger. clone ( ) , seed, scorer. clone ( ) , ( ) ) ) ;
1159
1184
let chain_source = Arc :: new ( test_utils:: TestChainSource :: new ( Network :: Bitcoin ) ) ;
1160
- let persister = Arc :: new ( FilesystemPersister :: new ( format ! ( "{}_persister_{}" , & persist_dir, i) ) ) ;
1185
+ let kv_store = Arc :: new ( FilesystemStore :: new ( format ! ( "{}_persister_{}" , & persist_dir, i) . into ( ) ) ) ;
1161
1186
let now = Duration :: from_secs ( genesis_block. header . time as u64 ) ;
1162
1187
let keys_manager = Arc :: new ( KeysManager :: new ( & seed, now. as_secs ( ) , now. subsec_nanos ( ) ) ) ;
1163
- let chain_monitor = Arc :: new ( chainmonitor:: ChainMonitor :: new ( Some ( chain_source. clone ( ) ) , tx_broadcaster. clone ( ) , logger. clone ( ) , fee_estimator. clone ( ) , persister . clone ( ) ) ) ;
1188
+ let chain_monitor = Arc :: new ( chainmonitor:: ChainMonitor :: new ( Some ( chain_source. clone ( ) ) , tx_broadcaster. clone ( ) , logger. clone ( ) , fee_estimator. clone ( ) , kv_store . clone ( ) ) ) ;
1164
1189
let best_block = BestBlock :: from_network ( network) ;
1165
1190
let params = ChainParameters { network, best_block } ;
1166
1191
let manager = Arc :: new ( ChannelManager :: new ( fee_estimator. clone ( ) , chain_monitor. clone ( ) , tx_broadcaster. clone ( ) , router. clone ( ) , logger. clone ( ) , keys_manager. clone ( ) , keys_manager. clone ( ) , keys_manager. clone ( ) , UserConfig :: default ( ) , params, genesis_block. header . time ) ) ;
@@ -1172,7 +1197,7 @@ mod tests {
1172
1197
onion_message_handler : IgnoringMessageHandler { } , custom_message_handler : IgnoringMessageHandler { }
1173
1198
} ;
1174
1199
let peer_manager = Arc :: new ( PeerManager :: new ( msg_handler, 0 , & seed, logger. clone ( ) , keys_manager. clone ( ) ) ) ;
1175
- let node = Node { node : manager, p2p_gossip_sync, rapid_gossip_sync, peer_manager, chain_monitor, persister , tx_broadcaster, network_graph, logger, best_block, scorer } ;
1200
+ let node = Node { node : manager, p2p_gossip_sync, rapid_gossip_sync, peer_manager, chain_monitor, kv_store , tx_broadcaster, network_graph, logger, best_block, scorer } ;
1176
1201
nodes. push ( node) ;
1177
1202
}
1178
1203
@@ -1267,7 +1292,7 @@ mod tests {
1267
1292
let tx = open_channel ! ( nodes[ 0 ] , nodes[ 1 ] , 100000 ) ;
1268
1293
1269
1294
// Initiate the background processors to watch each node.
1270
- let data_dir = nodes[ 0 ] . persister . get_data_dir ( ) ;
1295
+ let data_dir = nodes[ 0 ] . kv_store . get_data_dir ( ) ;
1271
1296
let persister = Arc :: new ( Persister :: new ( data_dir) ) ;
1272
1297
let event_handler = |_: _ | { } ;
1273
1298
let bg_processor = BackgroundProcessor :: start ( persister, event_handler, nodes[ 0 ] . chain_monitor . clone ( ) , nodes[ 0 ] . node . clone ( ) , nodes[ 0 ] . p2p_gossip_sync ( ) , nodes[ 0 ] . peer_manager . clone ( ) , nodes[ 0 ] . logger . clone ( ) , Some ( nodes[ 0 ] . scorer . clone ( ) ) ) ;
@@ -1332,7 +1357,7 @@ mod tests {
1332
1357
// `ChainMonitor::rebroadcast_pending_claims` is called every `REBROADCAST_TIMER`, and
1333
1358
// `PeerManager::timer_tick_occurred` every `PING_TIMER`.
1334
1359
let ( _, nodes) = create_nodes ( 1 , "test_timer_tick_called" ) ;
1335
- let data_dir = nodes[ 0 ] . persister . get_data_dir ( ) ;
1360
+ let data_dir = nodes[ 0 ] . kv_store . get_data_dir ( ) ;
1336
1361
let persister = Arc :: new ( Persister :: new ( data_dir) ) ;
1337
1362
let event_handler = |_: _ | { } ;
1338
1363
let bg_processor = BackgroundProcessor :: start ( persister, event_handler, nodes[ 0 ] . chain_monitor . clone ( ) , nodes[ 0 ] . node . clone ( ) , nodes[ 0 ] . no_gossip_sync ( ) , nodes[ 0 ] . peer_manager . clone ( ) , nodes[ 0 ] . logger . clone ( ) , Some ( nodes[ 0 ] . scorer . clone ( ) ) ) ;
@@ -1359,7 +1384,7 @@ mod tests {
1359
1384
let ( _, nodes) = create_nodes ( 2 , "test_persist_error" ) ;
1360
1385
open_channel ! ( nodes[ 0 ] , nodes[ 1 ] , 100000 ) ;
1361
1386
1362
- let data_dir = nodes[ 0 ] . persister . get_data_dir ( ) ;
1387
+ let data_dir = nodes[ 0 ] . kv_store . get_data_dir ( ) ;
1363
1388
let persister = Arc :: new ( Persister :: new ( data_dir) . with_manager_error ( std:: io:: ErrorKind :: Other , "test" ) ) ;
1364
1389
let event_handler = |_: _ | { } ;
1365
1390
let bg_processor = BackgroundProcessor :: start ( persister, event_handler, nodes[ 0 ] . chain_monitor . clone ( ) , nodes[ 0 ] . node . clone ( ) , nodes[ 0 ] . no_gossip_sync ( ) , nodes[ 0 ] . peer_manager . clone ( ) , nodes[ 0 ] . logger . clone ( ) , Some ( nodes[ 0 ] . scorer . clone ( ) ) ) ;
@@ -1379,7 +1404,7 @@ mod tests {
1379
1404
let ( _, nodes) = create_nodes ( 2 , "test_persist_error_sync" ) ;
1380
1405
open_channel ! ( nodes[ 0 ] , nodes[ 1 ] , 100000 ) ;
1381
1406
1382
- let data_dir = nodes[ 0 ] . persister . get_data_dir ( ) ;
1407
+ let data_dir = nodes[ 0 ] . kv_store . get_data_dir ( ) ;
1383
1408
let persister = Arc :: new ( Persister :: new ( data_dir) . with_manager_error ( std:: io:: ErrorKind :: Other , "test" ) ) ;
1384
1409
1385
1410
let bp_future = super :: process_events_async (
@@ -1405,7 +1430,7 @@ mod tests {
1405
1430
fn test_network_graph_persist_error ( ) {
1406
1431
// Test that if we encounter an error during network graph persistence, an error gets returned.
1407
1432
let ( _, nodes) = create_nodes ( 2 , "test_persist_network_graph_error" ) ;
1408
- let data_dir = nodes[ 0 ] . persister . get_data_dir ( ) ;
1433
+ let data_dir = nodes[ 0 ] . kv_store . get_data_dir ( ) ;
1409
1434
let persister = Arc :: new ( Persister :: new ( data_dir) . with_graph_error ( std:: io:: ErrorKind :: Other , "test" ) ) ;
1410
1435
let event_handler = |_: _ | { } ;
1411
1436
let bg_processor = BackgroundProcessor :: start ( persister, event_handler, nodes[ 0 ] . chain_monitor . clone ( ) , nodes[ 0 ] . node . clone ( ) , nodes[ 0 ] . p2p_gossip_sync ( ) , nodes[ 0 ] . peer_manager . clone ( ) , nodes[ 0 ] . logger . clone ( ) , Some ( nodes[ 0 ] . scorer . clone ( ) ) ) ;
@@ -1423,7 +1448,7 @@ mod tests {
1423
1448
fn test_scorer_persist_error ( ) {
1424
1449
// Test that if we encounter an error during scorer persistence, an error gets returned.
1425
1450
let ( _, nodes) = create_nodes ( 2 , "test_persist_scorer_error" ) ;
1426
- let data_dir = nodes[ 0 ] . persister . get_data_dir ( ) ;
1451
+ let data_dir = nodes[ 0 ] . kv_store . get_data_dir ( ) ;
1427
1452
let persister = Arc :: new ( Persister :: new ( data_dir) . with_scorer_error ( std:: io:: ErrorKind :: Other , "test" ) ) ;
1428
1453
let event_handler = |_: _ | { } ;
1429
1454
let bg_processor = BackgroundProcessor :: start ( persister, event_handler, nodes[ 0 ] . chain_monitor . clone ( ) , nodes[ 0 ] . node . clone ( ) , nodes[ 0 ] . no_gossip_sync ( ) , nodes[ 0 ] . peer_manager . clone ( ) , nodes[ 0 ] . logger . clone ( ) , Some ( nodes[ 0 ] . scorer . clone ( ) ) ) ;
@@ -1441,7 +1466,7 @@ mod tests {
1441
1466
fn test_background_event_handling ( ) {
1442
1467
let ( _, mut nodes) = create_nodes ( 2 , "test_background_event_handling" ) ;
1443
1468
let channel_value = 100000 ;
1444
- let data_dir = nodes[ 0 ] . persister . get_data_dir ( ) ;
1469
+ let data_dir = nodes[ 0 ] . kv_store . get_data_dir ( ) ;
1445
1470
let persister = Arc :: new ( Persister :: new ( data_dir. clone ( ) ) ) ;
1446
1471
1447
1472
// Set up a background event handler for FundingGenerationReady events.
@@ -1514,7 +1539,7 @@ mod tests {
1514
1539
#[ test]
1515
1540
fn test_scorer_persistence ( ) {
1516
1541
let ( _, nodes) = create_nodes ( 2 , "test_scorer_persistence" ) ;
1517
- let data_dir = nodes[ 0 ] . persister . get_data_dir ( ) ;
1542
+ let data_dir = nodes[ 0 ] . kv_store . get_data_dir ( ) ;
1518
1543
let persister = Arc :: new ( Persister :: new ( data_dir) ) ;
1519
1544
let event_handler = |_: _ | { } ;
1520
1545
let bg_processor = BackgroundProcessor :: start ( persister, event_handler, nodes[ 0 ] . chain_monitor . clone ( ) , nodes[ 0 ] . node . clone ( ) , nodes[ 0 ] . no_gossip_sync ( ) , nodes[ 0 ] . peer_manager . clone ( ) , nodes[ 0 ] . logger . clone ( ) , Some ( nodes[ 0 ] . scorer . clone ( ) ) ) ;
@@ -1586,7 +1611,7 @@ mod tests {
1586
1611
let ( sender, receiver) = std:: sync:: mpsc:: sync_channel ( 1 ) ;
1587
1612
1588
1613
let ( _, nodes) = create_nodes ( 2 , "test_not_pruning_network_graph_until_graph_sync_completion" ) ;
1589
- let data_dir = nodes[ 0 ] . persister . get_data_dir ( ) ;
1614
+ let data_dir = nodes[ 0 ] . kv_store . get_data_dir ( ) ;
1590
1615
let persister = Arc :: new ( Persister :: new ( data_dir) . with_graph_persistence_notifier ( sender) ) ;
1591
1616
1592
1617
let event_handler = |_: _ | { } ;
@@ -1605,7 +1630,7 @@ mod tests {
1605
1630
let ( sender, receiver) = std:: sync:: mpsc:: sync_channel ( 1 ) ;
1606
1631
1607
1632
let ( _, nodes) = create_nodes ( 2 , "test_not_pruning_network_graph_until_graph_sync_completion_async" ) ;
1608
- let data_dir = nodes[ 0 ] . persister . get_data_dir ( ) ;
1633
+ let data_dir = nodes[ 0 ] . kv_store . get_data_dir ( ) ;
1609
1634
let persister = Arc :: new ( Persister :: new ( data_dir) . with_graph_persistence_notifier ( sender) ) ;
1610
1635
1611
1636
let ( exit_sender, exit_receiver) = tokio:: sync:: watch:: channel ( ( ) ) ;
@@ -1745,7 +1770,7 @@ mod tests {
1745
1770
} ;
1746
1771
1747
1772
let ( _, nodes) = create_nodes ( 1 , "test_payment_path_scoring" ) ;
1748
- let data_dir = nodes[ 0 ] . persister . get_data_dir ( ) ;
1773
+ let data_dir = nodes[ 0 ] . kv_store . get_data_dir ( ) ;
1749
1774
let persister = Arc :: new ( Persister :: new ( data_dir) ) ;
1750
1775
let bg_processor = BackgroundProcessor :: start ( persister, event_handler, nodes[ 0 ] . chain_monitor . clone ( ) , nodes[ 0 ] . node . clone ( ) , nodes[ 0 ] . no_gossip_sync ( ) , nodes[ 0 ] . peer_manager . clone ( ) , nodes[ 0 ] . logger . clone ( ) , Some ( nodes[ 0 ] . scorer . clone ( ) ) ) ;
1751
1776
@@ -1778,7 +1803,7 @@ mod tests {
1778
1803
} ;
1779
1804
1780
1805
let ( _, nodes) = create_nodes ( 1 , "test_payment_path_scoring_async" ) ;
1781
- let data_dir = nodes[ 0 ] . persister . get_data_dir ( ) ;
1806
+ let data_dir = nodes[ 0 ] . kv_store . get_data_dir ( ) ;
1782
1807
let persister = Arc :: new ( Persister :: new ( data_dir) ) ;
1783
1808
1784
1809
let ( exit_sender, exit_receiver) = tokio:: sync:: watch:: channel ( ( ) ) ;
0 commit comments