Skip to content
代码片段 群组 项目
未验证 提交 85563620 编辑于 作者: Aditya Mandaleeka's avatar Aditya Mandaleeka 提交者: GitHub
浏览文件

Use PoolingAsyncValueTaskMethodBuilder on various ReadAsync methods. (#35011)

上级 b88bc699
No related branches found
No related tags found
无相关合并请求
...@@ -5,6 +5,7 @@ using System; ...@@ -5,6 +5,7 @@ using System;
using System.Diagnostics; using System.Diagnostics;
using System.Globalization; using System.Globalization;
using System.IO.Pipelines; using System.IO.Pipelines;
using System.Runtime.CompilerServices;
using System.Threading; using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
using Microsoft.AspNetCore.Connections; using Microsoft.AspNetCore.Connections;
...@@ -29,6 +30,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http ...@@ -29,6 +30,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
_unexaminedInputLength = contentLength; _unexaminedInputLength = contentLength;
} }
[AsyncMethodBuilder(typeof(PoolingAsyncValueTaskMethodBuilder<>))]
public override async ValueTask<ReadResult> ReadAsyncInternal(CancellationToken cancellationToken = default) public override async ValueTask<ReadResult> ReadAsyncInternal(CancellationToken cancellationToken = default)
{ {
VerifyIsNotReading(); VerifyIsNotReading();
......
...@@ -3,6 +3,7 @@ ...@@ -3,6 +3,7 @@
using System; using System;
using System.IO.Pipelines; using System.IO.Pipelines;
using System.Runtime.CompilerServices;
using System.Threading; using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
...@@ -92,6 +93,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http ...@@ -92,6 +93,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
return new ValueTask<ReadResult>(readResult); return new ValueTask<ReadResult>(readResult);
} }
[AsyncMethodBuilder(typeof(PoolingAsyncValueTaskMethodBuilder<>))]
private async ValueTask<ReadResult> ReadAsyncInternalAwaited(ValueTask<ReadResult> readTask, CancellationToken cancellationToken = default) private async ValueTask<ReadResult> ReadAsyncInternalAwaited(ValueTask<ReadResult> readTask, CancellationToken cancellationToken = default)
{ {
var readResult = await readTask; var readResult = await readTask;
......
...@@ -5,6 +5,7 @@ using System; ...@@ -5,6 +5,7 @@ using System;
using System.Diagnostics; using System.Diagnostics;
using System.Globalization; using System.Globalization;
using System.IO.Pipelines; using System.IO.Pipelines;
using System.Runtime.CompilerServices;
using System.Threading; using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
using Microsoft.AspNetCore.Connections; using Microsoft.AspNetCore.Connections;
...@@ -89,6 +90,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http2 ...@@ -89,6 +90,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http2
return hasResult; return hasResult;
} }
[AsyncMethodBuilder(typeof(PoolingAsyncValueTaskMethodBuilder<>))]
public override async ValueTask<ReadResult> ReadAsync(CancellationToken cancellationToken = default) public override async ValueTask<ReadResult> ReadAsync(CancellationToken cancellationToken = default)
{ {
await TryStartAsync(); await TryStartAsync();
......
...@@ -4,6 +4,7 @@ ...@@ -4,6 +4,7 @@
using System; using System;
using System.Globalization; using System.Globalization;
using System.IO.Pipelines; using System.IO.Pipelines;
using System.Runtime.CompilerServices;
using System.Threading; using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
using Microsoft.AspNetCore.Connections; using Microsoft.AspNetCore.Connections;
...@@ -68,6 +69,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http3 ...@@ -68,6 +69,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http3
return hasResult; return hasResult;
} }
[AsyncMethodBuilder(typeof(PoolingAsyncValueTaskMethodBuilder<>))]
public override async ValueTask<ReadResult> ReadAsync(CancellationToken cancellationToken = default) public override async ValueTask<ReadResult> ReadAsync(CancellationToken cancellationToken = default)
{ {
await TryStartAsync(); await TryStartAsync();
......
...@@ -8,6 +8,7 @@ using System.Threading; ...@@ -8,6 +8,7 @@ using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
using System.Buffers; using System.Buffers;
using Microsoft.AspNetCore.Internal; using Microsoft.AspNetCore.Internal;
using System.Runtime.CompilerServices;
#nullable enable #nullable enable
...@@ -112,6 +113,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal ...@@ -112,6 +113,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal
return _output.FlushAsync(cancellationToken).GetAsTask(); return _output.FlushAsync(cancellationToken).GetAsTask();
} }
[AsyncMethodBuilder(typeof(PoolingAsyncValueTaskMethodBuilder<>))]
private async ValueTask<int> ReadAsyncInternal(Memory<byte> destination, CancellationToken cancellationToken) private async ValueTask<int> ReadAsyncInternal(Memory<byte> destination, CancellationToken cancellationToken)
{ {
while (true) while (true)
......
0% 加载中 .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册