use std::collections::HashMap;
use std::sync::{Arc, Mutex};
use std::sync::atomic::{Ordering, AtomicBool};
use std::collections::HashMap;
use std::sync::{Arc, Mutex};
use std::sync::atomic::{Ordering, AtomicBool};
let printer = unsafe { PRINTER.as_ref().unwrap() };
let store = unsafe { DATA_STORE.as_ref().unwrap() };
let printer = unsafe { PRINTER.as_ref().unwrap() };
let store = unsafe { DATA_STORE.as_ref().unwrap() };
let mut scan_nodes = store.get_next_scan_nodes();
printer.add_line(format!("Got {} addresses to scan", scan_nodes.len()), false);
let mut scan_nodes = store.get_next_scan_nodes();
printer.add_line(format!("Got {} addresses to scan", scan_nodes.len()), false);
- let per_iter_time = Duration::from_millis(1000 / store.get_u64(U64Setting::ConnsPerSec));
- let start_time = Instant::now();
- let mut iter_time = start_time;
+ if !scan_nodes.is_empty() {
+ let per_iter_time = Duration::from_millis(datastore::SECS_PER_SCAN_RESULTS / scan_nodes.len() as u64);
+ let mut iter_time = start_time;
- for node in scan_nodes.drain(..) {
- scan_node(iter_time, node, false);
- iter_time += per_iter_time;
+ for node in scan_nodes.drain(..) {
+ scan_node(iter_time, node, false);
+ iter_time += per_iter_time;
+ }