Fix several HTTP/3 uses of ValueTask (#32671)
authorStephen Toub <stoub@microsoft.com>
Sat, 22 Feb 2020 00:44:09 +0000 (19:44 -0500)
committerGitHub <noreply@github.com>
Sat, 22 Feb 2020 00:44:09 +0000 (19:44 -0500)
src/libraries/Common/src/System/Net/Http/aspnetcore/Quic/Implementations/MsQuic/MsQuicStream.cs
src/libraries/System.Net.Http/src/System/Net/Http/SocketsHttpHandler/Http3Connection.cs
src/libraries/System.Net.Http/src/System/Net/Http/SocketsHttpHandler/Http3RequestStream.cs

index 536968b..00ca779 100644 (file)
@@ -402,7 +402,7 @@ namespace System.Net.Quic.Implementations.MsQuic
         {
             ThrowIfDisposed();
 
-            return ReadAsync(buffer.ToArray()).GetAwaiter().GetResult();
+            return ReadAsync(buffer.ToArray()).AsTask().GetAwaiter().GetResult();
         }
 
         internal override void Write(ReadOnlySpan<byte> buffer)
@@ -410,7 +410,7 @@ namespace System.Net.Quic.Implementations.MsQuic
             ThrowIfDisposed();
 
             // TODO: optimize this.
-            WriteAsync(buffer.ToArray()).GetAwaiter().GetResult();
+            WriteAsync(buffer.ToArray()).AsTask().GetAwaiter().GetResult();
         }
 
         // MsQuic doesn't support explicit flushing
index 4280cee..9ed1fc9 100644 (file)
@@ -423,7 +423,7 @@ namespace System.Net.Http
                 memberName,                   // method name
                 message);                     // message
 
-        private async ValueTask SendSettingsAsync()
+        private async Task SendSettingsAsync()
         {
             try
             {
index cbc704d..c15594b 100644 (file)
@@ -983,7 +983,7 @@ namespace System.Net.Http
                 while (buffer.Length != 0)
                 {
                     // Sync over async here -- QUIC implementation does it per-I/O already; this is at least more coarse-grained.
-                    if (_responseDataPayloadRemaining <= 0 && !ReadNextDataFrameAsync(response, CancellationToken.None).GetAwaiter().GetResult())
+                    if (_responseDataPayloadRemaining <= 0 && !ReadNextDataFrameAsync(response, CancellationToken.None).AsTask().GetAwaiter().GetResult())
                     {
                         // End of stream.
                         break;