@@ -92,85 +92,101 @@ 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 ( |_| {
104- std:: io:: Error :: new ( std:: io:: ErrorKind :: InvalidData , "Failed to deserialize NetworkGraph" )
103+ NetworkGraph :: read ( & mut reader, logger. clone ( ) ) . map_err ( |e| {
104+ log_error ! ( logger, "Failed to deserialize network graph: {}" , e) ;
105+ std:: io:: Error :: new ( std:: io:: ErrorKind :: InvalidData , "Failed to deserialize network graph" )
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 ( |_| {
171+ . map_err ( |e| {
172+ log_error ! ( logger, "Failed to deserialize Payment: {}" , e) ;
161173 std:: io:: Error :: new ( std:: io:: ErrorKind :: InvalidData , "Failed to deserialize Payment" )
162174 } ) ?;
163175 res. push ( payment) ;
164176 }
165177 Ok ( res)
166178}
167179
168- pub ( crate ) fn read_latest_rgs_sync_timestamp < K : KVStore + Sync + Send > (
169- kv_store : Arc < K > ,
170- ) -> Result < u32 , std:: io:: Error > {
180+ pub ( crate ) fn read_latest_rgs_sync_timestamp < K : KVStore + Sync + Send , L : Deref > (
181+ kv_store : Arc < K > , logger : L ,
182+ ) -> Result < u32 , std:: io:: Error >
183+ where
184+ L :: Target : Logger ,
185+ {
171186 let mut reader =
172187 kv_store. read ( LATEST_RGS_SYNC_TIMESTAMP_NAMESPACE , LATEST_RGS_SYNC_TIMESTAMP_KEY ) ?;
173- u32:: read ( & mut reader) . map_err ( |_| {
188+ u32:: read ( & mut reader) . map_err ( |e| {
189+ log_error ! ( logger, "Failed to deserialize latest RGS sync timestamp: {}" , e) ;
174190 std:: io:: Error :: new (
175191 std:: io:: ErrorKind :: InvalidData ,
176192 "Failed to deserialize latest RGS sync timestamp" ,
@@ -199,15 +215,23 @@ where
199215 } )
200216}
201217
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 > {
218+ pub ( crate ) fn read_latest_node_ann_bcast_timestamp < K : KVStore + Sync + Send , L : Deref > (
219+ kv_store : Arc < K > , logger : L ,
220+ ) -> Result < u64 , std:: io:: Error >
221+ where
222+ L :: Target : Logger ,
223+ {
205224 let mut reader = kv_store
206225 . read ( LATEST_NODE_ANN_BCAST_TIMESTAMP_NAMESPACE , LATEST_NODE_ANN_BCAST_TIMESTAMP_KEY ) ?;
207- u64:: read ( & mut reader) . map_err ( |_| {
226+ u64:: read ( & mut reader) . map_err ( |e| {
227+ log_error ! (
228+ logger,
229+ "Failed to deserialize latest node announcement broadcast timestamp: {}" ,
230+ e
231+ ) ;
208232 std:: io:: Error :: new (
209233 std:: io:: ErrorKind :: InvalidData ,
210- "Failed to deserialize latest node announcment broadcast timestamp" ,
234+ "Failed to deserialize latest node announcement broadcast timestamp" ,
211235 )
212236 } )
213237}
0 commit comments