basic main loop [CI SKIP]
This commit is contained in:
parent
9c5e14cd4e
commit
90f9d4cd36
@ -6,9 +6,30 @@ extern crate derive_builder;
|
|||||||
|
|
||||||
mod controller;
|
mod controller;
|
||||||
mod model;
|
mod model;
|
||||||
|
mod opts;
|
||||||
|
|
||||||
use controller::Userspace;
|
use controller::{Userspace};
|
||||||
|
use model::WireguardController;
|
||||||
|
use opts::Opts;
|
||||||
|
use std::io;
|
||||||
|
use structopt::StructOpt;
|
||||||
|
use std::thread::sleep;
|
||||||
|
use std::time::{Duration,Instant};
|
||||||
|
|
||||||
fn main() {
|
fn main() -> io::Result<()> {
|
||||||
let controller = Userspace::new("");
|
let opts = Opts::from_args();
|
||||||
|
let mut controller: Box<WireguardController> = Box::new(Userspace::new(opts.socket.clone()));
|
||||||
|
let interval = Duration::from_millis(opts.poll);
|
||||||
|
println!("Polling {} every {:?}", opts.socket.to_str().unwrap(), interval);
|
||||||
|
loop {
|
||||||
|
let now = Instant::now();
|
||||||
|
let peers = controller.peers()?;
|
||||||
|
for peer in peers {
|
||||||
|
dbg!(peer?);
|
||||||
|
}
|
||||||
|
let pause = interval - now.elapsed();
|
||||||
|
dbg!(pause);
|
||||||
|
sleep(if pause > interval/2 { pause } else {interval});
|
||||||
|
}
|
||||||
|
Ok(())
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user