mirror of
https://github.com/Caraxi/mare.server.git
synced 2025-12-13 21:34:15 +01:00
adjust to await foreach and adjust enqueue ident change
This commit is contained in:
parent
1c8f16fac0
commit
b58d882686
2 changed files with 6 additions and 6 deletions
|
|
@ -27,8 +27,8 @@ public class GrpcClientIdentificationService : IHostedService
|
||||||
private CancellationTokenSource _streamCts = new();
|
private CancellationTokenSource _streamCts = new();
|
||||||
private CancellationTokenSource _faultCheckCts = new();
|
private CancellationTokenSource _faultCheckCts = new();
|
||||||
|
|
||||||
public GrpcClientIdentificationService(ILogger<GrpcClientIdentificationService> logger, IdentificationService.IdentificationServiceClient gprcIdentClient,
|
public GrpcClientIdentificationService(ILogger<GrpcClientIdentificationService> logger, IdentificationService.IdentificationServiceClient gprcIdentClient,
|
||||||
IdentificationService.IdentificationServiceClient gprcIdentClientStreamOut,
|
IdentificationService.IdentificationServiceClient gprcIdentClientStreamOut,
|
||||||
IdentificationService.IdentificationServiceClient gprcIdentClientStreamIn, MareMetrics metrics, IConfiguration configuration)
|
IdentificationService.IdentificationServiceClient gprcIdentClientStreamIn, MareMetrics metrics, IConfiguration configuration)
|
||||||
{
|
{
|
||||||
var config = configuration.GetSection("MareSynchronos");
|
var config = configuration.GetSection("MareSynchronos");
|
||||||
|
|
@ -226,9 +226,8 @@ public class GrpcClientIdentificationService : IHostedService
|
||||||
{
|
{
|
||||||
ServerId = _shardName,
|
ServerId = _shardName,
|
||||||
});
|
});
|
||||||
while (await stream.ResponseStream.MoveNext(cts).ConfigureAwait(false))
|
await foreach (var cur in stream.ResponseStream.ReadAllAsync(cts).ConfigureAwait(false))
|
||||||
{
|
{
|
||||||
var cur = stream.ResponseStream.Current;
|
|
||||||
if (cur.IsOnline)
|
if (cur.IsOnline)
|
||||||
{
|
{
|
||||||
RemoteCachedIdents[cur.UidWithIdent.Uid.Uid] = cur.UidWithIdent;
|
RemoteCachedIdents[cur.UidWithIdent.Uid.Uid] = cur.UidWithIdent;
|
||||||
|
|
|
||||||
|
|
@ -148,9 +148,10 @@ internal class IdentityService : IdentificationService.IdentificationServiceBase
|
||||||
{
|
{
|
||||||
_logger.LogInformation("Enqueued " + identchange.UidWithIdent.Uid.Uid + ":" + identchange.IsOnline + " from " + identchange.UidWithIdent.Ident.ServerId);
|
_logger.LogInformation("Enqueued " + identchange.UidWithIdent.Uid.Uid + ":" + identchange.IsOnline + " from " + identchange.UidWithIdent.Ident.ServerId);
|
||||||
|
|
||||||
foreach (var dict in identChanges.Where(k => k.Key != identchange.UidWithIdent.Ident.ServerId))
|
foreach (var k in identChanges.Keys)
|
||||||
{
|
{
|
||||||
dict.Value.Enqueue(identchange);
|
if (string.Equals(k, identchange.UidWithIdent.Ident.ServerId, System.StringComparison.Ordinal)) continue;
|
||||||
|
identChanges[k].Enqueue(identchange);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue