public async ValueTask DisposeAsync() { await _lock.DisposeAsync(); _requestResponseHandler.Dispose(); _channelManager.Dispose(); await _stream.DisposeAsync(); }
public async ValueTask DisposeAsync() { await _lock.DisposeAsync(); _consumerManager.Dispose(); _producerManager.Dispose(); _requestResponseHandler.Dispose(); await _stream.DisposeAsync(); }
public async ValueTask DisposeAsync() { if (Interlocked.Exchange(ref _isDisposed, 1) != 0) { return; } await _lock.DisposeAsync().ConfigureAwait(false); _requestResponseHandler.Dispose(); _channelManager.Dispose(); await _stream.DisposeAsync().ConfigureAwait(false); }
public void Dispose() { _requestResponseHandler.Dispose(); foreach (var channel in _consumerChannels.RemoveAll()) { channel.Disconnected(); } foreach (var channel in _producerChannels.RemoveAll()) { channel.Disconnected(); } }