@@ -92,85 +92,104 @@ where
9292}
9393
9494/// Read a previously persisted [`NetworkGraph`] from the store.
95- pub ( crate ) fn read_network_graph < K : KVStore + Sync + Send , L : Deref > (
95+ pub ( crate ) fn read_network_graph < K : KVStore + Sync + Send , L : Deref + Clone > (
9696 kv_store : Arc < K > , logger : L ,
9797) -> Result < NetworkGraph < L > , std:: io:: Error >
9898where
9999 L :: Target : Logger ,
100100{
101101 let mut reader =
102102 kv_store. read ( NETWORK_GRAPH_PERSISTENCE_NAMESPACE , NETWORK_GRAPH_PERSISTENCE_KEY ) ?;
103- NetworkGraph :: read ( & mut reader, logger) . map_err ( |_| {
103+ NetworkGraph :: read ( & mut reader, logger. clone ( ) ) . map_err ( |e| {
104+ log_error ! ( logger, "Failed to deserialize NetworkGraph: {}" , e) ;
104105 std:: io:: Error :: new ( std:: io:: ErrorKind :: InvalidData , "Failed to deserialize NetworkGraph" )
105106 } )
106107}
107108
108109/// Read a previously persisted [`Scorer`] from the store.
109- pub ( crate ) fn read_scorer < K : KVStore + Sync + Send , G : Deref < Target = NetworkGraph < L > > , L : Deref > (
110+ pub ( crate ) fn read_scorer <
111+ K : KVStore + Send + Sync ,
112+ G : Deref < Target = NetworkGraph < L > > ,
113+ L : Deref + Clone ,
114+ > (
110115 kv_store : Arc < K > , network_graph : G , logger : L ,
111116) -> Result < ProbabilisticScorer < G , L > , std:: io:: Error >
112117where
113118 L :: Target : Logger ,
114119{
115120 let params = ProbabilisticScoringParameters :: default ( ) ;
116121 let mut reader = kv_store. read ( SCORER_PERSISTENCE_NAMESPACE , SCORER_PERSISTENCE_KEY ) ?;
117- let args = ( params, network_graph, logger) ;
118- ProbabilisticScorer :: read ( & mut reader, args) . map_err ( |_| {
122+ let args = ( params, network_graph, logger. clone ( ) ) ;
123+ ProbabilisticScorer :: read ( & mut reader, args) . map_err ( |e| {
124+ log_error ! ( logger, "Failed to deserialize scorer: {}" , e) ;
119125 std:: io:: Error :: new ( std:: io:: ErrorKind :: InvalidData , "Failed to deserialize Scorer" )
120126 } )
121127}
122128
123129/// Read previously persisted events from the store.
124- pub ( crate ) fn read_event_queue < K : KVStore + Sync + Send , L : Deref > (
130+ pub ( crate ) fn read_event_queue < K : KVStore + Sync + Send , L : Deref + Clone > (
125131 kv_store : Arc < K > , logger : L ,
126132) -> Result < EventQueue < K , L > , std:: io:: Error >
127133where
128134 L :: Target : Logger ,
129135{
130136 let mut reader =
131137 kv_store. read ( EVENT_QUEUE_PERSISTENCE_NAMESPACE , EVENT_QUEUE_PERSISTENCE_KEY ) ?;
132- EventQueue :: read ( & mut reader, ( kv_store, logger) ) . map_err ( |_| {
138+ EventQueue :: read ( & mut reader, ( kv_store, logger. clone ( ) ) ) . map_err ( |e| {
139+ log_error ! ( logger, "Failed to deserialize event queue: {}" , e) ;
133140 std:: io:: Error :: new ( std:: io:: ErrorKind :: InvalidData , "Failed to deserialize EventQueue" )
134141 } )
135142}
136143
137144/// Read previously persisted peer info from the store.
138- pub ( crate ) fn read_peer_info < K : KVStore + Sync + Send , L : Deref > (
145+ pub ( crate ) fn read_peer_info < K : KVStore + Sync + Send , L : Deref + Clone > (
139146 kv_store : Arc < K > , logger : L ,
140147) -> Result < PeerStore < K , L > , std:: io:: Error >
141148where
142149 L :: Target : Logger ,
143150{
144151 let mut reader = kv_store. read ( PEER_INFO_PERSISTENCE_NAMESPACE , PEER_INFO_PERSISTENCE_KEY ) ?;
145- PeerStore :: read ( & mut reader, ( kv_store, logger) ) . map_err ( |_| {
152+ PeerStore :: read ( & mut reader, ( kv_store, logger. clone ( ) ) ) . map_err ( |e| {
153+ log_error ! ( logger, "Failed to deserialize peer store: {}" , e) ;
146154 std:: io:: Error :: new ( std:: io:: ErrorKind :: InvalidData , "Failed to deserialize PeerStore" )
147155 } )
148156}
149157
150158/// Read previously persisted payments information from the store.
151- pub ( crate ) fn read_payments < K : KVStore + Sync + Send > (
152- kv_store : Arc < K > ,
153- ) -> Result < Vec < PaymentDetails > , std:: io:: Error > {
159+ pub ( crate ) fn read_payments < K : KVStore + Sync + Send , L : Deref > (
160+ kv_store : Arc < K > , logger : L ,
161+ ) -> Result < Vec < PaymentDetails > , std:: io:: Error >
162+ where
163+ L :: Target : Logger ,
164+ {
154165 let mut res = Vec :: new ( ) ;
155166
156167 for stored_key in kv_store. list ( PAYMENT_INFO_PERSISTENCE_NAMESPACE ) ? {
157168 let payment = PaymentDetails :: read (
158169 & mut kv_store. read ( PAYMENT_INFO_PERSISTENCE_NAMESPACE , & stored_key) ?,
159170 )
160- . map_err ( |_| {
161- std:: io:: Error :: new ( std:: io:: ErrorKind :: InvalidData , "Failed to deserialize Payment" )
171+ . map_err ( |e| {
172+ log_error ! ( logger, "Failed to deserialize PaymentDetails: {}" , e) ;
173+ std:: io:: Error :: new (
174+ std:: io:: ErrorKind :: InvalidData ,
175+ "Failed to deserialize PaymentDetails" ,
176+ )
162177 } ) ?;
163178 res. push ( payment) ;
164179 }
165180 Ok ( res)
166181}
167182
168- pub ( crate ) fn read_latest_rgs_sync_timestamp < K : KVStore + Sync + Send > (
169- kv_store : Arc < K > ,
170- ) -> Result < u32 , std:: io:: Error > {
183+ pub ( crate ) fn read_latest_rgs_sync_timestamp < K : KVStore + Sync + Send , L : Deref > (
184+ kv_store : Arc < K > , logger : L ,
185+ ) -> Result < u32 , std:: io:: Error >
186+ where
187+ L :: Target : Logger ,
188+ {
171189 let mut reader =
172190 kv_store. read ( LATEST_RGS_SYNC_TIMESTAMP_NAMESPACE , LATEST_RGS_SYNC_TIMESTAMP_KEY ) ?;
173- u32:: read ( & mut reader) . map_err ( |_| {
191+ u32:: read ( & mut reader) . map_err ( |e| {
192+ log_error ! ( logger, "Failed to deserialize latest RGS sync timestamp: {}" , e) ;
174193 std:: io:: Error :: new (
175194 std:: io:: ErrorKind :: InvalidData ,
176195 "Failed to deserialize latest RGS sync timestamp" ,
@@ -199,15 +218,23 @@ where
199218 } )
200219}
201220
202- pub ( crate ) fn read_latest_node_ann_bcast_timestamp < K : KVStore + Sync + Send > (
203- kv_store : Arc < K > ,
204- ) -> Result < u64 , std:: io:: Error > {
221+ pub ( crate ) fn read_latest_node_ann_bcast_timestamp < K : KVStore + Sync + Send , L : Deref > (
222+ kv_store : Arc < K > , logger : L ,
223+ ) -> Result < u64 , std:: io:: Error >
224+ where
225+ L :: Target : Logger ,
226+ {
205227 let mut reader = kv_store
206228 . read ( LATEST_NODE_ANN_BCAST_TIMESTAMP_NAMESPACE , LATEST_NODE_ANN_BCAST_TIMESTAMP_KEY ) ?;
207- u64:: read ( & mut reader) . map_err ( |_| {
229+ u64:: read ( & mut reader) . map_err ( |e| {
230+ log_error ! (
231+ logger,
232+ "Failed to deserialize latest node announcement broadcast timestamp: {}" ,
233+ e
234+ ) ;
208235 std:: io:: Error :: new (
209236 std:: io:: ErrorKind :: InvalidData ,
210- "Failed to deserialize latest node announcment broadcast timestamp" ,
237+ "Failed to deserialize latest node announcement broadcast timestamp" ,
211238 )
212239 } )
213240}
0 commit comments