fixes for when removing a pair or client

This commit is contained in:
rootdarkarchon
2023-01-29 20:42:54 +01:00
parent d7cad81eb0
commit f68aa94dc3
2 changed files with 20 additions and 4 deletions

View File

@@ -87,7 +87,11 @@ public class PairManager : IDisposable
if (!_allClientPairs[item.Key].HasAnyConnection()) if (!_allClientPairs[item.Key].HasAnyConnection())
{ {
_allClientPairs.TryRemove(item.Key, out _); if (_allClientPairs.TryRemove(item.Key, out var pair))
{
pair.CachedPlayer?.Dispose();
pair.CachedPlayer = null;
}
} }
} }
RecreateLazy(); RecreateLazy();
@@ -197,6 +201,8 @@ public class PairManager : IDisposable
if (!pair.HasAnyConnection()) if (!pair.HasAnyConnection())
{ {
pair.CachedPlayer?.Dispose();
pair.CachedPlayer = null;
_allClientPairs.TryRemove(dto.User, out _); _allClientPairs.TryRemove(dto.User, out _);
} }
@@ -211,6 +217,8 @@ public class PairManager : IDisposable
pair.UserPair = null; pair.UserPair = null;
if (!pair.HasAnyConnection()) if (!pair.HasAnyConnection())
{ {
pair.CachedPlayer?.Dispose();
pair.CachedPlayer = null;
_allClientPairs.TryRemove(dto.User, out _); _allClientPairs.TryRemove(dto.User, out _);
} }
else else

View File

@@ -219,9 +219,17 @@ public partial class ApiController
Logger.Debug("Sending " + requestMessage.Method + " to " + requestMessage.RequestUri); Logger.Debug("Sending " + requestMessage.Method + " to " + requestMessage.RequestUri);
} }
if (ct != null) try
return await _httpClient.SendAsync(requestMessage, ct.Value).ConfigureAwait(false); {
return await _httpClient.SendAsync(requestMessage).ConfigureAwait(false); if (ct != null)
return await _httpClient.SendAsync(requestMessage, ct.Value).ConfigureAwait(false);
return await _httpClient.SendAsync(requestMessage).ConfigureAwait(false);
}
catch (Exception ex)
{
Logger.Error("Error during SendRequestInternal for " + requestMessage.RequestUri, ex);
throw;
}
} }
private async Task<HttpResponseMessage> SendRequestAsync<T>(HttpMethod method, Uri uri, T content, CancellationToken ct) where T : class private async Task<HttpResponseMessage> SendRequestAsync<T>(HttpMethod method, Uri uri, T content, CancellationToken ct) where T : class