From 45302a479f7b0b597fd3f353d9e2bacd64724595 Mon Sep 17 00:00:00 2001 From: dave Date: Thu, 1 Sep 2022 14:17:23 +1200 Subject: [PATCH] Remove custom cancellation token handling code, rely on Stream.ReadAsync to handle it instead --- src/FubarDev.FtpServer/FtpConnection.cs | 32 ------------------------- 1 file changed, 32 deletions(-) diff --git a/src/FubarDev.FtpServer/FtpConnection.cs b/src/FubarDev.FtpServer/FtpConnection.cs index d86f6ac4..9a0a9fce 100644 --- a/src/FubarDev.FtpServer/FtpConnection.cs +++ b/src/FubarDev.FtpServer/FtpConnection.cs @@ -932,38 +932,6 @@ public ConnectionClosingNetworkStreamReader( _connectionClosedCts = connectionClosedCts; } - /// - protected override async Task ReadFromStreamAsync(byte[] buffer, int offset, int length, CancellationToken cancellationToken) - { - var readTask = Stream - .ReadAsync(buffer, offset, length, cancellationToken); - - var tcs = new TaskCompletionSource(); - using var registration = cancellationToken.Register(() => tcs.TrySetResult(null)); - var resultTask = await Task.WhenAny(readTask, tcs.Task) - .ConfigureAwait(false); - - if (cancellationToken.IsCancellationRequested) - { - Logger?.LogTrace("Cancelled through CancellationToken"); - return 0; - } - - if (resultTask != readTask) - { - Logger?.LogTrace("Cancelled through Task.Delay"); - return 0; - } - -#if NETSTANDARD1_3 - return await readTask.ConfigureAwait(false); -#else - var result = readTask.Result; - readTask.Dispose(); - return result; -#endif - } - /// protected override async Task OnCloseAsync(Exception? exception, CancellationToken cancellationToken) {