improved timeout detection [CI SKIP]
This commit is contained in:
parent
a64fa75170
commit
e7999b0951
2
wg-event-gen/Cargo.lock
generated
2
wg-event-gen/Cargo.lock
generated
@ -1,3 +1,5 @@
|
||||
# This file is automatically @generated by Cargo.
|
||||
# It is not intended for manual editing.
|
||||
[[package]]
|
||||
name = "ansi_term"
|
||||
version = "0.11.0"
|
||||
|
@ -34,6 +34,7 @@ impl WireguardController for Userspace {
|
||||
let mut peer: Option<Peer> = None;
|
||||
let build_peer = |peer: &mut Option<Peer>, builder: &mut PeerBuilder| -> Result<()> {
|
||||
if builder.has_key() {
|
||||
//Threat as uninitialized otherwise
|
||||
let built: Result<Peer> = parse_err(builder.build());
|
||||
*peer = Some(built?);
|
||||
*builder = PeerBuilder::default();
|
||||
|
@ -19,7 +19,7 @@ use opts::Opts;
|
||||
use std::collections::HashMap;
|
||||
use std::io;
|
||||
use std::thread::sleep;
|
||||
use std::time::{Duration, Instant};
|
||||
use std::time::{Duration, SystemTime,Instant, UNIX_EPOCH};
|
||||
use structopt::StructOpt;
|
||||
|
||||
fn listeners(opts: &Opts) -> Vec<Box<EventListener>> {
|
||||
@ -46,6 +46,7 @@ fn main() -> io::Result<()> {
|
||||
interval
|
||||
);
|
||||
let mut peers_last: Option<HashMap<ECCKey, Peer>> = None;
|
||||
let start = SystemTime::now();
|
||||
loop {
|
||||
let now = Instant::now();
|
||||
let peers = controller.peers()?;
|
||||
@ -63,10 +64,18 @@ fn main() -> io::Result<()> {
|
||||
let peers = peers
|
||||
.map(|peer| peer.map(|peer_ok| (peer_ok.key.clone(), peer_ok)))
|
||||
.collect::<io::Result<HashMap<_, _>>>()?;
|
||||
for (k, p) in peers.iter() {
|
||||
if let Some(shake) = p.last_handshake {
|
||||
println!(
|
||||
"{} {:?}",
|
||||
k.to_string()[0..5].to_string(),
|
||||
shake.duration_since(start).unwrap()
|
||||
);
|
||||
}
|
||||
}
|
||||
if let Some(ref mut peers_last) = peers_last {
|
||||
|
||||
gen_events(&peers, &peers_last, &listeners, timeout, interval);
|
||||
|
||||
gen_events(&peers, &peers_last, &listeners, timeout, interval);
|
||||
|
||||
*peers_last = peers;
|
||||
} else {
|
||||
peers_last = Some(peers);
|
||||
|
@ -1 +1 @@
|
||||
cargo build --release && cat target/release/wg-event-gen | ssh core@ks1 "sudo bash -c 'cat > /srv/vpn/wireguard/event-gen'"
|
||||
cargo +nightly build && cat target/release/wg-event-gen | ssh core@ks1 "sudo bash -c 'rm -f /srv/vpn/wireguard/event-gen; cat > /srv/vpn/wireguard/event-gen; chmod +x /srv/vpn/wireguard/event-gen'"
|
||||
|
Loading…
x
Reference in New Issue
Block a user