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

TryStartOperation() public method

public TryStartOperation ( CancellationToken userCancellationToken, CancellationToken &linkedCancellationToken ) : bool
userCancellationToken CancellationToken
linkedCancellationToken CancellationToken
return bool
            public bool TryStartOperation(CancellationToken userCancellationToken, out CancellationToken linkedCancellationToken)
            {
                linkedCancellationToken = CancellationToken.None;
                ThrowIfDisposed();

                lock (_thisLock)
                {
                    int operationsOutstanding = ++_operationsOutstanding;

                    if (operationsOutstanding == 1)
                    {
                        linkedCancellationToken = CreateLinkedCancellationToken(userCancellationToken);
                        return true;
                    }

                    Debug.Assert(operationsOutstanding >= 1, "'operationsOutstanding' must never be smaller than 1.");
                    return false;
                }
            }