Added ConfigureAwait(false) where missing

This commit is contained in:
RogueException
2015-10-25 06:30:06 -03:00
parent f44afd6196
commit 7e2093e454
12 changed files with 31 additions and 30 deletions

View File

@@ -110,7 +110,7 @@ namespace Discord.Commands
{ {
var task = cmd.Handler(eventArgs); var task = cmd.Handler(eventArgs);
if (task != null) if (task != null)
await task; await task.ConfigureAwait(false);
} }
catch (Exception ex) catch (Exception ex)
{ {

View File

@@ -123,7 +123,7 @@ namespace Discord
if (channel == null) throw new ArgumentNullException(nameof(channel)); if (channel == null) throw new ArgumentNullException(nameof(channel));
CheckReady(); CheckReady();
await _api.EditChannel(channel.Id, name: name, topic: topic); await _api.EditChannel(channel.Id, name: name, topic: topic).ConfigureAwait(false);
if (position != null) if (position != null)
{ {
@@ -147,7 +147,7 @@ namespace Discord
channels[newPos] = channel; channels[newPos] = channel;
} }
Channel after = minPos > 0 ? channels.Skip(minPos - 1).FirstOrDefault() : null; Channel after = minPos > 0 ? channels.Skip(minPos - 1).FirstOrDefault() : null;
await ReorderChannels(channel.Server, channels.Skip(minPos), after); await ReorderChannels(channel.Server, channels.Skip(minPos), after).ConfigureAwait(false);
} }
} }

View File

@@ -187,7 +187,7 @@ namespace Discord
CheckReady(); CheckReady();
foreach (var message in messages) foreach (var message in messages)
await DeleteMessageInternal(message); await DeleteMessageInternal(message).ConfigureAwait(false);
} }
private async Task DeleteMessageInternal(Message message) private async Task DeleteMessageInternal(Message message)
{ {

View File

@@ -48,7 +48,7 @@ namespace Discord
var perms = channel.PermissionOverwrites.Where(x => x.TargetType != targetType || x.TargetId != targetId).FirstOrDefault(); var perms = channel.PermissionOverwrites.Where(x => x.TargetType != targetType || x.TargetId != targetId).FirstOrDefault();
if (allowValue != 0 || denyValue != 0) if (allowValue != 0 || denyValue != 0)
{ {
await _api.SetChannelPermissions(channel.Id, targetId, targetType.Value, allowValue, denyValue); await _api.SetChannelPermissions(channel.Id, targetId, targetType.Value, allowValue, denyValue).ConfigureAwait(false);
if (perms != null) if (perms != null)
{ {
perms.Allow.SetRawValueInternal(allowValue); perms.Allow.SetRawValueInternal(allowValue);
@@ -68,7 +68,7 @@ namespace Discord
{ {
try try
{ {
await _api.DeleteChannelPermissions(channel.Id, targetId); await _api.DeleteChannelPermissions(channel.Id, targetId).ConfigureAwait(false);
if (perms != null) if (perms != null)
{ {
channel.PermissionOverwrites = channel.PermissionOverwrites.Where(x => x.TargetType != targetType || x.TargetId != targetId).ToArray(); channel.PermissionOverwrites = channel.PermissionOverwrites.Where(x => x.TargetType != targetType || x.TargetId != targetId).ToArray();

View File

@@ -86,7 +86,7 @@ namespace Discord
var role = _roles.GetOrAdd(response.Id, server.Id); var role = _roles.GetOrAdd(response.Id, server.Id);
role.Update(response); role.Update(response);
await EditRole(role, name: name); await EditRole(role, name: name).ConfigureAwait(false);
return role; return role;
} }
@@ -101,7 +101,7 @@ namespace Discord
name: name ?? role.Name, name: name ?? role.Name,
permissions: permissions?.RawValue ?? role.Permissions.RawValue, permissions: permissions?.RawValue ?? role.Permissions.RawValue,
color: color?.RawValue, color: color?.RawValue,
hoist: hoist); hoist: hoist).ConfigureAwait(false);
if (position != null) if (position != null)
{ {
@@ -124,7 +124,7 @@ namespace Discord
roles[i] = roles[i - 1]; roles[i] = roles[i - 1];
roles[newPos] = role; roles[newPos] = role;
} }
await _api.ReorderRoles(role.Server.Id, roles.Skip(minPos).Select(x => x.Id), minPos); await _api.ReorderRoles(role.Server.Id, roles.Skip(minPos).Select(x => x.Id), minPos).ConfigureAwait(false);
} }
} }

View File

@@ -99,7 +99,7 @@ namespace Discord
if (server == null) throw new ArgumentNullException(nameof(server)); if (server == null) throw new ArgumentNullException(nameof(server));
CheckReady(); CheckReady();
var response = await _api.EditServer(server.Id, name: name ?? server.Name, region: region.Value, iconType: iconType, icon: icon); var response = await _api.EditServer(server.Id, name: name ?? server.Name, region: region.Value, iconType: iconType, icon: icon).ConfigureAwait(false);
server.Update(response); server.Update(response);
} }

View File

@@ -52,7 +52,7 @@ namespace Discord
this.Connected += async (s, e) => this.Connected += async (s, e) =>
{ {
_api.CancelToken = CancelToken; _api.CancelToken = CancelToken;
await SendStatus(); await SendStatus().ConfigureAwait(false);
}; };
VoiceDisconnected += (s, e) => VoiceDisconnected += (s, e) =>
@@ -212,7 +212,7 @@ namespace Discord
} }
catch (TaskCanceledException) { throw new TimeoutException(); } catch (TaskCanceledException) { throw new TimeoutException(); }
await Connect(token); await Connect(token).ConfigureAwait(false);
return token; return token;
} }
@@ -227,8 +227,9 @@ namespace Discord
_api.Token = token; _api.Token = token;
string gateway = (await _api.Gateway() string gateway = (await _api.Gateway()
.Timeout(_config.APITimeout) .Timeout(_config.APITimeout)
.ConfigureAwait(false)).Url; .ConfigureAwait(false)
).Url;
if (_config.LogLevel >= LogMessageSeverity.Verbose) if (_config.LogLevel >= LogMessageSeverity.Verbose)
RaiseOnLog(LogMessageSeverity.Verbose, LogMessageSource.Client, $"Websocket endpoint: {gateway}"); RaiseOnLog(LogMessageSeverity.Verbose, LogMessageSource.Client, $"Websocket endpoint: {gateway}");
@@ -259,7 +260,7 @@ namespace Discord
while (_pendingMessages.TryDequeue(out ignored)) { } while (_pendingMessages.TryDequeue(out ignored)) { }
} }
await _api.Logout(); await _api.Logout().ConfigureAwait(false);
_channels.Clear(); _channels.Clear();
_users.Clear(); _users.Clear();
@@ -501,7 +502,7 @@ namespace Discord
RaiseMessageCreated(msg); RaiseMessageCreated(msg);
if (Config.AckMessages && !isAuthor) if (Config.AckMessages && !isAuthor)
await _api.AckMessage(data.Id, data.ChannelId); await _api.AckMessage(data.Id, data.ChannelId).ConfigureAwait(false);
} }
break; break;
case "MESSAGE_UPDATE": case "MESSAGE_UPDATE":
@@ -612,7 +613,7 @@ namespace Discord
//Internal (handled in DiscordSimpleClient) //Internal (handled in DiscordSimpleClient)
case "VOICE_SERVER_UPDATE": case "VOICE_SERVER_UPDATE":
await base.OnReceivedEvent(e); await base.OnReceivedEvent(e).ConfigureAwait(false);
break; break;
//Others //Others

View File

@@ -77,7 +77,7 @@ namespace Discord
{ {
RaiseDisconnected(e); RaiseDisconnected(e);
if (e.WasUnexpected) if (e.WasUnexpected)
await socket.Reconnect(_token); await socket.Reconnect(_token).ConfigureAwait(false);
}; };
if (!_config.VoiceOnly) if (!_config.VoiceOnly)
@@ -90,7 +90,7 @@ namespace Discord
} }
} }
socket.ReceivedEvent += async (s, e) => await OnReceivedEvent(e); socket.ReceivedEvent += async (s, e) => await OnReceivedEvent(e).ConfigureAwait(false);
return socket; return socket;
} }
internal virtual VoiceWebSocket CreateVoiceSocket() internal virtual VoiceWebSocket CreateVoiceSocket()
@@ -102,7 +102,7 @@ namespace Discord
{ {
RaiseVoiceDisconnected(socket.CurrentServerId, e); RaiseVoiceDisconnected(socket.CurrentServerId, e);
if (e.WasUnexpected) if (e.WasUnexpected)
await socket.Reconnect(); await socket.Reconnect().ConfigureAwait(false);
}; };
if (_config.LogLevel >= LogMessageSeverity.Info) if (_config.LogLevel >= LogMessageSeverity.Info)
{ {
@@ -212,7 +212,7 @@ namespace Discord
catch (Exception ex) { await DisconnectInternal(ex: ex, skipAwait: true).ConfigureAwait(false); } catch (Exception ex) { await DisconnectInternal(ex: ex, skipAwait: true).ConfigureAwait(false); }
//Ensure all other tasks are signaled to end. //Ensure all other tasks are signaled to end.
await DisconnectInternal(skipAwait: true); await DisconnectInternal(skipAwait: true).ConfigureAwait(false);
//Wait for the remaining tasks to complete //Wait for the remaining tasks to complete
try { await allTasks.ConfigureAwait(false); } try { await allTasks.ConfigureAwait(false); }
@@ -309,7 +309,7 @@ namespace Discord
{ {
string token = e.Payload.Value<string>("token"); string token = e.Payload.Value<string>("token");
_voiceSocket.Host = "wss://" + e.Payload.Value<string>("endpoint").Split(':')[0]; _voiceSocket.Host = "wss://" + e.Payload.Value<string>("endpoint").Split(':')[0];
await _voiceSocket.Login(_userId, _dataSocket.SessionId, token, CancelToken); await _voiceSocket.Login(_userId, _dataSocket.SessionId, token, CancelToken).ConfigureAwait(false);
} }
} }
break; break;

View File

@@ -70,7 +70,7 @@ namespace Discord.Net.WebSockets
protected override async Task ProcessMessage(string json) protected override async Task ProcessMessage(string json)
{ {
await base.ProcessMessage(json); await base.ProcessMessage(json).ConfigureAwait(false);
var msg = JsonConvert.DeserializeObject<WebSocketMessage>(json); var msg = JsonConvert.DeserializeObject<WebSocketMessage>(json);
if (msg.Sequence.HasValue) if (msg.Sequence.HasValue)
_lastSeq = msg.Sequence.Value; _lastSeq = msg.Sequence.Value;
@@ -104,7 +104,7 @@ namespace Discord.Net.WebSockets
Host = payload.Url; Host = payload.Url;
if (_logLevel >= LogMessageSeverity.Info) if (_logLevel >= LogMessageSeverity.Info)
RaiseOnLog(LogMessageSeverity.Info, "Redirected to " + payload.Url); RaiseOnLog(LogMessageSeverity.Info, "Redirected to " + payload.Url);
await Redirect(payload.Url); await Redirect(payload.Url).ConfigureAwait(false);
} }
} }
break; break;

View File

@@ -66,7 +66,7 @@ namespace Discord.Net.WebSockets
if ((WebSocketState)_state == WebSocketState.Connected) if ((WebSocketState)_state == WebSocketState.Connected)
{ {
//Adjust the host and tell the system to reconnect //Adjust the host and tell the system to reconnect
await DisconnectInternal(new Exception("Server transfer occurred."), isUnexpected: false); await DisconnectInternal(new Exception("Server transfer occurred."), isUnexpected: false).ConfigureAwait(false);
return; return;
} }

View File

@@ -163,7 +163,7 @@ namespace Discord.Net.WebSockets
catch (Exception ex) { await DisconnectInternal(ex: ex, skipAwait: true).ConfigureAwait(false); } catch (Exception ex) { await DisconnectInternal(ex: ex, skipAwait: true).ConfigureAwait(false); }
//Ensure all other tasks are signaled to end. //Ensure all other tasks are signaled to end.
await DisconnectInternal(skipAwait: true); await DisconnectInternal(skipAwait: true).ConfigureAwait(false);
//Wait for the remaining tasks to complete //Wait for the remaining tasks to complete
try { await allTasks.ConfigureAwait(false); } try { await allTasks.ConfigureAwait(false); }
@@ -186,7 +186,7 @@ namespace Discord.Net.WebSockets
_wasDisconnectUnexpected = false; _wasDisconnectUnexpected = false;
//Dont reset disconnectReason, we may called ThrowError() later //Dont reset disconnectReason, we may called ThrowError() later
await _engine.Disconnect(); await _engine.Disconnect().ConfigureAwait(false);
_cancelTokenSource = null; _cancelTokenSource = null;
var oldState = _state; var oldState = _state;
_state = (int)WebSocketState.Disconnected; _state = (int)WebSocketState.Disconnected;
@@ -227,7 +227,7 @@ namespace Discord.Net.WebSockets
await Task.Delay(_heartbeatInterval, cancelToken).ConfigureAwait(false); await Task.Delay(_heartbeatInterval, cancelToken).ConfigureAwait(false);
} }
else else
await Task.Delay(100, cancelToken); await Task.Delay(100, cancelToken).ConfigureAwait(false);
} }
} }
catch (OperationCanceledException) { } catch (OperationCanceledException) { }

View File

@@ -52,14 +52,14 @@ namespace Discord.Net.WebSockets
_webSocket.OnError += async (s, e) => _webSocket.OnError += async (s, e) =>
{ {
_parent.RaiseOnLog(LogMessageSeverity.Error, e.Exception.GetBaseException().Message); _parent.RaiseOnLog(LogMessageSeverity.Error, e.Exception.GetBaseException().Message);
await _parent.DisconnectInternal(e.Exception, skipAwait: true); await _parent.DisconnectInternal(e.Exception, skipAwait: true).ConfigureAwait(false);
}; };
_webSocket.OnClose += async (s, e) => _webSocket.OnClose += async (s, e) =>
{ {
string code = e.WasClean ? e.Code.ToString() : "Unexpected"; string code = e.WasClean ? e.Code.ToString() : "Unexpected";
string reason = e.Reason != "" ? e.Reason : "No Reason"; string reason = e.Reason != "" ? e.Reason : "No Reason";
Exception ex = new Exception($"Got Close Message ({code}): {reason}"); Exception ex = new Exception($"Got Close Message ({code}): {reason}");
await _parent.DisconnectInternal(ex, skipAwait: true); await _parent.DisconnectInternal(ex, skipAwait: true).ConfigureAwait(false);
}; };
_webSocket.Log.Output = (e, m) => { }; //Dont let websocket-sharp print to console _webSocket.Log.Output = (e, m) => { }; //Dont let websocket-sharp print to console
_webSocket.Connect(); _webSocket.Connect();