Opc.Ua.Server.RequestManager.CancelRequests C# (CSharp) Method

CancelRequests() public method

Called when the client wishes to cancel one or more requests.
public CancelRequests ( uint requestHandle, uint &cancelCount ) : void
requestHandle uint
cancelCount uint
return void
        public void CancelRequests(uint requestHandle, out uint cancelCount)
        {
            List<uint> cancelledRequests = new List<uint>();

            // flag requests as cancelled.
            lock (m_requests)
            {      
                foreach (OperationContext request in m_requests.Values)
                {
                    if (request.ClientHandle == requestHandle)
                    {
                        request.SetStatusCode(StatusCodes.BadRequestCancelledByRequest);
                        cancelledRequests.Add(request.RequestId);
                    }
                }
            }

            // return the number of requests found.
            cancelCount = (uint)cancelledRequests.Count;

            // raise notifications.
            lock (m_lock)
            {   
                for (int ii = 0; ii < cancelledRequests.Count; ii++)
                {
                    if (m_RequestCancelled != null)
                    {
                        try
                        {
                            m_RequestCancelled(this, cancelledRequests[ii], StatusCodes.BadRequestCancelledByRequest);
                        }
                        catch (Exception e)
                        {
                            Utils.Trace(e, "Unexpected error reporting RequestCancelled event.");
                        }                        
                    }
                }
            }
        }
        #endregion