more logging output [CI SKIP]

This commit is contained in:
shimunn 2019-04-03 20:20:08 +02:00
parent e56376778d
commit 8e68c5c90c
2 changed files with 15 additions and 22 deletions

View File

@ -6,6 +6,8 @@ use std::thread;
use std::time::SystemTime;
pub trait EventListener {
fn name(&self) -> &'static str;
fn added<'a>(&self, peer: &'a Peer) {
self.connected(peer);
}
@ -22,6 +24,10 @@ pub trait EventListener {
}
impl EventListener for Vec<Box<EventListener>> {
fn name(&self) -> &'static str {
"List of Listeners"
}
fn added<'a>(&self, peer: &'a Peer) {
if cfg!(feature = "addrem") || cfg!(test) {
self.iter().for_each(|l| l.added(&peer));
@ -50,6 +56,9 @@ impl EventListener for Vec<Box<EventListener>> {
pub struct LogListener;
impl EventListener for LogListener {
fn name(&self) -> &'static str {
"Log"
}
fn connected<'a>(&self, peer: &'a Peer) {
println!("{} connected!", peer.key);
}
@ -134,6 +143,9 @@ impl ScriptListener {
}
impl EventListener for ScriptListener {
fn name(&self) -> &'static str {
"Script"
}
fn connected<'a>(&self, peer: &'a Peer) {
self.call_sub(vec!["connected", &self.peer_props(peer)]);
}

View File

@ -31,6 +31,7 @@ fn listeners(opts: &Opts) -> Vec<Box<EventListener>> {
if opts.log {
listeners.push(Box::new(LogListener));
}
println!("Enabled handlers: {}", (&listeners.iter().map(|l| l.name()).collect::<Vec<_>>()).join(", "));
listeners
}
@ -47,7 +48,6 @@ 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 = match controller.peers() {
@ -61,29 +61,10 @@ fn main() -> io::Result<()> {
}
res => res?,
};
/*println!("Connected peers:");
for peer in peers {
let peer = peer?;
if peer
.last_handshake
.map(|h| h.elapsed().unwrap() < timeout)
.unwrap_or(false)
{
println!("/\\{:?} {}",(timeout - peer.last_handshake.unwrap().elapsed().unwrap()), peer);
}
}*/
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);
@ -92,7 +73,7 @@ fn main() -> io::Result<()> {
peers_last = Some(peers);
}
let pause = interval - now.elapsed();
dbg!(interval - pause);
sleep(if pause > interval / 2 {
pause
} else {