// Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System.Collections.Generic; namespace Microsoft.AspNetCore.SignalR { /// /// An abstraction that provides access to client connections. /// /// The client invoker type. public interface IHubClients { /// /// Gets a that can be used to invoke methods on all clients connected to the hub. /// /// A client caller. T All { get; } /// /// Gets a that can be used to invoke methods on all clients connected to the hub excluding the specified client connections. /// /// A collection of connection IDs to exclude. /// A client caller. T AllExcept(IReadOnlyList excludedConnectionIds); /// /// Gets a that can be used to invoke methods on the specified client connection. /// /// The connection ID. /// A client caller. T Client(string connectionId); /// /// Gets a that can be used to invoke methods on the specified client connections. /// /// The connection IDs. /// A client caller. T Clients(IReadOnlyList connectionIds); /// /// Gets a that can be used to invoke methods on all connections in the specified group. /// /// The group name. /// A client caller. T Group(string groupName); /// /// Gets a that can be used to invoke methods on all connections in all of the specified groups. /// /// The group names. /// A client caller. T Groups(IReadOnlyList groupNames); /// /// Gets a that can be used to invoke methods on all connections in the specified group excluding the specified connections. /// /// The group name. /// A collection of connection IDs to exclude. /// A client caller. T GroupExcept(string groupName, IReadOnlyList excludedConnectionIds); /// /// Gets a that can be used to invoke methods on all connections associated with the specified user. /// /// The user ID. /// A client caller. T User(string userId); /// /// Gets a that can be used to invoke methods on all connections associated with all of the specified users. /// /// The user IDs. /// A client caller. T Users(IReadOnlyList userIds); } }