Release cold priority after a completed partial measurement
This commit is contained in:
1 parent
a32eef9ed1
commit
d2b96d1340
2 files changed
+6
-1
No files matched your search
@@ -1235,6 +1235,7 @@ uint64_t nat_detection_probe_delay(struct NAT_DETECTION *detector) {
|
||||
for (struct nat_socket *state = detector->sockets; state; state = state->next) {
|
||||
if (state->socket->is_tcp || !state->reservation_fingerprint || state->cold_until <= now ||
|
||||
(!detector->automatic && !state->phase && !state->forced) ||
|
||||
(state->completed_tb && !state->phase && !state->cycling && !state->forced && state->due > now + 2500) ||
|
||||
(state->measured_profile.source == ADDRESS_SOURCE_ETCP && state->measured_profile.mapping && state->measured_profile.inbound))
|
||||
continue;
|
||||
if (state->cold_until - now > delay) delay = state->cold_until - now;
|
||||
@@ -1250,6 +1251,7 @@ int nat_detection_ping_allowed(struct NAT_DETECTION *detector, struct ETCP_SOCKE
|
||||
struct nat_socket *state = socket_state(detector, socket, 0);
|
||||
if (!state || (!state->reservation_fingerprint && !state->available_fingerprint) || state->cold_until <= get_time_tb() ||
|
||||
(!detector->automatic && !state->phase && !state->forced) ||
|
||||
(state->completed_tb && !state->phase && !state->cycling && !state->forced && state->due > get_time_tb() + 2500) ||
|
||||
(state->measured_profile.source == ADDRESS_SOURCE_ETCP && state->measured_profile.mapping && state->measured_profile.inbound)) return 1;
|
||||
uint64_t peer = sc_derive_node_id_from_pubkey(peer_key);
|
||||
if (!(flags & ETCP_PING_FLAG_OBSERVE)) {
|
||||
|
||||
Reference in new issue
Block a user