mirror of
https://github.com/EasyTier/EasyTier.git
synced 2026-05-07 10:14:35 +00:00
release dashmap memory (#1485)
This commit is contained in:
@@ -21,10 +21,13 @@ use rand::RngCore;
|
||||
use tokio::{net::UdpSocket, sync::Mutex, task::JoinSet};
|
||||
|
||||
use super::TunnelInfo;
|
||||
use crate::tunnel::{
|
||||
build_url_from_socket_addr,
|
||||
common::TunnelWrapper,
|
||||
packet_def::{ZCPacket, WG_TUNNEL_HEADER_SIZE},
|
||||
use crate::{
|
||||
common::shrink_dashmap,
|
||||
tunnel::{
|
||||
build_url_from_socket_addr,
|
||||
common::TunnelWrapper,
|
||||
packet_def::{ZCPacket, WG_TUNNEL_HEADER_SIZE},
|
||||
},
|
||||
};
|
||||
|
||||
use super::{
|
||||
@@ -491,12 +494,13 @@ impl WgTunnelListener {
|
||||
) {
|
||||
let mut tasks = JoinSet::new();
|
||||
|
||||
let peer_map_clone = peer_map.clone();
|
||||
let peer_map_clone: Arc<DashMap<SocketAddr, Arc<WgPeer>>> = peer_map.clone();
|
||||
tasks.spawn(async move {
|
||||
loop {
|
||||
peer_map_clone.retain(|_, peer| {
|
||||
peer.access_time.load().elapsed().as_secs() < 61 && !peer.stopped()
|
||||
});
|
||||
shrink_dashmap(&peer_map_clone, None);
|
||||
tokio::time::sleep(Duration::from_secs(1)).await;
|
||||
}
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user