Fix a minor timing issue, load nodes at start with an old time
authorMatt Corallo <git@bluematt.me>
Wed, 2 Oct 2019 01:19:18 +0000 (21:19 -0400)
committerMatt Corallo <git@bluematt.me>
Wed, 2 Oct 2019 01:25:27 +0000 (21:25 -0400)
src/datastore.rs
src/main.rs

index 2f0e9a82d96297b8e72e3df45d742068dd2e4821..0e6dea3350357632170d86ae3262c6d3e8180c82 100644 (file)
@@ -234,6 +234,7 @@ impl Store {
                }
 
                let nodes_future = File::open(store.clone() + "/nodes").and_then(|f| {
+                       let start_time = Instant::now() - Duration::from_secs(60 * 60 * 24);
                        let mut res = nodes_uninitd!();
                        let l = BufReader::new(f).lines();
                        for line_res in l {
@@ -272,7 +273,7 @@ impl Store {
                                                }
                                        }
                                }
-                               res.state_next_scan[node.state.to_num() as usize].push((Instant::now(), sockaddr));
+                               res.state_next_scan[node.state.to_num() as usize].push((start_time, sockaddr));
                                res.nodes_to_state.insert(sockaddr, node);
                        }
                        future::ok(res)
index d25020e8bf904753ef89c4b21f51eceaf2cfc58c..f9de3d4e1b95f23a11d6c2c777db81570aff9c73 100644 (file)
@@ -283,7 +283,7 @@ fn scan_net() {
                let mut scan_nodes = store.get_next_scan_nodes();
                printer.add_line(format!("Got {} addresses to scan", scan_nodes.len()), false);
                if !scan_nodes.is_empty() {
-                       let per_iter_time = Duration::from_millis(datastore::SECS_PER_SCAN_RESULTS / scan_nodes.len() as u64);
+                       let per_iter_time = Duration::from_millis(datastore::SECS_PER_SCAN_RESULTS * 1000 / scan_nodes.len() as u64);
                        let mut iter_time = start_time;
 
                        for node in scan_nodes.drain(..) {