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 store = unsafe { DATA_STORE.as_ref().unwrap() };
let mut scan_nodes = store.get_next_scan_nodes();
let per_iter_time = Duration::from_millis(1000 / store.get_u64(U64Setting::ConnsPerSec));
let store = unsafe { DATA_STORE.as_ref().unwrap() };
let mut scan_nodes = store.get_next_scan_nodes();
let per_iter_time = Duration::from_millis(1000 / store.get_u64(U64Setting::ConnsPerSec));
for node in scan_nodes.drain(..) {
scan_node(iter_time, node);
iter_time += per_iter_time;
}
for node in scan_nodes.drain(..) {
scan_node(iter_time, node);
iter_time += per_iter_time;
}
let store = unsafe { DATA_STORE.as_ref().unwrap() };
store.save_data().then(|_| {
if !START_SHUTDOWN.load(Ordering::Relaxed) {
let store = unsafe { DATA_STORE.as_ref().unwrap() };
store.save_data().then(|_| {
if !START_SHUTDOWN.load(Ordering::Relaxed) {