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:
KKRainbow
2026-03-23 09:38:57 +08:00
committed by GitHub
parent 2bfdd44759
commit 1d89ddbb16
22 changed files with 876 additions and 91 deletions
+2
View File
@@ -85,6 +85,8 @@ message NetworkConfig {
common.SecureModeConfig secure_mode = 55;
reserved 56;
optional string credential_file = 57;
optional bool lazy_p2p = 58;
optional bool need_p2p = 59;
}
message PortForwardConfig {
+4
View File
@@ -70,6 +70,9 @@ message FlagsInConfig {
bool p2p_only = 32;
bool disable_tcp_hole_punching = 34;
bool lazy_p2p = 37;
bool need_p2p = 38;
}
message RpcDescriptor {
@@ -217,6 +220,7 @@ message PeerFeatureFlag {
bool quic_input = 6;
bool no_relay_quic = 7;
bool is_credential_peer = 8;
bool need_p2p = 9;
}
enum SocketType {