+
+pub(crate) fn read_network(
+ path: &Path, network: Network, logger: Arc<FilesystemLogger>,
+) -> NetworkGraph {
+ if let Ok(file) = File::open(path) {
+ if let Ok(graph) = NetworkGraph::read(&mut BufReader::new(file), logger.clone()) {
+ return graph;
+ }
+ }
+ NetworkGraph::new(network, logger)
+}
+
+pub(crate) fn read_payment_info(path: &Path) -> PaymentInfoStorage {
+ if let Ok(file) = File::open(path) {
+ if let Ok(info) = PaymentInfoStorage::read(&mut BufReader::new(file)) {
+ return info;
+ }
+ }
+ PaymentInfoStorage { payments: HashMap::new() }
+}
+
+pub(crate) fn read_scorer(
+ path: &Path, graph: Arc<NetworkGraph>, logger: Arc<FilesystemLogger>,
+) -> ProbabilisticScorer<Arc<NetworkGraph>, Arc<FilesystemLogger>> {
+ let params = ProbabilisticScoringDecayParameters::default();
+ if let Ok(file) = File::open(path) {
+ let args = (params.clone(), Arc::clone(&graph), Arc::clone(&logger));
+ if let Ok(scorer) = ProbabilisticScorer::read(&mut BufReader::new(file), args) {
+ return scorer;
+ }
+ }
+ ProbabilisticScorer::new(params, graph, logger)
+}