diff --git a/src/Discord.Net.Commands/Builders/ModuleClassBuilder.cs b/src/Discord.Net.Commands/Builders/ModuleClassBuilder.cs index 14a40d1f..ee9623e0 100644 --- a/src/Discord.Net.Commands/Builders/ModuleClassBuilder.cs +++ b/src/Discord.Net.Commands/Builders/ModuleClassBuilder.cs @@ -211,7 +211,7 @@ namespace Discord.Commands await instance.BeforeExecuteAsync(cmd).ConfigureAwait(false); instance.BeforeExecute(cmd); - var task = method.Invoke(instance, args) as Task ?? Task.Delay(0); + var task = method.Invoke(instance, args) as Task ?? Task.CompletedTask; if (task is Task resultTask) { return await resultTask.ConfigureAwait(false); diff --git a/src/Discord.Net.Core/Audio/AudioStream.cs b/src/Discord.Net.Core/Audio/AudioStream.cs index ad2985fd..ac5b090c 100644 --- a/src/Discord.Net.Core/Audio/AudioStream.cs +++ b/src/Discord.Net.Core/Audio/AudioStream.cs @@ -27,7 +27,7 @@ namespace Discord.Audio ClearAsync(CancellationToken.None).GetAwaiter().GetResult(); } - public virtual Task ClearAsync(CancellationToken cancellationToken) { return Task.Delay(0); } + public virtual Task ClearAsync(CancellationToken cancellationToken) { return Task.CompletedTask; } /// /// Reading stream length is not supported. diff --git a/src/Discord.Net.Examples/Core/Entities/Channels/IMessageChannel.Examples.cs b/src/Discord.Net.Examples/Core/Entities/Channels/IMessageChannel.Examples.cs index 9b4aee53..bfb48837 100644 --- a/src/Discord.Net.Examples/Core/Entities/Channels/IMessageChannel.Examples.cs +++ b/src/Discord.Net.Examples/Core/Entities/Channels/IMessageChannel.Examples.cs @@ -49,7 +49,7 @@ namespace Discord.Net.Examples.Core.Entities.Channels // Another dummy method Task LongRunningAsync() { - return Task.Delay(0); + return Task.CompletedTask; } #region GetMessagesAsync.FromLimit.Standard diff --git a/src/Discord.Net.Interactions/Builders/ModuleClassBuilder.cs b/src/Discord.Net.Interactions/Builders/ModuleClassBuilder.cs index 7a06c050..a309a7c3 100644 --- a/src/Discord.Net.Interactions/Builders/ModuleClassBuilder.cs +++ b/src/Discord.Net.Interactions/Builders/ModuleClassBuilder.cs @@ -425,7 +425,7 @@ namespace Discord.Interactions.Builders { await instance.BeforeExecuteAsync(commandInfo).ConfigureAwait(false); instance.BeforeExecute(commandInfo); - var task = commandInvoker(instance, args) ?? Task.Delay(0); + var task = commandInvoker(instance, args) ?? Task.CompletedTask; if (task is Task runtimeTask) { diff --git a/src/Discord.Net.Rest/BaseDiscordClient.cs b/src/Discord.Net.Rest/BaseDiscordClient.cs index c8c18cb9..5eb56b6b 100644 --- a/src/Discord.Net.Rest/BaseDiscordClient.cs +++ b/src/Discord.Net.Rest/BaseDiscordClient.cs @@ -124,7 +124,7 @@ namespace Discord.Rest await _loggedInEvent.InvokeAsync().ConfigureAwait(false); } internal virtual Task OnLoginAsync(TokenType tokenType, string token) - => Task.Delay(0); + => Task.CompletedTask; public async Task LogoutAsync() { @@ -150,7 +150,7 @@ namespace Discord.Rest await _loggedOutEvent.InvokeAsync().ConfigureAwait(false); } internal virtual Task OnLogoutAsync() - => Task.Delay(0); + => Task.CompletedTask; internal virtual void Dispose(bool disposing) { @@ -266,10 +266,10 @@ namespace Discord.Rest /// Task IDiscordClient.StartAsync() - => Task.Delay(0); + => Task.CompletedTask; /// Task IDiscordClient.StopAsync() - => Task.Delay(0); + => Task.CompletedTask; /// /// Creates a test entitlement to a given SKU for a given guild or user. diff --git a/src/Discord.Net.Rest/DiscordRestApiClient.cs b/src/Discord.Net.Rest/DiscordRestApiClient.cs index 9cb59923..91d533a5 100644 --- a/src/Discord.Net.Rest/DiscordRestApiClient.cs +++ b/src/Discord.Net.Rest/DiscordRestApiClient.cs @@ -195,8 +195,8 @@ namespace Discord.API LoginState = LoginState.LoggedOut; } - internal virtual Task ConnectInternalAsync() => Task.Delay(0); - internal virtual Task DisconnectInternalAsync(Exception ex = null) => Task.Delay(0); + internal virtual Task ConnectInternalAsync() => Task.CompletedTask; + internal virtual Task DisconnectInternalAsync(Exception ex = null) => Task.CompletedTask; #endregion #region Core diff --git a/src/Discord.Net.Rest/DiscordRestClient.cs b/src/Discord.Net.Rest/DiscordRestClient.cs index e2392b0d..2a010e7b 100644 --- a/src/Discord.Net.Rest/DiscordRestClient.cs +++ b/src/Discord.Net.Rest/DiscordRestClient.cs @@ -85,7 +85,7 @@ namespace Discord.Rest internal override Task OnLogoutAsync() { _applicationInfo = null; - return Task.Delay(0); + return Task.CompletedTask; } #region Rest interactions diff --git a/src/Discord.Net.Rest/Entities/Channels/RestChannel.cs b/src/Discord.Net.Rest/Entities/Channels/RestChannel.cs index 075959d7..f76e87c5 100644 --- a/src/Discord.Net.Rest/Entities/Channels/RestChannel.cs +++ b/src/Discord.Net.Rest/Entities/Channels/RestChannel.cs @@ -79,7 +79,7 @@ namespace Discord.Rest } /// - public virtual Task UpdateAsync(RequestOptions options = null) => Task.Delay(0); + public virtual Task UpdateAsync(RequestOptions options = null) => Task.CompletedTask; #endregion #region IChannel diff --git a/src/Discord.Net.WebSocket/Audio/Streams/BufferedWriteStream.cs b/src/Discord.Net.WebSocket/Audio/Streams/BufferedWriteStream.cs index 25afde78..63f7e1b6 100644 --- a/src/Discord.Net.WebSocket/Audio/Streams/BufferedWriteStream.cs +++ b/src/Discord.Net.WebSocket/Audio/Streams/BufferedWriteStream.cs @@ -187,7 +187,7 @@ namespace Discord.Audio.Streams do cancelToken.ThrowIfCancellationRequested(); while (_queuedFrames.TryDequeue(out _)); - return Task.Delay(0); + return Task.CompletedTask; } } } diff --git a/src/Discord.Net.WebSocket/Audio/Streams/InputStream.cs b/src/Discord.Net.WebSocket/Audio/Streams/InputStream.cs index 6233c47b..e7799ac8 100644 --- a/src/Discord.Net.WebSocket/Audio/Streams/InputStream.cs +++ b/src/Discord.Net.WebSocket/Audio/Streams/InputStream.cs @@ -76,7 +76,7 @@ namespace Discord.Audio.Streams if (_signal.CurrentCount >= MaxFrames) //1-2 seconds { _hasHeader = false; - return Task.Delay(0); //Buffer overloaded + return Task.CompletedTask; //Buffer overloaded } if (!_hasHeader) throw new InvalidOperationException("Received payload without an RTP header"); @@ -91,7 +91,7 @@ namespace Discord.Audio.Streams payload: payload )); _signal.Release(); - return Task.Delay(0); + return Task.CompletedTask; } protected override void Dispose(bool isDisposing) diff --git a/src/Discord.Net.WebSocket/Audio/Streams/JitterBuffer.cs b/src/Discord.Net.WebSocket/Audio/Streams/JitterBuffer.cs index 5d7bb090..bb2de67b 100644 --- a/src/Discord.Net.WebSocket/Audio/Streams/JitterBuffer.cs +++ b/src/Discord.Net.WebSocket/Audio/Streams/JitterBuffer.cs @@ -240,7 +240,7 @@ namespace Discord.Audio.Streams do cancelToken.ThrowIfCancellationRequested(); while (_queuedFrames.TryDequeue(out Frame ignored)); - return Task.Delay(0); + return Task.CompletedTask; } } }*/ diff --git a/src/Discord.Net.WebSocket/DiscordShardedClient.cs b/src/Discord.Net.WebSocket/DiscordShardedClient.cs index c1c8d5f9..71bb413a 100644 --- a/src/Discord.Net.WebSocket/DiscordShardedClient.cs +++ b/src/Discord.Net.WebSocket/DiscordShardedClient.cs @@ -428,7 +428,7 @@ namespace Discord.WebSocket //Should only happen if token is changed var _ = LogoutAsync(); //Signal the logout, fire and forget } - return Task.Delay(0); + return Task.CompletedTask; }; client.SentRequest += (method, endpoint, millis) => _sentRequest.InvokeAsync(method, endpoint, millis); diff --git a/src/Discord.Net.WebSocket/DiscordSocketClient.cs b/src/Discord.Net.WebSocket/DiscordSocketClient.cs index 06eb3628..bd9b1b04 100644 --- a/src/Discord.Net.WebSocket/DiscordSocketClient.cs +++ b/src/Discord.Net.WebSocket/DiscordSocketClient.cs @@ -200,7 +200,7 @@ namespace Discord.WebSocket { var _ = g.DownloadUsersAsync(); } - return Task.Delay(0); + return Task.CompletedTask; }; _largeGuilds = new ConcurrentQueue(); diff --git a/src/Discord.Net.WebSocket/Entities/Guilds/SocketGuild.cs b/src/Discord.Net.WebSocket/Entities/Guilds/SocketGuild.cs index 292bd8b3..7b388f3e 100644 --- a/src/Discord.Net.WebSocket/Entities/Guilds/SocketGuild.cs +++ b/src/Discord.Net.WebSocket/Entities/Guilds/SocketGuild.cs @@ -1793,7 +1793,7 @@ namespace Discord.WebSocket audioClient.Connected += () => { _ = promise.TrySetResultAsync(_audioClient); - return Task.Delay(0); + return Task.CompletedTask; }; _audioClient = audioClient; diff --git a/src/Discord.Net.WebSocket/Net/DefaultUdpSocket.cs b/src/Discord.Net.WebSocket/Net/DefaultUdpSocket.cs index 91bb3378..bf698bb4 100644 --- a/src/Discord.Net.WebSocket/Net/DefaultUdpSocket.cs +++ b/src/Discord.Net.WebSocket/Net/DefaultUdpSocket.cs @@ -92,7 +92,7 @@ namespace Discord.Net.Udp catch { } if (!isDisposing) - await (_task ?? Task.Delay(0)).ConfigureAwait(false); + await (_task ?? Task.CompletedTask).ConfigureAwait(false); if (_udp != null) { diff --git a/src/Discord.Net.WebSocket/Net/DefaultWebSocketClient.cs b/src/Discord.Net.WebSocket/Net/DefaultWebSocketClient.cs index ee41ed62..2f888b89 100644 --- a/src/Discord.Net.WebSocket/Net/DefaultWebSocketClient.cs +++ b/src/Discord.Net.WebSocket/Net/DefaultWebSocketClient.cs @@ -140,7 +140,7 @@ namespace Discord.Net.WebSockets try { - await (_task ?? Task.Delay(0)).ConfigureAwait(false); + await (_task ?? Task.CompletedTask).ConfigureAwait(false); _task = null; } finally { _isDisconnecting = false; } diff --git a/test/Discord.Net.Tests.Unit/TypeReaderTests.cs b/test/Discord.Net.Tests.Unit/TypeReaderTests.cs index 59eb3136..39ea71a4 100644 --- a/test/Discord.Net.Tests.Unit/TypeReaderTests.cs +++ b/test/Discord.Net.Tests.Unit/TypeReaderTests.cs @@ -137,6 +137,6 @@ namespace Discord public sealed class TestModule : ModuleBase { [Command("test")] - public Task TestCommand(ArgumentType arg) => Task.Delay(0); + public Task TestCommand(ArgumentType arg) => Task.CompletedTask; } }