AsTask => GetAsTask() (#7468)

* AsTask => GetAsTask()

* Another spot

* Another spot
This commit is contained in:
Justin Kotalik 2019-02-11 16:55:28 -08:00 committed by GitHub
commit 2a9caa0343
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 32 additions and 5 deletions

View File

@ -80,7 +80,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
return Task.FromCanceled(cancellationToken);
}
return WriteAsync(buffer, cancellationToken).AsTask();
return WriteAsync(buffer, cancellationToken).GetAsTask();
}
public ValueTask<FlushResult> WriteDataToPipeAsync(ReadOnlySpan<byte> buffer, CancellationToken cancellationToken = default)

View File

@ -796,7 +796,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
[MethodImpl(MethodImplOptions.NoInlining)]
private Task FlushAsyncInternal()
{
return Output.FlushAsync(default).AsTask();
return Output.FlushAsync(default).GetAsTask();
}
private void VerifyAndUpdateWrite(int count)
@ -1374,7 +1374,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
public Task FlushAsync(CancellationToken cancellationToken = default)
{
return FlushPipeAsync(cancellationToken).AsTask();
return FlushPipeAsync(cancellationToken).GetAsTask();
}
[MethodImpl(MethodImplOptions.NoInlining)]
@ -1386,7 +1386,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
public Task WriteAsync(ReadOnlyMemory<byte> data, CancellationToken cancellationToken = default(CancellationToken))
{
return WritePipeAsync(data, cancellationToken).AsTask();
return WritePipeAsync(data, cancellationToken).GetAsTask();
}
public async ValueTask<FlushResult> WriteAsyncAwaited(Task initializeTask, ReadOnlyMemory<byte> data, CancellationToken cancellationToken)

View File

@ -0,0 +1,27 @@
// Copyright (c) .NET Foundation. All rights reserved.
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using System.IO.Pipelines;
using System.Runtime.CompilerServices;
using System.Threading.Tasks;
namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
internal static class ValueTaskExtensions
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static Task GetAsTask(this in ValueTask<FlushResult> valueTask)
{
if (valueTask.IsCompletedSuccessfully)
{
// Signal consumption to the IValueTaskSource
valueTask.GetAwaiter().GetResult();
return Task.CompletedTask;
}
else
{
return valueTask.AsTask();
}
}
}
}

View File

@ -164,7 +164,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http2
_startedWritingDataFrames = true;
_dataPipe.Writer.Write(data);
return _flusher.FlushAsync(this, cancellationToken).AsTask();
return _flusher.FlushAsync(this, cancellationToken).GetAsTask();
}
}