Opc.Ua.Com.Server.AeConditionManager.ProcessEvent C# (CSharp) Method

ProcessEvent() public method

Processes an event (assigns a cookie if acknowledgment is required).
public ProcessEvent ( AeEvent e ) : void
e AeEvent
return void
        public void ProcessEvent(AeEvent e)
        {
            if (NodeId.IsNull(e.ConditionId))
            {
                return;
            }

            lock (m_lock)
            {
                string conditionId = GetConditionId(e);

                // assign a cookie to the condition/branch.
                int cookie = 0;

                if (!m_cookies.TryGetValue(conditionId, out cookie))
                {
                    cookie = ++m_counter;
                    m_cookies[conditionId] = cookie;
                }

                // remove acked events.
                if (e.AckedState)
                {
                    m_events.Remove(cookie);
                    m_cookies.Remove(conditionId);
                }

                // save event for acking.
                else
                {
                    m_events[cookie] = e;
                    e.Cookie = cookie;
                }
            }
        }