Opc.Ua.Client.Session.RemoveRequest C# (CSharp) Method

RemoveRequest() private method

Removes a completed async request.
private RemoveRequest ( IAsyncResult result, uint requestId, uint typeId ) : AsyncRequestState
result IAsyncResult
requestId uint
typeId uint
return AsyncRequestState
        private AsyncRequestState RemoveRequest(IAsyncResult result, uint requestId, uint typeId)
        {
            lock (m_outstandingRequests)
            {
                for (LinkedListNode<AsyncRequestState> ii = m_outstandingRequests.First; ii != null; ii = ii.Next)
                {
                    if (Object.ReferenceEquals(result, ii.Value.Result) || (requestId == ii.Value.RequestId && typeId == ii.Value.RequestTypeId))
                    {
                        AsyncRequestState state = ii.Value;
                        m_outstandingRequests.Remove(ii);
                        return state;
                    }
                }

                return null;
            }
        }