public override void Dispose() { if ((InternalState)Interlocked.Exchange(ref _state, (int)InternalState.Disposed) != InternalState.Disposed) { _innerWebSocket?.Dispose(); } }
public override void Dispose() { var priorState = (InternalState)Interlocked.Exchange(ref _state, (int)InternalState.Disposed); if (priorState == InternalState.Disposed) { // No cleanup required. return; } if (_innerWebSocket.IsValid) { _innerWebSocket.Dispose(); } }