예제 #1
0
 public void PermanentDisconnect(CircuitHost circuitHost)
 {
     if (ConnectedCircuits.TryRemove(circuitHost.CircuitId, out _))
     {
         Log.CircuitDisconnectedPermanently(_logger, circuitHost.CircuitId);
         circuitHost.Client.SetDisconnected();
     }
 }
예제 #2
0
 /// <summary>
 /// Registers an active <see cref="CircuitHost"/> with the register.
 /// </summary>
 public void Register(CircuitHost circuitHost)
 {
     if (!ConnectedCircuits.TryAdd(circuitHost.CircuitId, circuitHost))
     {
         // This will likely never happen, except perhaps in unit tests, since CircuitIds are unique.
         throw new ArgumentException($"Circuit with identity {circuitHost.CircuitId} is already registered.");
     }
 }
예제 #3
0
        /// <summary>
        /// Registers an active <see cref="CircuitHost"/> with the register.
        /// </summary>
        public void Register(CircuitHost circuitHost)
        {
            if (!ConnectedCircuits.TryAdd(circuitHost.CircuitId, circuitHost))
            {
                // This will likely never happen, except perhaps in unit tests, since CircuitIds are unique.
                throw new ArgumentException($"Circuit with identity {circuitHost.CircuitId} is already registered.");
            }

            // Register for unhandled exceptions from the circuit. The registry is responsible for tearing
            // down the circuit on errors.
            circuitHost.UnhandledException += CircuitHost_UnhandledException;
        }