Skip to content

Commit 1fca8cc

Browse files
committed
Http2MessageBody.TryRead TryStart/TryStop
1 parent 2d8cd17 commit 1fca8cc

File tree

1 file changed

+16
-4
lines changed

1 file changed

+16
-4
lines changed

src/Servers/Kestrel/Core/src/Internal/Http2/Http2MessageBody.cs

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -69,11 +69,23 @@ public override void AdvanceTo(SequencePosition consumed, SequencePosition exami
6969

7070
public override bool TryRead(out ReadResult readResult)
7171
{
72-
var result = _context.RequestBodyPipe.Reader.TryRead(out readResult);
73-
_readResult = readResult;
74-
CountBytesRead(readResult.Buffer.Length);
72+
TryStart();
73+
74+
var hasResult = _context.RequestBodyPipe.Reader.TryRead(out readResult);
75+
76+
if (hasResult)
77+
{
78+
_readResult = readResult;
79+
80+
CountBytesRead(readResult.Buffer.Length);
81+
82+
if (readResult.IsCompleted)
83+
{
84+
TryStop();
85+
}
86+
}
7587

76-
return result;
88+
return hasResult;
7789
}
7890

7991
public override async ValueTask<ReadResult> ReadAsync(CancellationToken cancellationToken = default)

0 commit comments

Comments
 (0)