more logging output [CI SKIP]
This commit is contained in:
parent
e56376778d
commit
8e68c5c90c
@ -6,6 +6,8 @@ use std::thread;
|
|||||||
use std::time::SystemTime;
|
use std::time::SystemTime;
|
||||||
|
|
||||||
pub trait EventListener {
|
pub trait EventListener {
|
||||||
|
fn name(&self) -> &'static str;
|
||||||
|
|
||||||
fn added<'a>(&self, peer: &'a Peer) {
|
fn added<'a>(&self, peer: &'a Peer) {
|
||||||
self.connected(peer);
|
self.connected(peer);
|
||||||
}
|
}
|
||||||
@ -22,6 +24,10 @@ pub trait EventListener {
|
|||||||
}
|
}
|
||||||
|
|
||||||
impl EventListener for Vec<Box<EventListener>> {
|
impl EventListener for Vec<Box<EventListener>> {
|
||||||
|
fn name(&self) -> &'static str {
|
||||||
|
"List of Listeners"
|
||||||
|
}
|
||||||
|
|
||||||
fn added<'a>(&self, peer: &'a Peer) {
|
fn added<'a>(&self, peer: &'a Peer) {
|
||||||
if cfg!(feature = "addrem") || cfg!(test) {
|
if cfg!(feature = "addrem") || cfg!(test) {
|
||||||
self.iter().for_each(|l| l.added(&peer));
|
self.iter().for_each(|l| l.added(&peer));
|
||||||
@ -50,6 +56,9 @@ impl EventListener for Vec<Box<EventListener>> {
|
|||||||
pub struct LogListener;
|
pub struct LogListener;
|
||||||
|
|
||||||
impl EventListener for LogListener {
|
impl EventListener for LogListener {
|
||||||
|
fn name(&self) -> &'static str {
|
||||||
|
"Log"
|
||||||
|
}
|
||||||
fn connected<'a>(&self, peer: &'a Peer) {
|
fn connected<'a>(&self, peer: &'a Peer) {
|
||||||
println!("{} connected!", peer.key);
|
println!("{} connected!", peer.key);
|
||||||
}
|
}
|
||||||
@ -134,6 +143,9 @@ impl ScriptListener {
|
|||||||
}
|
}
|
||||||
|
|
||||||
impl EventListener for ScriptListener {
|
impl EventListener for ScriptListener {
|
||||||
|
fn name(&self) -> &'static str {
|
||||||
|
"Script"
|
||||||
|
}
|
||||||
fn connected<'a>(&self, peer: &'a Peer) {
|
fn connected<'a>(&self, peer: &'a Peer) {
|
||||||
self.call_sub(vec!["connected", &self.peer_props(peer)]);
|
self.call_sub(vec!["connected", &self.peer_props(peer)]);
|
||||||
}
|
}
|
||||||
|
@ -31,6 +31,7 @@ fn listeners(opts: &Opts) -> Vec<Box<EventListener>> {
|
|||||||
if opts.log {
|
if opts.log {
|
||||||
listeners.push(Box::new(LogListener));
|
listeners.push(Box::new(LogListener));
|
||||||
}
|
}
|
||||||
|
println!("Enabled handlers: {}", (&listeners.iter().map(|l| l.name()).collect::<Vec<_>>()).join(", "));
|
||||||
listeners
|
listeners
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -47,7 +48,6 @@ fn main() -> io::Result<()> {
|
|||||||
interval
|
interval
|
||||||
);
|
);
|
||||||
let mut peers_last: Option<HashMap<ECCKey, Peer>> = None;
|
let mut peers_last: Option<HashMap<ECCKey, Peer>> = None;
|
||||||
let start = SystemTime::now();
|
|
||||||
loop {
|
loop {
|
||||||
let now = Instant::now();
|
let now = Instant::now();
|
||||||
let peers = match controller.peers() {
|
let peers = match controller.peers() {
|
||||||
@ -61,29 +61,10 @@ fn main() -> io::Result<()> {
|
|||||||
}
|
}
|
||||||
res => res?,
|
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
|
let peers = peers
|
||||||
.map(|peer| peer.map(|peer_ok| (peer_ok.key.clone(), peer_ok)))
|
.map(|peer| peer.map(|peer_ok| (peer_ok.key.clone(), peer_ok)))
|
||||||
.collect::<io::Result<HashMap<_, _>>>()?;
|
.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 {
|
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);
|
||||||
|
|
||||||
@ -92,7 +73,7 @@ fn main() -> io::Result<()> {
|
|||||||
peers_last = Some(peers);
|
peers_last = Some(peers);
|
||||||
}
|
}
|
||||||
let pause = interval - now.elapsed();
|
let pause = interval - now.elapsed();
|
||||||
dbg!(interval - pause);
|
|
||||||
sleep(if pause > interval / 2 {
|
sleep(if pause > interval / 2 {
|
||||||
pause
|
pause
|
||||||
} else {
|
} else {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user