Update ts3j: survive packet loss during the handshake; allow 30 s to connect
Picks up the ts3j fixes for "mac check in EAX failed" disconnects on lossy links (retransmitted handshake packets now decrypt) and for the handshake stalling when clientek's ACK is lost, plus tolerating an empty client_servergroups. The connect timeout also covers downloading the channel list, which on a big server over mobile data can take longer than the previous 10 s. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -63,6 +63,12 @@ public final class TeamspeakConnection implements TS3Listener {
|
|||||||
/** Shortest gap between two "you are talking while muted" reminders. */
|
/** Shortest gap between two "you are talking while muted" reminders. */
|
||||||
private static final long MUTED_TALK_COOLDOWN_NANOS = 5_000_000_000L;
|
private static final long MUTED_TALK_COOLDOWN_NANOS = 5_000_000_000L;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* How long the handshake and initial download may take. That download includes the whole
|
||||||
|
* channel list, which on a big server over a lossy link (mobile data) takes a while.
|
||||||
|
*/
|
||||||
|
private static final long CONNECT_TIMEOUT_MS = 30_000L;
|
||||||
|
|
||||||
private final Settings settings;
|
private final Settings settings;
|
||||||
private final AudioBackend audio;
|
private final AudioBackend audio;
|
||||||
private final ServerModel model = new ServerModel();
|
private final ServerModel model = new ServerModel();
|
||||||
@@ -293,7 +299,7 @@ public final class TeamspeakConnection implements TS3Listener {
|
|||||||
ui.onStatus("Connecting to " + address + ":" + port + "…");
|
ui.onStatus("Connecting to " + address + ":" + port + "…");
|
||||||
client.connect(new InetSocketAddress(address, port),
|
client.connect(new InetSocketAddress(address, port),
|
||||||
(password == null || password.isEmpty()) ? null : password,
|
(password == null || password.isEmpty()) ? null : password,
|
||||||
10_000L);
|
CONNECT_TIMEOUT_MS);
|
||||||
|
|
||||||
// Protocol connection established; anything past this point is best-effort.
|
// Protocol connection established; anything past this point is best-effort.
|
||||||
selfClientId = client.getClientId();
|
selfClientId = client.getClientId();
|
||||||
|
|||||||
2
ts3j
2
ts3j
Submodule ts3j updated: b335c2c511...45cb8fd559
Reference in New Issue
Block a user