Add API methods to perform requests out-of-queue

This commit is contained in:
Dean Herbert
2019-11-29 20:03:14 +09:00
parent 4dc8e0ae20
commit c49aeb08c4
8 changed files with 46 additions and 35 deletions

View File

@ -7,6 +7,7 @@ using System.Diagnostics;
using System.Net;
using System.Net.Http;
using System.Threading;
using System.Threading.Tasks;
using Newtonsoft.Json.Linq;
using osu.Framework.Bindables;
using osu.Framework.Graphics;
@ -198,6 +199,22 @@ namespace osu.Game.Online.API
}
}
public void Perform(APIRequest request)
{
try
{
request.Perform(this);
}
catch (Exception e)
{
// todo: fix exception handling
request.Fail(e);
}
}
public Task PerformAsync(APIRequest request) =>
Task.Factory.StartNew(() => Perform(request), TaskCreationOptions.LongRunning);
public void Login(string username, string password)
{
Debug.Assert(State == APIState.Offline);