Fixed UI for TXT records, updated all dependencies, made better connectivity, added log info to network thread.

This commit is contained in:
Revertron
2024-07-10 20:15:10 +02:00
parent 28431ec053
commit de46148e01
9 changed files with 393 additions and 481 deletions
+33
View File
@@ -1,3 +1,4 @@
use std::fmt::Display;
use std::net::SocketAddr;
use std::time::Instant;
@@ -138,6 +139,18 @@ impl Peer {
}
pub fn active(&self) -> bool {
match &self.state {
State::Connected { from } => {
return from.elapsed().as_secs() < 5;
}
State::Idle { from } => {
return from.elapsed().as_secs() < 120;
}
State::ServerHandshake { from } => {
return from.elapsed().as_secs() < 10;
}
_ => {}
}
self.active && self.last_active.elapsed().as_secs() < 120
}
@@ -174,4 +187,24 @@ impl Peer {
self.addr.ip() == addr.ip()
}
}
}
impl Display for Peer {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
let state = match &self.state {
State::Connecting => "Connecting",
State::Connected { .. } => "Connected",
State::ServerHandshake { .. } => "ServerHandshake",
State::HandshakeFinished => "HandshakeFinished",
State::Idle { .. } => "Idle",
State::Message { .. } => "Message",
State::Error => "Error",
State::Banned => "Banned",
State::SendLoop => "SendLoop",
State::Loop => "Loop",
State::Twin => "Twin",
State::Offline { .. } => "Offline"
};
write!(f, "{:?} {}", &self.addr, state)
}
}