From e26bdeb8c4731d8b9f3ebdc42bdeffd0795f0b48 Mon Sep 17 00:00:00 2001 From: riccardom Date: Wed, 30 Sep 2026 13:42:44 +0200 Subject: [PATCH] Renaming according to actual meanings --- client/internal/peer/conn.go | 11 +++++------ client/internal/peer/conn_status.go | 2 +- client/internal/peer/conn_status_eval_test.go | 18 +++++++++--------- 3 files changed, 15 insertions(+), 16 deletions(-) diff --git a/client/internal/peer/conn.go b/client/internal/peer/conn.go index c1ed23300..572279696 100644 --- a/client/internal/peer/conn.go +++ b/client/internal/peer/conn.go @@ -829,7 +829,7 @@ func (conn *Conn) isConnectedOnAllWay() (status guard.ConnStatus) { relayTransportConnected: conn.workerRelay.IsTransportConnected(), remoteSupportsICE: conn.handshaker.RemoteICESupported(), iceWorkerCreated: iceWorkerCreated, - iceStatusConnecting: conn.statusICE.Get() != worker.StatusDisconnected, + iceStatusConnected: conn.statusICE.Get() == worker.StatusConnected, iceInProgress: iceInProgress, }) } @@ -1042,20 +1042,19 @@ func evalConnStatus(in connStatusInputs) guard.ConnStatus { return boolToConnStatus(relayUsedAndUp) } - // ICE counts as "up" when the status is anything other than Disconnected, OR - // when a negotiation is currently in progress (so we don't spam offers while one is in flight). - iceUp := in.iceStatusConnecting || in.iceInProgress + // ICE counts as "running" when either connected or attempting to connect. + iceRunning := in.iceStatusConnected || in.iceInProgress // Relay side is acceptable if the peer doesn't rely on relay, or relay is connected. relayOK := !in.peerUsesRelay || in.relayConnected switch { - case iceUp && relayOK: + case iceRunning && relayOK: return guard.ConnStatusConnected case relayUsedAndUp: // Relay is up but ICE is down — partially connected. return guard.ConnStatusPartiallyConnected - case iceUp && !in.relayTransportConnected: + case iceRunning && !in.relayTransportConnected: // ICE is up and the shared relay transport is down — offers cannot restore it. return guard.ConnStatusPartiallyConnected default: diff --git a/client/internal/peer/conn_status.go b/client/internal/peer/conn_status.go index 271cfe41d..acf271534 100644 --- a/client/internal/peer/conn_status.go +++ b/client/internal/peer/conn_status.go @@ -23,7 +23,7 @@ type connStatusInputs struct { relayTransportConnected bool // the relay transport shared by all peers on that server is up remoteSupportsICE bool // remote peer sent ICE credentials iceWorkerCreated bool // local WorkerICE exists (false in force-relay mode) - iceStatusConnecting bool // statusICE is anything other than Disconnected + iceStatusConnected bool // statusICE reports Connected iceInProgress bool // a negotiation is currently in flight } diff --git a/client/internal/peer/conn_status_eval_test.go b/client/internal/peer/conn_status_eval_test.go index c6fd8a631..992541101 100644 --- a/client/internal/peer/conn_status_eval_test.go +++ b/client/internal/peer/conn_status_eval_test.go @@ -123,7 +123,7 @@ func TestEvalConnStatus_FullyAvailable(t *testing.T) { mutator: func(in *connStatusInputs) { in.peerUsesRelay = true in.relayConnected = true - in.iceStatusConnecting = true + in.iceStatusConnected = true }, want: guard.ConnStatusConnected, }, @@ -132,7 +132,7 @@ func TestEvalConnStatus_FullyAvailable(t *testing.T) { mutator: func(in *connStatusInputs) { in.peerUsesRelay = false in.relayConnected = false - in.iceStatusConnecting = true + in.iceStatusConnected = true }, want: guard.ConnStatusConnected, }, @@ -140,7 +140,7 @@ func TestEvalConnStatus_FullyAvailable(t *testing.T) { name: "ICE InProgress only, peer does NOT use relay", mutator: func(in *connStatusInputs) { in.peerUsesRelay = false - in.iceStatusConnecting = false + in.iceStatusConnected = false in.iceInProgress = true }, want: guard.ConnStatusConnected, @@ -150,7 +150,7 @@ func TestEvalConnStatus_FullyAvailable(t *testing.T) { mutator: func(in *connStatusInputs) { in.peerUsesRelay = true in.relayConnected = true - in.iceStatusConnecting = false + in.iceStatusConnected = false in.iceInProgress = false }, want: guard.ConnStatusPartiallyConnected, @@ -160,7 +160,7 @@ func TestEvalConnStatus_FullyAvailable(t *testing.T) { mutator: func(in *connStatusInputs) { in.peerUsesRelay = false in.relayConnected = false - in.iceStatusConnecting = false + in.iceStatusConnected = false in.iceInProgress = false }, want: guard.ConnStatusDisconnected, @@ -171,7 +171,7 @@ func TestEvalConnStatus_FullyAvailable(t *testing.T) { in.peerUsesRelay = true in.relayConnected = false in.relayTransportConnected = true - in.iceStatusConnecting = true + in.iceStatusConnected = true }, // The transport is fine, so the peer itself is unreachable over relay: it may have // moved to another server, and only an offer carries its new relay address. @@ -183,7 +183,7 @@ func TestEvalConnStatus_FullyAvailable(t *testing.T) { in.peerUsesRelay = true in.relayConnected = false in.relayTransportConnected = false - in.iceStatusConnecting = true + in.iceStatusConnected = true }, // ICE carries the traffic and the relay transport is restored by the relay client's // own guard, not by offers, so this must not trigger the aggressive retry. @@ -195,7 +195,7 @@ func TestEvalConnStatus_FullyAvailable(t *testing.T) { in.peerUsesRelay = true in.relayConnected = false in.relayTransportConnected = false - in.iceStatusConnecting = false + in.iceStatusConnected = false in.iceInProgress = false }, want: guard.ConnStatusDisconnected, @@ -205,7 +205,7 @@ func TestEvalConnStatus_FullyAvailable(t *testing.T) { mutator: func(in *connStatusInputs) { in.peerUsesRelay = false in.relayConnected = true // not actually used since peer doesn't rely on it - in.iceStatusConnecting = false + in.iceStatusConnected = false in.iceInProgress = false }, want: guard.ConnStatusDisconnected,