mirror of
https://github.com/EasyTier/EasyTier.git
synced 2026-05-15 10:25:40 +00:00
Add lazy P2P demand tracking and need_p2p override (#2003)
- add lazy_p2p so nodes only start background P2P for peers that actually have recent business traffic - add need_p2p so specific peers can still request eager background P2P even when other nodes enable lazy mode - cover the new behavior with focused connector/peer-manager tests plus three-node integration tests that verify relay-to-direct route transition
This commit is contained in:
@@ -593,9 +593,12 @@ impl Instance {
|
||||
let mut direct_conn_manager =
|
||||
DirectConnectorManager::new(global_ctx.clone(), peer_manager.clone());
|
||||
direct_conn_manager.run();
|
||||
let direct_conn_manager = Arc::new(direct_conn_manager);
|
||||
|
||||
let udp_hole_puncher = UdpHolePunchConnector::new(peer_manager.clone());
|
||||
let tcp_hole_puncher = TcpHolePunchConnector::new(peer_manager.clone());
|
||||
let udp_hole_puncher =
|
||||
Arc::new(Mutex::new(UdpHolePunchConnector::new(peer_manager.clone())));
|
||||
let tcp_hole_puncher =
|
||||
Arc::new(Mutex::new(TcpHolePunchConnector::new(peer_manager.clone())));
|
||||
|
||||
let peer_center = Arc::new(PeerCenterInstance::new(peer_manager.clone()));
|
||||
|
||||
@@ -618,9 +621,9 @@ impl Instance {
|
||||
peer_manager,
|
||||
listener_manager,
|
||||
conn_manager,
|
||||
direct_conn_manager: Arc::new(direct_conn_manager),
|
||||
udp_hole_puncher: Arc::new(Mutex::new(udp_hole_puncher)),
|
||||
tcp_hole_puncher: Arc::new(Mutex::new(tcp_hole_puncher)),
|
||||
direct_conn_manager,
|
||||
udp_hole_puncher,
|
||||
tcp_hole_puncher,
|
||||
|
||||
ip_proxy: None,
|
||||
#[cfg(feature = "kcp")]
|
||||
|
||||
Reference in New Issue
Block a user