@@ -88,38 +88,44 @@ pub(crate) fn read_or_generate_seed_file(
8888}
8989
9090/// Read a previously persisted [`NetworkGraph`] from the store.
91- pub ( crate ) fn read_network_graph < L : Deref + Clone > (
91+ pub ( crate ) async fn read_network_graph < L : Deref + Clone > (
9292 kv_store : Arc < DynStore > , logger : L ,
9393) -> Result < NetworkGraph < L > , std:: io:: Error >
9494where
9595 L :: Target : LdkLogger ,
9696{
97- let mut reader = Cursor :: new ( KVStoreSync :: read (
98- & * kv_store,
99- NETWORK_GRAPH_PERSISTENCE_PRIMARY_NAMESPACE ,
100- NETWORK_GRAPH_PERSISTENCE_SECONDARY_NAMESPACE ,
101- NETWORK_GRAPH_PERSISTENCE_KEY ,
102- ) ?) ;
97+ let mut reader = Cursor :: new (
98+ KVStore :: read (
99+ & * kv_store,
100+ NETWORK_GRAPH_PERSISTENCE_PRIMARY_NAMESPACE ,
101+ NETWORK_GRAPH_PERSISTENCE_SECONDARY_NAMESPACE ,
102+ NETWORK_GRAPH_PERSISTENCE_KEY ,
103+ )
104+ . await ?,
105+ ) ;
103106 NetworkGraph :: read ( & mut reader, logger. clone ( ) ) . map_err ( |e| {
104107 log_error ! ( logger, "Failed to deserialize NetworkGraph: {}" , e) ;
105108 std:: io:: Error :: new ( std:: io:: ErrorKind :: InvalidData , "Failed to deserialize NetworkGraph" )
106109 } )
107110}
108111
109112/// Read a previously persisted [`ProbabilisticScorer`] from the store.
110- pub ( crate ) fn read_scorer < G : Deref < Target = NetworkGraph < L > > , L : Deref + Clone > (
113+ pub ( crate ) async fn read_scorer < G : Deref < Target = NetworkGraph < L > > , L : Deref + Clone > (
111114 kv_store : Arc < DynStore > , network_graph : G , logger : L ,
112115) -> Result < ProbabilisticScorer < G , L > , std:: io:: Error >
113116where
114117 L :: Target : LdkLogger ,
115118{
116119 let params = ProbabilisticScoringDecayParameters :: default ( ) ;
117- let mut reader = Cursor :: new ( KVStoreSync :: read (
118- & * kv_store,
119- SCORER_PERSISTENCE_PRIMARY_NAMESPACE ,
120- SCORER_PERSISTENCE_SECONDARY_NAMESPACE ,
121- SCORER_PERSISTENCE_KEY ,
122- ) ?) ;
120+ let mut reader = Cursor :: new (
121+ KVStore :: read (
122+ & * kv_store,
123+ SCORER_PERSISTENCE_PRIMARY_NAMESPACE ,
124+ SCORER_PERSISTENCE_SECONDARY_NAMESPACE ,
125+ SCORER_PERSISTENCE_KEY ,
126+ )
127+ . await ?,
128+ ) ;
123129 let args = ( params, network_graph, logger. clone ( ) ) ;
124130 ProbabilisticScorer :: read ( & mut reader, args) . map_err ( |e| {
125131 log_error ! ( logger, "Failed to deserialize scorer: {}" , e) ;
@@ -128,18 +134,21 @@ where
128134}
129135
130136/// Read previously persisted external pathfinding scores from the cache.
131- pub ( crate ) fn read_external_pathfinding_scores_from_cache < L : Deref > (
137+ pub ( crate ) async fn read_external_pathfinding_scores_from_cache < L : Deref > (
132138 kv_store : Arc < DynStore > , logger : L ,
133139) -> Result < ChannelLiquidities , std:: io:: Error >
134140where
135141 L :: Target : LdkLogger ,
136142{
137- let mut reader = Cursor :: new ( KVStoreSync :: read (
138- & * kv_store,
139- SCORER_PERSISTENCE_PRIMARY_NAMESPACE ,
140- SCORER_PERSISTENCE_SECONDARY_NAMESPACE ,
141- EXTERNAL_PATHFINDING_SCORES_CACHE_KEY ,
142- ) ?) ;
143+ let mut reader = Cursor :: new (
144+ KVStore :: read (
145+ & * kv_store,
146+ SCORER_PERSISTENCE_PRIMARY_NAMESPACE ,
147+ SCORER_PERSISTENCE_SECONDARY_NAMESPACE ,
148+ EXTERNAL_PATHFINDING_SCORES_CACHE_KEY ,
149+ )
150+ . await ?,
151+ ) ;
143152 ChannelLiquidities :: read ( & mut reader) . map_err ( |e| {
144153 log_error ! ( logger, "Failed to deserialize scorer: {}" , e) ;
145154 std:: io:: Error :: new ( std:: io:: ErrorKind :: InvalidData , "Failed to deserialize Scorer" )
@@ -175,63 +184,74 @@ where
175184}
176185
177186/// Read previously persisted events from the store.
178- pub ( crate ) fn read_event_queue < L : Deref + Clone > (
187+ pub ( crate ) async fn read_event_queue < L : Deref + Clone > (
179188 kv_store : Arc < DynStore > , logger : L ,
180189) -> Result < EventQueue < L > , std:: io:: Error >
181190where
182191 L :: Target : LdkLogger ,
183192{
184- let mut reader = Cursor :: new ( KVStoreSync :: read (
185- & * kv_store,
186- EVENT_QUEUE_PERSISTENCE_PRIMARY_NAMESPACE ,
187- EVENT_QUEUE_PERSISTENCE_SECONDARY_NAMESPACE ,
188- EVENT_QUEUE_PERSISTENCE_KEY ,
189- ) ?) ;
193+ let mut reader = Cursor :: new (
194+ KVStore :: read (
195+ & * kv_store,
196+ EVENT_QUEUE_PERSISTENCE_PRIMARY_NAMESPACE ,
197+ EVENT_QUEUE_PERSISTENCE_SECONDARY_NAMESPACE ,
198+ EVENT_QUEUE_PERSISTENCE_KEY ,
199+ )
200+ . await ?,
201+ ) ;
190202 EventQueue :: read ( & mut reader, ( kv_store, logger. clone ( ) ) ) . map_err ( |e| {
191203 log_error ! ( logger, "Failed to deserialize event queue: {}" , e) ;
192204 std:: io:: Error :: new ( std:: io:: ErrorKind :: InvalidData , "Failed to deserialize EventQueue" )
193205 } )
194206}
195207
196208/// Read previously persisted peer info from the store.
197- pub ( crate ) fn read_peer_info < L : Deref + Clone > (
209+ pub ( crate ) async fn read_peer_info < L : Deref + Clone > (
198210 kv_store : Arc < DynStore > , logger : L ,
199211) -> Result < PeerStore < L > , std:: io:: Error >
200212where
201213 L :: Target : LdkLogger ,
202214{
203- let mut reader = Cursor :: new ( KVStoreSync :: read (
204- & * kv_store,
205- PEER_INFO_PERSISTENCE_PRIMARY_NAMESPACE ,
206- PEER_INFO_PERSISTENCE_SECONDARY_NAMESPACE ,
207- PEER_INFO_PERSISTENCE_KEY ,
208- ) ?) ;
215+ let mut reader = Cursor :: new (
216+ KVStore :: read (
217+ & * kv_store,
218+ PEER_INFO_PERSISTENCE_PRIMARY_NAMESPACE ,
219+ PEER_INFO_PERSISTENCE_SECONDARY_NAMESPACE ,
220+ PEER_INFO_PERSISTENCE_KEY ,
221+ )
222+ . await ?,
223+ ) ;
209224 PeerStore :: read ( & mut reader, ( kv_store, logger. clone ( ) ) ) . map_err ( |e| {
210225 log_error ! ( logger, "Failed to deserialize peer store: {}" , e) ;
211226 std:: io:: Error :: new ( std:: io:: ErrorKind :: InvalidData , "Failed to deserialize PeerStore" )
212227 } )
213228}
214229
215230/// Read previously persisted payments information from the store.
216- pub ( crate ) fn read_payments < L : Deref > (
231+ pub ( crate ) async fn read_payments < L : Deref > (
217232 kv_store : Arc < DynStore > , logger : L ,
218233) -> Result < Vec < PaymentDetails > , std:: io:: Error >
219234where
220235 L :: Target : LdkLogger ,
221236{
222237 let mut res = Vec :: new ( ) ;
223238
224- for stored_key in KVStoreSync :: list (
239+ for stored_key in KVStore :: list (
225240 & * kv_store,
226241 PAYMENT_INFO_PERSISTENCE_PRIMARY_NAMESPACE ,
227242 PAYMENT_INFO_PERSISTENCE_SECONDARY_NAMESPACE ,
228- ) ? {
229- let mut reader = Cursor :: new ( KVStoreSync :: read (
230- & * kv_store,
231- PAYMENT_INFO_PERSISTENCE_PRIMARY_NAMESPACE ,
232- PAYMENT_INFO_PERSISTENCE_SECONDARY_NAMESPACE ,
233- & stored_key,
234- ) ?) ;
243+ )
244+ . await ?
245+ {
246+ let mut reader = Cursor :: new (
247+ KVStore :: read (
248+ & * kv_store,
249+ PAYMENT_INFO_PERSISTENCE_PRIMARY_NAMESPACE ,
250+ PAYMENT_INFO_PERSISTENCE_SECONDARY_NAMESPACE ,
251+ & stored_key,
252+ )
253+ . await ?,
254+ ) ;
235255 let payment = PaymentDetails :: read ( & mut reader) . map_err ( |e| {
236256 log_error ! ( logger, "Failed to deserialize PaymentDetails: {}" , e) ;
237257 std:: io:: Error :: new (
@@ -245,17 +265,20 @@ where
245265}
246266
247267/// Read `OutputSweeper` state from the store.
248- pub ( crate ) fn read_output_sweeper (
268+ pub ( crate ) async fn read_output_sweeper (
249269 broadcaster : Arc < Broadcaster > , fee_estimator : Arc < OnchainFeeEstimator > ,
250270 chain_data_source : Arc < ChainSource > , keys_manager : Arc < KeysManager > , kv_store : Arc < DynStore > ,
251271 logger : Arc < Logger > ,
252272) -> Result < Sweeper , std:: io:: Error > {
253- let mut reader = Cursor :: new ( KVStoreSync :: read (
254- & * kv_store,
255- OUTPUT_SWEEPER_PERSISTENCE_PRIMARY_NAMESPACE ,
256- OUTPUT_SWEEPER_PERSISTENCE_SECONDARY_NAMESPACE ,
257- OUTPUT_SWEEPER_PERSISTENCE_KEY ,
258- ) ?) ;
273+ let mut reader = Cursor :: new (
274+ KVStore :: read (
275+ & * kv_store,
276+ OUTPUT_SWEEPER_PERSISTENCE_PRIMARY_NAMESPACE ,
277+ OUTPUT_SWEEPER_PERSISTENCE_SECONDARY_NAMESPACE ,
278+ OUTPUT_SWEEPER_PERSISTENCE_KEY ,
279+ )
280+ . await ?,
281+ ) ;
259282 let args = (
260283 broadcaster,
261284 fee_estimator,
@@ -272,18 +295,21 @@ pub(crate) fn read_output_sweeper(
272295 Ok ( sweeper)
273296}
274297
275- pub ( crate ) fn read_node_metrics < L : Deref > (
298+ pub ( crate ) async fn read_node_metrics < L : Deref > (
276299 kv_store : Arc < DynStore > , logger : L ,
277300) -> Result < NodeMetrics , std:: io:: Error >
278301where
279302 L :: Target : LdkLogger ,
280303{
281- let mut reader = Cursor :: new ( KVStoreSync :: read (
282- & * kv_store,
283- NODE_METRICS_PRIMARY_NAMESPACE ,
284- NODE_METRICS_SECONDARY_NAMESPACE ,
285- NODE_METRICS_KEY ,
286- ) ?) ;
304+ let mut reader = Cursor :: new (
305+ KVStore :: read (
306+ & * kv_store,
307+ NODE_METRICS_PRIMARY_NAMESPACE ,
308+ NODE_METRICS_SECONDARY_NAMESPACE ,
309+ NODE_METRICS_KEY ,
310+ )
311+ . await ?,
312+ ) ;
287313 NodeMetrics :: read ( & mut reader) . map_err ( |e| {
288314 log_error ! ( logger, "Failed to deserialize NodeMetrics: {}" , e) ;
289315 std:: io:: Error :: new ( std:: io:: ErrorKind :: InvalidData , "Failed to deserialize NodeMetrics" )
0 commit comments