System.Net.WebSockets.WebSocketBase.OutstandingOperationHelper.CreateLinkedCancellationToken C# (CSharp) Method

CreateLinkedCancellationToken() private method

private CreateLinkedCancellationToken ( CancellationToken cancellationToken ) : CancellationToken
cancellationToken CancellationToken
return CancellationToken
            private CancellationToken CreateLinkedCancellationToken(CancellationToken cancellationToken)
            {
                CancellationTokenSource linkedCancellationTokenSource;

                if (cancellationToken == CancellationToken.None)
                {
                    linkedCancellationTokenSource = new CancellationTokenSource();
                }
                else
                {
                    linkedCancellationTokenSource = CancellationTokenSource.CreateLinkedTokenSource(cancellationToken,
                        new CancellationTokenSource().Token);
                }

                Debug.Assert(_cancellationTokenSource == null, "'_cancellationTokenSource' MUST be NULL.");
                _cancellationTokenSource = linkedCancellationTokenSource;

                return linkedCancellationTokenSource.Token;
            }