Renamed Block to Run, provides an async function wrapper for console apps
This commit is contained in:
@@ -200,7 +200,7 @@ namespace Discord
|
|||||||
|
|
||||||
private async Task RunTasks()
|
private async Task RunTasks()
|
||||||
{
|
{
|
||||||
Task[] tasks = Run();
|
Task[] tasks = GetTasks();
|
||||||
Task firstTask = Task.WhenAny(tasks);
|
Task firstTask = Task.WhenAny(tasks);
|
||||||
Task allTasks = Task.WhenAll(tasks);
|
Task allTasks = Task.WhenAll(tasks);
|
||||||
|
|
||||||
@@ -229,7 +229,7 @@ namespace Discord
|
|||||||
_connectedEvent.Reset();
|
_connectedEvent.Reset();
|
||||||
_runTask = null;
|
_runTask = null;
|
||||||
}
|
}
|
||||||
protected virtual Task[] Run()
|
protected virtual Task[] GetTasks()
|
||||||
{
|
{
|
||||||
return new Task[] { _cancelToken.Wait() };
|
return new Task[] { _cancelToken.Wait() };
|
||||||
}
|
}
|
||||||
@@ -247,7 +247,13 @@ namespace Discord
|
|||||||
|
|
||||||
//Helpers
|
//Helpers
|
||||||
/// <summary> Blocking call that will not return until client has been stopped. This is mainly intended for use in console applications. </summary>
|
/// <summary> Blocking call that will not return until client has been stopped. This is mainly intended for use in console applications. </summary>
|
||||||
public void Block()
|
public void Run(Func<Task> asyncAction)
|
||||||
|
{
|
||||||
|
asyncAction().Wait();
|
||||||
|
_disconnectedEvent.WaitOne();
|
||||||
|
}
|
||||||
|
/// <summary> Blocking call that will not return until client has been stopped. This is mainly intended for use in console applications. </summary>
|
||||||
|
public void Run()
|
||||||
{
|
{
|
||||||
_disconnectedEvent.WaitOne();
|
_disconnectedEvent.WaitOne();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -106,7 +106,7 @@ namespace Discord.WebSockets.Voice
|
|||||||
catch (OperationCanceledException) { }
|
catch (OperationCanceledException) { }
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override Task[] Run()
|
protected override Task[] GetTasks()
|
||||||
{
|
{
|
||||||
_isClearing = false;
|
_isClearing = false;
|
||||||
|
|
||||||
@@ -145,7 +145,7 @@ namespace Discord.WebSockets.Voice
|
|||||||
#if !DNXCORE50
|
#if !DNXCORE50
|
||||||
tasks.Add(WatcherAsync());
|
tasks.Add(WatcherAsync());
|
||||||
#endif
|
#endif
|
||||||
tasks.AddRange(base.Run());
|
tasks.AddRange(base.GetTasks());
|
||||||
|
|
||||||
return tasks.ToArray();
|
return tasks.ToArray();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -49,7 +49,7 @@ namespace Discord.WebSockets
|
|||||||
return TaskHelper.CompletedTask;
|
return TaskHelper.CompletedTask;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Task[] RunTasks(CancellationToken cancelToken)
|
public Task[] GetTasks(CancellationToken cancelToken)
|
||||||
{
|
{
|
||||||
return new Task[]
|
return new Task[]
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ namespace Discord.WebSockets
|
|||||||
Task Connect(string host, CancellationToken cancelToken);
|
Task Connect(string host, CancellationToken cancelToken);
|
||||||
Task Disconnect();
|
Task Disconnect();
|
||||||
void QueueMessage(byte[] message);
|
void QueueMessage(byte[] message);
|
||||||
Task[] RunTasks(CancellationToken cancelToken);
|
Task[] GetTasks(CancellationToken cancelToken);
|
||||||
}
|
}
|
||||||
|
|
||||||
internal abstract partial class WebSocket
|
internal abstract partial class WebSocket
|
||||||
@@ -147,7 +147,7 @@ namespace Discord.WebSockets
|
|||||||
|
|
||||||
protected virtual async Task RunTasks()
|
protected virtual async Task RunTasks()
|
||||||
{
|
{
|
||||||
Task[] tasks = Run();
|
Task[] tasks = GetTasks();
|
||||||
Task firstTask = Task.WhenAny(tasks);
|
Task firstTask = Task.WhenAny(tasks);
|
||||||
Task allTasks = Task.WhenAll(tasks);
|
Task allTasks = Task.WhenAll(tasks);
|
||||||
|
|
||||||
@@ -165,10 +165,10 @@ namespace Discord.WebSockets
|
|||||||
//Start cleanup
|
//Start cleanup
|
||||||
await Cleanup().ConfigureAwait(false);
|
await Cleanup().ConfigureAwait(false);
|
||||||
}
|
}
|
||||||
protected virtual Task[] Run()
|
protected virtual Task[] GetTasks()
|
||||||
{
|
{
|
||||||
var cancelToken = _cancelToken;
|
var cancelToken = _cancelToken;
|
||||||
return _engine.RunTasks(cancelToken)
|
return _engine.GetTasks(cancelToken)
|
||||||
.Concat(new Task[] { HeartbeatAsync(cancelToken) })
|
.Concat(new Task[] { HeartbeatAsync(cancelToken) })
|
||||||
.ToArray();
|
.ToArray();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user