remove workaround

This commit is contained in:
Stanley Dimant
2025-02-06 10:50:40 +01:00
parent 4c1247ef59
commit dc24a1071f

View File

@@ -39,7 +39,6 @@ public sealed partial class ApiController : DisposableMediatorSubscriberBase, IM
private HubConnection? _mareHub; private HubConnection? _mareHub;
private ServerState _serverState; private ServerState _serverState;
private CensusUpdateMessage? _lastCensus; private CensusUpdateMessage? _lastCensus;
private readonly SemaphoreSlim _zoneSwitchSemaphore = new(1, 1);
public ApiController(ILogger<ApiController> logger, HubFactory hubFactory, DalamudUtilService dalamudUtil, public ApiController(ILogger<ApiController> logger, HubFactory hubFactory, DalamudUtilService dalamudUtil,
PairManager pairManager, ServerConfigurationManager serverManager, MareMediator mediator, PairManager pairManager, ServerConfigurationManager serverManager, MareMediator mediator,
@@ -61,8 +60,6 @@ public sealed partial class ApiController : DisposableMediatorSubscriberBase, IM
Mediator.Subscribe<CyclePauseMessage>(this, (msg) => _ = CyclePauseAsync(msg.UserData)); Mediator.Subscribe<CyclePauseMessage>(this, (msg) => _ = CyclePauseAsync(msg.UserData));
Mediator.Subscribe<CensusUpdateMessage>(this, (msg) => _lastCensus = msg); Mediator.Subscribe<CensusUpdateMessage>(this, (msg) => _lastCensus = msg);
Mediator.Subscribe<PauseMessage>(this, (msg) => _ = PauseAsync(msg.UserData)); Mediator.Subscribe<PauseMessage>(this, (msg) => _ = PauseAsync(msg.UserData));
Mediator.Subscribe<ZoneSwitchStartMessage>(this, (msg) => _zoneSwitchSemaphore.Wait());
Mediator.Subscribe<ZoneSwitchEndMessage>(this, (msg) => _zoneSwitchSemaphore.Release());
ServerState = ServerState.Offline; ServerState = ServerState.Offline;
@@ -366,7 +363,6 @@ public sealed partial class ApiController : DisposableMediatorSubscriberBase, IM
_healthCheckTokenSource?.Cancel(); _healthCheckTokenSource?.Cancel();
_ = Task.Run(async () => await StopConnectionAsync(ServerState.Disconnected).ConfigureAwait(false)); _ = Task.Run(async () => await StopConnectionAsync(ServerState.Disconnected).ConfigureAwait(false));
_zoneSwitchSemaphore.Dispose();
_connectionCancellationTokenSource?.Cancel(); _connectionCancellationTokenSource?.Cancel();
} }
@@ -536,13 +532,6 @@ public sealed partial class ApiController : DisposableMediatorSubscriberBase, IM
private async Task<bool> RefreshTokenAsync(CancellationToken ct) private async Task<bool> RefreshTokenAsync(CancellationToken ct)
{ {
int zoneSwitchWaitAttempts = 0;
while (_zoneSwitchSemaphore.CurrentCount == 0 && zoneSwitchWaitAttempts <= 15)
{
Logger.LogTrace("Refresh Token - Waiting for Zone Switch Semaphore, attempt {attempt}", zoneSwitchWaitAttempts++);
await Task.Delay(TimeSpan.FromSeconds(1), ct).ConfigureAwait(false);
}
Logger.LogDebug("Checking token"); Logger.LogDebug("Checking token");
bool requireReconnect = false; bool requireReconnect = false;