protected override void AbortClient(GrpcCommunicationClient <TClient> client) { var channel = client.ChannelEntry.Channel; Log.LogDebug("Abort client {Id} for: {Target}, {Resolved}, {State}", client.Id, channel.Target, channel.ResolvedTarget, channel.State); client.ChannelEntry.ShutdownAsync().Wait(); }
protected override Task <GrpcCommunicationClient <TClient> > CreateClientAsync(string endpoint, CancellationToken cancellationToken) { Log.LogTrace("Create client for {Endpoint}", endpoint); var channelEntry = _channelCache.GetOrCreate(endpoint); var client = _creator(channelEntry.Channel); var communicationClient = new GrpcCommunicationClient <TClient>(endpoint, channelEntry, client); Log.LogTrace("Created client {Id} for {Endpoint}", communicationClient.Id, endpoint); return(Task.FromResult(communicationClient)); }
protected override bool ValidateClient(string endpoint, GrpcCommunicationClient <TClient> client) => endpoint == client.ConnectionAddress && ValidateClient(client);
protected override bool ValidateClient(GrpcCommunicationClient <TClient> client) => client.ChannelEntry.Validate(Log);