// Copyright (c) ppy Pty Ltd . Licensed under the MIT Licence. // See the LICENCE file in the repository root for full licence text. #nullable enable using System; using Microsoft.AspNetCore.SignalR.Client; using osu.Framework.Bindables; using osu.Game.Online.API; namespace osu.Game.Online { /// /// A component that manages the life cycle of a connection to a SignalR Hub. /// Should generally be retrieved from an . /// public interface IHubClientConnector : IDisposable { /// /// The current connection opened by this connector. /// HubConnection? CurrentConnection { get; } /// /// Whether this is connected to the hub, use to access the connection, if this is true. /// IBindable IsConnected { get; } /// /// Invoked whenever a new hub connection is built, to configure it before it's started. /// public Action? ConfigureConnection { get; set; } } }