nat4-nat4 punch (#388)

this patch optimize the udp hole punch logic:

1. allow start punch hole before stun test complete.
2. add lock to symmetric punch, avoid conflict between concurrent hole punching task.
3. support punching hole for predictable nat4-nat4.
4. make backoff of retry reasonable
This commit is contained in:
Sijie.Sun
2024-10-06 22:49:18 +08:00
committed by GitHub
parent ba3da97ad4
commit 37ceb77bf6
24 changed files with 2748 additions and 1310 deletions
+2 -2
View File
@@ -230,7 +230,7 @@ impl PeerCenterInstance {
let ret = client
.get_global_peer_map(
BaseController {},
BaseController::default(),
GetGlobalPeerMapRequest {
digest: ctx.job_ctx.global_peer_map_digest.load(),
},
@@ -307,7 +307,7 @@ impl PeerCenterInstance {
let ret = client
.report_peers(
BaseController {},
BaseController::default(),
ReportPeersRequest {
my_peer_id: my_node_id,
peer_infos: Some(peers),