// 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.Matchmaking { public interface IMatchmakingServer { /// /// Retrieves all active matchmaking pools. /// Task GetMatchmakingPools(); /// /// Joins the matchmaking lobby, allowing the local user to receive status updates. /// Task MatchmakingJoinLobby(); /// /// Leaves the matchmaking lobby. /// Task MatchmakingLeaveLobby(); /// /// Joins the matchmaking queue, allowing the local user to get matched up with others. /// Task MatchmakingJoinQueue(int poolId); /// /// Leaves the matchmaking queue. /// Task MatchmakingLeaveQueue(); /// /// Accepts a matchmaking room invitation. /// Task MatchmakingAcceptInvitation(); /// /// Declines a matchmaking room invitation. /// Task MatchmakingDeclineInvitation(); /// /// Raise a candidate playlist item to be played in the current round. /// /// The playlist item. Task MatchmakingToggleSelection(long playlistItemId); /// /// Debug only - skips to the next stage of the matchmaking room. /// Task MatchmakingSkipToNextStage(); } }