// Copyright (c) ppy Pty Ltd . Licensed under the MIT Licence. // See the LICENCE file in the repository root for full licence text. using System.Threading.Tasks; namespace osu.Game.Online { /// /// Common interface for clients of "stateful user hubs", i.e. server-side hubs /// that preserve user state. /// In the case of such hubs, concurrency constraints are enforced (only one client /// can be connected at a time). /// public interface IStatefulUserHubClient { /// /// Invoked when the server requests a client to disconnect. /// /// /// When this request is received, the client must presume any and all further requests to the server /// will either fail or be ignored. /// This method is ONLY to be used for the purposes of: /// /// actually physically disconnecting from the server, /// cleaning up / setting up any and all required local client state. /// /// Task DisconnectRequested(); } }