Switched GetTasks to IEnumerable<Task>
This commit is contained in:
@@ -1,6 +1,8 @@
|
|||||||
using Discord.Helpers;
|
using Discord.Helpers;
|
||||||
using Discord.WebSockets.Data;
|
using Discord.WebSockets.Data;
|
||||||
using System;
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
using System.Runtime.ExceptionServices;
|
using System.Runtime.ExceptionServices;
|
||||||
using System.Threading;
|
using System.Threading;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
@@ -210,7 +212,7 @@ namespace Discord
|
|||||||
|
|
||||||
private async Task RunTasks()
|
private async Task RunTasks()
|
||||||
{
|
{
|
||||||
Task[] tasks = GetTasks();
|
Task[] tasks = GetTasks().ToArray();
|
||||||
Task firstTask = Task.WhenAny(tasks);
|
Task firstTask = Task.WhenAny(tasks);
|
||||||
Task allTasks = Task.WhenAll(tasks);
|
Task allTasks = Task.WhenAll(tasks);
|
||||||
|
|
||||||
@@ -239,7 +241,7 @@ namespace Discord
|
|||||||
_connectedEvent.Reset();
|
_connectedEvent.Reset();
|
||||||
_runTask = null;
|
_runTask = null;
|
||||||
}
|
}
|
||||||
protected virtual Task[] GetTasks()
|
protected virtual IEnumerable<Task> GetTasks()
|
||||||
{
|
{
|
||||||
return new Task[] { _cancelToken.Wait() };
|
return new Task[] { _cancelToken.Wait() };
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -108,7 +108,7 @@ namespace Discord.WebSockets.Voice
|
|||||||
catch (OperationCanceledException) { }
|
catch (OperationCanceledException) { }
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override Task[] GetTasks()
|
protected override IEnumerable<Task> GetTasks()
|
||||||
{
|
{
|
||||||
_isClearing = false;
|
_isClearing = false;
|
||||||
|
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
using Discord.Helpers;
|
using Discord.Helpers;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Concurrent;
|
using System.Collections.Concurrent;
|
||||||
|
using System.Collections.Generic;
|
||||||
using System.ComponentModel;
|
using System.ComponentModel;
|
||||||
using System.Net.WebSockets;
|
using System.Net.WebSockets;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
@@ -50,7 +51,7 @@ namespace Discord.WebSockets
|
|||||||
return TaskHelper.CompletedTask;
|
return TaskHelper.CompletedTask;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Task[] GetTasks(CancellationToken cancelToken)
|
public IEnumerable<Task> GetTasks(CancellationToken cancelToken)
|
||||||
{
|
{
|
||||||
return new Task[]
|
return new Task[]
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
using Discord.Helpers;
|
using Discord.Helpers;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Concurrent;
|
using System.Collections.Concurrent;
|
||||||
|
using System.Collections.Generic;
|
||||||
using System.Threading;
|
using System.Threading;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using WSSharpNWebSocket = WebSocketSharp.WebSocket;
|
using WSSharpNWebSocket = WebSocketSharp.WebSocket;
|
||||||
@@ -68,7 +69,7 @@ namespace Discord.WebSockets
|
|||||||
return TaskHelper.CompletedTask;
|
return TaskHelper.CompletedTask;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Task[] GetTasks(CancellationToken cancelToken)
|
public IEnumerable<Task> GetTasks(CancellationToken cancelToken)
|
||||||
{
|
{
|
||||||
return new Task[]
|
return new Task[]
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
using Discord.Helpers;
|
using Discord.Helpers;
|
||||||
using Newtonsoft.Json;
|
using Newtonsoft.Json;
|
||||||
using System;
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Runtime.ExceptionServices;
|
using System.Runtime.ExceptionServices;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
@@ -29,7 +30,7 @@ namespace Discord.WebSockets
|
|||||||
Task Connect(string host, CancellationToken cancelToken);
|
Task Connect(string host, CancellationToken cancelToken);
|
||||||
Task Disconnect();
|
Task Disconnect();
|
||||||
void QueueMessage(string message);
|
void QueueMessage(string message);
|
||||||
Task[] GetTasks(CancellationToken cancelToken);
|
IEnumerable<Task> GetTasks(CancellationToken cancelToken);
|
||||||
}
|
}
|
||||||
|
|
||||||
internal abstract partial class WebSocket
|
internal abstract partial class WebSocket
|
||||||
@@ -162,7 +163,7 @@ namespace Discord.WebSockets
|
|||||||
|
|
||||||
protected virtual async Task RunTasks()
|
protected virtual async Task RunTasks()
|
||||||
{
|
{
|
||||||
Task[] tasks = GetTasks();
|
Task[] tasks = GetTasks().ToArray();
|
||||||
Task firstTask = Task.WhenAny(tasks);
|
Task firstTask = Task.WhenAny(tasks);
|
||||||
Task allTasks = Task.WhenAll(tasks);
|
Task allTasks = Task.WhenAll(tasks);
|
||||||
|
|
||||||
@@ -180,12 +181,11 @@ namespace Discord.WebSockets
|
|||||||
//Start cleanup
|
//Start cleanup
|
||||||
await Cleanup().ConfigureAwait(false);
|
await Cleanup().ConfigureAwait(false);
|
||||||
}
|
}
|
||||||
protected virtual Task[] GetTasks()
|
protected virtual IEnumerable<Task> GetTasks()
|
||||||
{
|
{
|
||||||
var cancelToken = _cancelToken;
|
var cancelToken = _cancelToken;
|
||||||
return _engine.GetTasks(cancelToken)
|
return _engine.GetTasks(cancelToken)
|
||||||
.Concat(new Task[] { HeartbeatAsync(cancelToken) })
|
.Concat(new Task[] { HeartbeatAsync(cancelToken) });
|
||||||
.ToArray();
|
|
||||||
}
|
}
|
||||||
protected virtual async Task Cleanup()
|
protected virtual async Task Cleanup()
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user