probeSyncServer method
Dial choice under the wallet's own Tor policy and ask the server who it
is (one round trip, 15 s budget). Throws typed —
WalletErrorKind.syncServerUnreachable, .networkMismatch,
.syncServerNotOffered, .invalidEndpoint (a custom URL the door
refuses) — and NEVER switches: the picker's "Check server" step. The
switch itself is the provisioner's (WalletProvisioner.switchSyncServer)
because it swaps the session.
Implementation
@override
Future<SyncServerProbe> probeSyncServer(SyncServerChoice choice) async {
probeCount++;
lastProbedChoice = choice;
final gate = probeGate;
if (gate != null) await gate.future;
if (probeThrows != null) throw probeThrows!;
return probeResult ?? const SyncServerProbe(tip: 3482911);
}