/// <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; } }
/// <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); } }