Browse Source

Switched GetTasks to IEnumerable<Task>

tags/docs-0.9
RogueException 9 years ago
parent
commit
54fe30a59a
5 changed files with 15 additions and 11 deletions
  1. +4
    -2
      src/Discord.Net/DiscordSimpleClient.cs
  2. +1
    -1
      src/Discord.Net/WebSockets/Voice/VoiceWebSocket.cs
  3. +2
    -1
      src/Discord.Net/WebSockets/WebSocket.BuiltIn.cs
  4. +2
    -1
      src/Discord.Net/WebSockets/WebSocket.WebSocketSharp.cs
  5. +6
    -6
      src/Discord.Net/WebSockets/WebSocket.cs

+ 4
- 2
src/Discord.Net/DiscordSimpleClient.cs View File

@@ -1,6 +1,8 @@
using Discord.Helpers;
using Discord.WebSockets.Data;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.ExceptionServices;
using System.Threading;
using System.Threading.Tasks;
@@ -210,7 +212,7 @@ namespace Discord

private async Task RunTasks()
{
Task[] tasks = GetTasks();
Task[] tasks = GetTasks().ToArray();
Task firstTask = Task.WhenAny(tasks);
Task allTasks = Task.WhenAll(tasks);

@@ -239,7 +241,7 @@ namespace Discord
_connectedEvent.Reset();
_runTask = null;
}
protected virtual Task[] GetTasks()
protected virtual IEnumerable<Task> GetTasks()
{
return new Task[] { _cancelToken.Wait() };
}


+ 1
- 1
src/Discord.Net/WebSockets/Voice/VoiceWebSocket.cs View File

@@ -108,7 +108,7 @@ namespace Discord.WebSockets.Voice
catch (OperationCanceledException) { }
}

protected override Task[] GetTasks()
protected override IEnumerable<Task> GetTasks()
{
_isClearing = false;


+ 2
- 1
src/Discord.Net/WebSockets/WebSocket.BuiltIn.cs View File

@@ -2,6 +2,7 @@
using Discord.Helpers;
using System;
using System.Collections.Concurrent;
using System.Collections.Generic;
using System.ComponentModel;
using System.Net.WebSockets;
using System.Text;
@@ -50,7 +51,7 @@ namespace Discord.WebSockets
return TaskHelper.CompletedTask;
}

public Task[] GetTasks(CancellationToken cancelToken)
public IEnumerable<Task> GetTasks(CancellationToken cancelToken)
{
return new Task[]
{


+ 2
- 1
src/Discord.Net/WebSockets/WebSocket.WebSocketSharp.cs View File

@@ -2,6 +2,7 @@
using Discord.Helpers;
using System;
using System.Collections.Concurrent;
using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
using WSSharpNWebSocket = WebSocketSharp.WebSocket;
@@ -68,7 +69,7 @@ namespace Discord.WebSockets
return TaskHelper.CompletedTask;
}

public Task[] GetTasks(CancellationToken cancelToken)
public IEnumerable<Task> GetTasks(CancellationToken cancelToken)
{
return new Task[]
{


+ 6
- 6
src/Discord.Net/WebSockets/WebSocket.cs View File

@@ -1,6 +1,7 @@
using Discord.Helpers;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.ExceptionServices;
using System.Text;
@@ -29,7 +30,7 @@ namespace Discord.WebSockets
Task Connect(string host, CancellationToken cancelToken);
Task Disconnect();
void QueueMessage(string message);
Task[] GetTasks(CancellationToken cancelToken);
IEnumerable<Task> GetTasks(CancellationToken cancelToken);
}

internal abstract partial class WebSocket
@@ -162,7 +163,7 @@ namespace Discord.WebSockets

protected virtual async Task RunTasks()
{
Task[] tasks = GetTasks();
Task[] tasks = GetTasks().ToArray();
Task firstTask = Task.WhenAny(tasks);
Task allTasks = Task.WhenAll(tasks);

@@ -180,12 +181,11 @@ namespace Discord.WebSockets
//Start cleanup
await Cleanup().ConfigureAwait(false);
}
protected virtual Task[] GetTasks()
protected virtual IEnumerable<Task> GetTasks()
{
var cancelToken = _cancelToken;
return _engine.GetTasks(cancelToken)
.Concat(new Task[] { HeartbeatAsync(cancelToken) })
.ToArray();
return _engine.GetTasks(cancelToken)
.Concat(new Task[] { HeartbeatAsync(cancelToken) });
}
protected virtual async Task Cleanup()
{


Loading…
Cancel
Save