Пример #1
0
        /// <summary>
        /// Unregisters a connection from monitoring.
        /// </summary>
        /// <param name="connectionHandler">The object that handles the connections.</param>
        public void Unregister(IConfirmConnections connectionHandler)
        {
            {
                Lokad.Enforce.Argument(() => connectionHandler);
            }

            lock (m_ConnectionHandlers)
            {
                IConfirmConnections handler;
                if (m_ConnectionHandlers.TryTake(out handler))
                {
                    return;
                }

                handler.OnConfirmChannelIntegrity -= HandleOnConfirmChannelIntegrity;
            }
        }
Пример #2
0
        /// <summary>
        /// Registers a new connection for monitoring.
        /// </summary>
        /// <param name="connectionHandler">The object that handles the connections.</param>
        public void Register(IConfirmConnections connectionHandler)
        {
            {
                Lokad.Enforce.Argument(() => connectionHandler);
            }

            lock (m_ConnectionHandlers)
            {
                IConfirmConnections handler;
                if (m_ConnectionHandlers.TryPeek(out handler))
                {
                    return;
                }

                connectionHandler.OnConfirmChannelIntegrity += HandleOnConfirmChannelIntegrity;
                m_ConnectionHandlers.Add(connectionHandler);
            }
        }