aboutsummaryrefslogtreecommitdiffstats
path: root/src/wireguard/peer.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/wireguard/peer.rs')
-rw-r--r--src/wireguard/peer.rs22
1 files changed, 19 insertions, 3 deletions
diff --git a/src/wireguard/peer.rs b/src/wireguard/peer.rs
index e02d2e0..1af4df3 100644
--- a/src/wireguard/peer.rs
+++ b/src/wireguard/peer.rs
@@ -4,8 +4,8 @@ use super::timers::{Events, Timers};
use super::tun::Tun;
use super::udp::UDP;
-use super::wireguard::WireGuard;
use super::constants::REKEY_TIMEOUT;
+use super::wireguard::WireGuard;
use super::workers::HandshakeJob;
use std::fmt;
@@ -60,21 +60,31 @@ impl<T: Tun, B: UDP> PeerInner<T, B> {
* The function is ratelimited.
*/
pub fn packet_send_handshake_initiation(&self) {
- // the function is rate limited
+ log::trace!("{} : packet_send_handshake_initiation", self);
+ // the function is rate limited
{
let mut lhs = self.last_handshake_sent.lock();
if lhs.elapsed() < REKEY_TIMEOUT {
+ log::trace!("{} : packet_send_handshake_initiation, rate-limited!", self);
return;
}
*lhs = Instant::now();
}
// create a new handshake job for the peer
-
if !self.handshake_queued.swap(true, Ordering::SeqCst) {
self.wg.pending.fetch_add(1, Ordering::SeqCst);
self.wg.queue.send(HandshakeJob::New(self.pk));
+ log::trace!(
+ "{} : packet_send_handshake_initiation, handshake queued",
+ self
+ );
+ } else {
+ log::trace!(
+ "{} : packet_send_handshake_initiation, handshake already queued",
+ self
+ );
}
}
@@ -89,6 +99,12 @@ impl<T: Tun, B: UDP> PeerInner<T, B> {
}
}
+impl<T: Tun, B: UDP> fmt::Display for PeerInner<T, B> {
+ fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
+ write!(f, "peer(id = {})", self.id)
+ }
+}
+
impl<T: Tun, B: UDP> fmt::Display for Peer<T, B> {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
write!(f, "peer(id = {})", self.id)