public void RemoveConnection(ConnectionBase connection)
        {
            Guid connectionId = connection.Id;

            connections.TryRemove(connectionId, out _);
            connection.Dispose();
        }
Exemple #2
0
        public void RemoveConnection(ConnectionBase connection)
        {
            Guid connectionId = connection.Id;

            connections = new ConcurrentBag <ConnectionBase>(connections.Where(c => c.Id != connectionId));
            connection.Dispose();
        }
Exemple #3
0
        public void RemoveConnection(ConnectionBase connection)
        {
            try
            {
                connectionsLock.EnterWriteLock();
                Guid connectionId = connection.Id;
                connections.Remove(connectionId);
                subscriptionManager.RemoveConnectionSubscriptions(connectionId);
                messageSubscriptionManager.RemoveConnectionSubscriptions(connectionId);
                connection.Dispose();

                logger.LogInformation("Removed {ConnectionType} with ConnectionId {SapphireConnectionId}", connection, connection.Id);
                logger.LogDebug("Connection count: {ConnectionCount}", connections.Count);
            }
            finally
            {
                connectionsLock.ExitWriteLock();
            }
        }