public async Task DisableMethodsAsync(TimeSpan timeout) { if (Logging.IsEnabled) Logging.Enter(this, timeout, $"{nameof(DisableMethodsAsync)}"); Debug.Assert(_methodSendingLink != null); Debug.Assert(_methodReceivingLink != null); try { ICollection<Task> tasks = new List<Task>(); if (_methodReceivingLink != null) { tasks.Add(_methodReceivingLink.CloseAsync(timeout)); } if (_methodSendingLink != null) { tasks.Add(_methodSendingLink.CloseAsync(timeout)); } if (tasks.Count > 0) { await Task.WhenAll(tasks).ConfigureAwait(false); _methodReceivingLink = null; _methodSendingLink = null; } } finally { if (Logging.IsEnabled) Logging.Exit(this, timeout, $"{nameof(DisableMethodsAsync)}"); } }
internal Task CloseAsync(TimeSpan timeout) { return(_receivingAmqpLink.CloseAsync(timeout)); }
internal Task CloseAsync(CancellationToken cancellationToken) { return(_receivingAmqpLink.CloseAsync(cancellationToken)); }