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

OnTimerExpired() private method

Checks for any expired requests and changes their status.
private OnTimerExpired ( object state ) : void
state object
return void
        private void OnTimerExpired(object state)
        {
            List<uint> expiredRequests = new List<uint>();

            // flag requests as expired.
            lock (m_requests)
            {      
                foreach (OperationContext request in m_requests.Values)
                {
                    if (request.OperationDeadline < DateTime.UtcNow)
                    {
                        request.SetStatusCode(StatusCodes.BadTimeout);
                        expiredRequests.Add(request.RequestId);
                    }
                }
            }

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