move loop out of update_state()
This commit is contained in:
parent
9735b4804a
commit
a7427578ad
11
src/main.rs
11
src/main.rs
|
@ -352,7 +352,6 @@ impl NtpServer {
|
|||
}
|
||||
|
||||
fn update_state(state: Arc<Mutex<NtpServerState>>, addr: SocketAddr, debug: bool) {
|
||||
loop {
|
||||
let udp_builder = UdpBuilder::new_v4().unwrap();
|
||||
let socket = udp_builder.bind("0.0.0.0:0").unwrap();
|
||||
let request = NtpPacket::new_request(addr);
|
||||
|
@ -402,16 +401,12 @@ impl NtpServer {
|
|||
|
||||
state.dispersion.increment();
|
||||
}
|
||||
|
||||
if let Some(_) = new_state {
|
||||
thread::sleep(Duration::new(1, 0));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fn run(&self) {
|
||||
let mut threads = vec![];
|
||||
let mut id = 0;
|
||||
let quit = false;
|
||||
|
||||
for socket in &self.sockets {
|
||||
id = id + 1;
|
||||
|
@ -422,8 +417,12 @@ impl NtpServer {
|
|||
threads.push(thread::spawn(move || {NtpServer::process_requests(id, debug, cloned_socket, state); }));
|
||||
}
|
||||
|
||||
while ! quit {
|
||||
NtpServer::update_state(self.state.clone(), self.server_addr.parse().unwrap(), self.debug);
|
||||
|
||||
thread::sleep(Duration::new(1, 0));
|
||||
}
|
||||
|
||||
for thread in threads {
|
||||
let _ = thread.join();
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue