Http2MessageBody.TryRead TryStart/TryStop (#13464)

This commit is contained in:
Ben Adams 2019-08-28 00:21:32 +01:00 committed by Stephen Halter
parent b9d1e067ee
commit 649bcc8f61
1 changed files with 16 additions and 4 deletions

View File

@ -69,11 +69,23 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http2
public override bool TryRead(out ReadResult readResult)
{
var result = _context.RequestBodyPipe.Reader.TryRead(out readResult);
_readResult = readResult;
CountBytesRead(readResult.Buffer.Length);
TryStart();
return result;
var hasResult = _context.RequestBodyPipe.Reader.TryRead(out readResult);
if (hasResult)
{
_readResult = readResult;
CountBytesRead(readResult.Buffer.Length);
if (readResult.IsCompleted)
{
TryStop();
}
}
return hasResult;
}
public override async ValueTask<ReadResult> ReadAsync(CancellationToken cancellationToken = default)