HealthMonitoring.Monitors.Nsb5.Rabbitmq.ResponseWaiter.GetResponseAsync C# (CSharp) Метод

GetResponseAsync() публичный Метод

public GetResponseAsync ( CancellationToken token ) : Task
token System.Threading.CancellationToken
Результат Task
        public async Task<GetStatusResponse> GetResponseAsync(CancellationToken token)
        {
            await Task.WhenAny(_source.Task, Task.Delay(_timeout, token));
            token.ThrowIfCancellationRequested();
            return _source.Task.IsCompleted ? _source.Task.Result : null;
        }

Usage Example

Пример #1
0
        public async Task<HealthInfo> CheckHealthAsync(string address, CancellationToken cancellationToken)
        {
            var requestId = Guid.NewGuid();
            using (var wait = new ResponseWaiter(requestId, _messageTimeout))
            {
                SendHealthRequest(address, requestId);
                var response = await wait.GetResponseAsync(cancellationToken);

                return response != null ? Healthy(response) : MessageTimeoutResponse;
            }
        }
All Usage Examples Of HealthMonitoring.Monitors.Nsb5.Rabbitmq.ResponseWaiter::GetResponseAsync