Skip to content

Commit 750c157

Browse files
author
ladeak
committed
Review feedback
1 parent e4f0d54 commit 750c157

File tree

5 files changed

+52
-52
lines changed

5 files changed

+52
-52
lines changed

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

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -487,9 +487,9 @@ private void WriteResponseHeadersUnsynchronized(int streamId, int statusCode, Ht
487487
_headersEnumerator.Initialize(headers);
488488
_outgoingFrame.PrepareHeaders(headerFrameFlags, streamId);
489489
_headerEncodingBuffer.ResetWrittenCount();
490-
var buffer = _headerEncodingBuffer.GetSpan(_maxFrameSize)[0.._maxFrameSize];
490+
var buffer = _headerEncodingBuffer.GetSpan(_maxFrameSize)[0.._maxFrameSize]; // GetSpan might return more data that can result in a less deterministic behavior on the way headers are split into frames.
491491
var done = HPackHeaderWriter.BeginEncodeHeaders(statusCode, _hpackEncoder, _headersEnumerator, buffer, out var payloadLength);
492-
Debug.Assert(done != HeaderWriteResult.BufferTooSmall, "Oversized frames should not be returned, beucase this always writes the status.");
492+
Debug.Assert(done != HPackHeaderWriter.HeaderWriteResult.BufferTooSmall, "Oversized frames should not be returned, beucase this always writes the status.");
493493
_headerEncodingBuffer.Advance(payloadLength);
494494
FinishWritingHeaders(streamId, payloadLength, done);
495495
}
@@ -529,16 +529,16 @@ private ValueTask<FlushResult> WriteDataAndTrailersAsync(Http2Stream stream, in
529529
try
530530
{
531531
_outgoingFrame.PrepareHeaders(Http2HeadersFrameFlags.END_STREAM, streamId);
532-
HeaderWriteResult done = HeaderWriteResult.MoreHeaders;
532+
var done = HPackHeaderWriter.HeaderWriteResult.MoreHeaders;
533533
int payloadLength;
534534
do
535535
{
536536
_headersEnumerator.Initialize(headers);
537537
_headerEncodingBuffer.ResetWrittenCount();
538-
var bufferSize = done == HeaderWriteResult.BufferTooSmall ? _headerEncodingBuffer.Capacity * 2 : _headerEncodingBuffer.Capacity;
539-
var buffer = _headerEncodingBuffer.GetSpan(bufferSize)[0..bufferSize];
538+
var bufferSize = done == HPackHeaderWriter.HeaderWriteResult.BufferTooSmall ? _headerEncodingBuffer.Capacity * 2 : _headerEncodingBuffer.Capacity;
539+
var buffer = _headerEncodingBuffer.GetSpan(bufferSize)[0..bufferSize]; // GetSpan might return more data that can result in a less deterministic behavior on the way headers are split into frames.
540540
done = HPackHeaderWriter.BeginEncodeHeaders(_hpackEncoder, _headersEnumerator, buffer, out payloadLength);
541-
} while (done == HeaderWriteResult.BufferTooSmall);
541+
} while (done == HPackHeaderWriter.HeaderWriteResult.BufferTooSmall);
542542
_headerEncodingBuffer.Advance(payloadLength);
543543
FinishWritingHeaders(streamId, payloadLength, done);
544544
}
@@ -554,7 +554,7 @@ private ValueTask<FlushResult> WriteDataAndTrailersAsync(Http2Stream stream, in
554554
}
555555
}
556556

557-
private void SplitHeaderFramesToOutput(int streamId, HeaderWriteResult done, bool isFramePrepared)
557+
private void SplitHeaderFramesToOutput(int streamId, HPackHeaderWriter.HeaderWriteResult done, bool isFramePrepared)
558558
{
559559
var dataToFrame = _headerEncodingBuffer.WrittenSpan;
560560
var shouldPrepareFrame = !isFramePrepared;
@@ -569,9 +569,9 @@ private void SplitHeaderFramesToOutput(int streamId, HeaderWriteResult done, boo
569569
shouldPrepareFrame = true;
570570
}
571571

572-
var currentSize = dataToFrame.Length > _maxFrameSize ? _maxFrameSize : dataToFrame.Length;
572+
var currentSize = Math.Min(dataToFrame.Length, _maxFrameSize);
573573
_outgoingFrame.PayloadLength = currentSize;
574-
if (done == HeaderWriteResult.Done && dataToFrame.Length == currentSize)
574+
if (done == HPackHeaderWriter.HeaderWriteResult.Done && dataToFrame.Length == currentSize)
575575
{
576576
_outgoingFrame.HeadersFlags |= Http2HeadersFrameFlags.END_HEADERS;
577577
}
@@ -582,13 +582,13 @@ private void SplitHeaderFramesToOutput(int streamId, HeaderWriteResult done, boo
582582
}
583583
}
584584

585-
private void FinishWritingHeaders(int streamId, int payloadLength, HeaderWriteResult done)
585+
private void FinishWritingHeaders(int streamId, int payloadLength, HPackHeaderWriter.HeaderWriteResult done)
586586
{
587587
SplitHeaderFramesToOutput(streamId, done, isFramePrepared: true);
588-
while (done != HeaderWriteResult.Done)
588+
while (done != HPackHeaderWriter.HeaderWriteResult.Done)
589589
{
590590
_headerEncodingBuffer.ResetWrittenCount();
591-
var bufferSize = done == HeaderWriteResult.BufferTooSmall ? _headerEncodingBuffer.Capacity * 2 : _headerEncodingBuffer.Capacity;
591+
var bufferSize = done == HPackHeaderWriter.HeaderWriteResult.BufferTooSmall ? _headerEncodingBuffer.Capacity * 2 : _headerEncodingBuffer.Capacity;
592592
var buffer = _headerEncodingBuffer.GetSpan(bufferSize)[0..bufferSize];
593593
done = HPackHeaderWriter.ContinueEncodeHeaders(_hpackEncoder, _headersEnumerator, buffer, out payloadLength);
594594
_headerEncodingBuffer.Advance(payloadLength);

src/Servers/Kestrel/Core/test/Http2/Http2HPackEncoderTests.cs

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ public void BeginEncodeHeaders_Status302_NewIndexValue()
2929
enumerator.Initialize(headers);
3030

3131
var hpackEncoder = new DynamicHPackEncoder();
32-
Assert.Equal(HeaderWriteResult.Done, HPackHeaderWriter.BeginEncodeHeaders(302, hpackEncoder, enumerator, buffer, out var length));
32+
Assert.Equal(HPackHeaderWriter.HeaderWriteResult.Done, HPackHeaderWriter.BeginEncodeHeaders(302, hpackEncoder, enumerator, buffer, out var length));
3333

3434
var result = buffer.Slice(0, length).ToArray();
3535
var hex = BitConverter.ToString(result);
@@ -52,7 +52,7 @@ public void BeginEncodeHeaders_CacheControlPrivate_NewIndexValue()
5252
enumerator.Initialize(headers);
5353

5454
var hpackEncoder = new DynamicHPackEncoder();
55-
Assert.Equal(HeaderWriteResult.Done, HPackHeaderWriter.BeginEncodeHeaders(302, hpackEncoder, enumerator, buffer, out var length));
55+
Assert.Equal(HPackHeaderWriter.HeaderWriteResult.Done, HPackHeaderWriter.BeginEncodeHeaders(302, hpackEncoder, enumerator, buffer, out var length));
5656

5757
var result = buffer.Slice(5, length - 5).ToArray();
5858
var hex = BitConverter.ToString(result);
@@ -81,7 +81,7 @@ public void BeginEncodeHeaders_MaxHeaderTableSizeExceeded_EvictionsToFit()
8181

8282
// First response
8383
enumerator.Initialize(headers);
84-
Assert.Equal(HeaderWriteResult.Done, HPackHeaderWriter.BeginEncodeHeaders(302, hpackEncoder, enumerator, buffer, out var length));
84+
Assert.Equal(HPackHeaderWriter.HeaderWriteResult.Done, HPackHeaderWriter.BeginEncodeHeaders(302, hpackEncoder, enumerator, buffer, out var length));
8585

8686
var result = buffer.Slice(0, length).ToArray();
8787
var hex = BitConverter.ToString(result);
@@ -123,7 +123,7 @@ public void BeginEncodeHeaders_MaxHeaderTableSizeExceeded_EvictionsToFit()
123123

124124
// Second response
125125
enumerator.Initialize(headers);
126-
Assert.Equal(HeaderWriteResult.Done, HPackHeaderWriter.BeginEncodeHeaders(307, hpackEncoder, enumerator, buffer, out length));
126+
Assert.Equal(HPackHeaderWriter.HeaderWriteResult.Done, HPackHeaderWriter.BeginEncodeHeaders(307, hpackEncoder, enumerator, buffer, out length));
127127

128128
result = buffer.Slice(0, length).ToArray();
129129
hex = BitConverter.ToString(result);
@@ -164,7 +164,7 @@ public void BeginEncodeHeaders_MaxHeaderTableSizeExceeded_EvictionsToFit()
164164
headers.SetCookie = "foo=ASDJKHQKBZXOQWEOPIUAXQWEOIU; max-age=3600; version=1";
165165

166166
enumerator.Initialize(headers);
167-
Assert.Equal(HeaderWriteResult.Done, HPackHeaderWriter.BeginEncodeHeaders(200, hpackEncoder, enumerator, buffer, out length));
167+
Assert.Equal(HPackHeaderWriter.HeaderWriteResult.Done, HPackHeaderWriter.BeginEncodeHeaders(200, hpackEncoder, enumerator, buffer, out length));
168168

169169
result = buffer.Slice(0, length).ToArray();
170170
hex = BitConverter.ToString(result);
@@ -225,7 +225,7 @@ public void BeginEncodeHeadersCustomEncoding_MaxHeaderTableSizeExceeded_Eviction
225225

226226
// First response
227227
enumerator.Initialize((HttpResponseHeaders)headers);
228-
Assert.Equal(HeaderWriteResult.Done, HPackHeaderWriter.BeginEncodeHeaders(302, hpackEncoder, enumerator, buffer, out var length));
228+
Assert.Equal(HPackHeaderWriter.HeaderWriteResult.Done, HPackHeaderWriter.BeginEncodeHeaders(302, hpackEncoder, enumerator, buffer, out var length));
229229

230230
var result = buffer.Slice(0, length).ToArray();
231231
var hex = BitConverter.ToString(result);
@@ -267,7 +267,7 @@ public void BeginEncodeHeadersCustomEncoding_MaxHeaderTableSizeExceeded_Eviction
267267

268268
// Second response
269269
enumerator.Initialize(headers);
270-
Assert.Equal(HeaderWriteResult.Done, HPackHeaderWriter.BeginEncodeHeaders(307, hpackEncoder, enumerator, buffer, out length));
270+
Assert.Equal(HPackHeaderWriter.HeaderWriteResult.Done, HPackHeaderWriter.BeginEncodeHeaders(307, hpackEncoder, enumerator, buffer, out length));
271271

272272
result = buffer.Slice(0, length).ToArray();
273273
hex = BitConverter.ToString(result);
@@ -308,7 +308,7 @@ public void BeginEncodeHeadersCustomEncoding_MaxHeaderTableSizeExceeded_Eviction
308308
headers.SetCookie = "foo=ASDJKHQKBZXOQWEOPIUAXQWEOIU; max-age=3600; version=1";
309309

310310
enumerator.Initialize(headers);
311-
Assert.Equal(HeaderWriteResult.Done, HPackHeaderWriter.BeginEncodeHeaders(200, hpackEncoder, enumerator, buffer, out length));
311+
Assert.Equal(HPackHeaderWriter.HeaderWriteResult.Done, HPackHeaderWriter.BeginEncodeHeaders(200, hpackEncoder, enumerator, buffer, out length));
312312

313313
result = buffer.Slice(0, length).ToArray();
314314
hex = BitConverter.ToString(result);
@@ -366,7 +366,7 @@ public void BeginEncodeHeaders_ExcludedHeaders_NotAddedToTable(string headerName
366366
enumerator.Initialize(headers);
367367

368368
var hpackEncoder = new DynamicHPackEncoder(maxHeaderTableSize: Http2PeerSettings.DefaultHeaderTableSize);
369-
Assert.Equal(HeaderWriteResult.Done, HPackHeaderWriter.BeginEncodeHeaders(hpackEncoder, enumerator, buffer, out _));
369+
Assert.Equal(HPackHeaderWriter.HeaderWriteResult.Done, HPackHeaderWriter.BeginEncodeHeaders(hpackEncoder, enumerator, buffer, out _));
370370

371371
if (neverIndex)
372372
{
@@ -392,7 +392,7 @@ public void BeginEncodeHeaders_HeaderExceedHeaderTableSize_NoIndexAndNoHeaderEnt
392392
enumerator.Initialize(headers);
393393

394394
var hpackEncoder = new DynamicHPackEncoder();
395-
Assert.Equal(HeaderWriteResult.Done, HPackHeaderWriter.BeginEncodeHeaders(200, hpackEncoder, enumerator, buffer, out var length));
395+
Assert.Equal(HPackHeaderWriter.HeaderWriteResult.Done, HPackHeaderWriter.BeginEncodeHeaders(200, hpackEncoder, enumerator, buffer, out var length));
396396

397397
Assert.Empty(GetHeaderEntries(hpackEncoder));
398398
}
@@ -482,11 +482,11 @@ public void EncodesHeadersInSinglePayloadWhenSpaceAvailable(KeyValuePair<string,
482482
var length = 0;
483483
if (statusCode.HasValue)
484484
{
485-
Assert.Equal(HeaderWriteResult.Done, HPackHeaderWriter.BeginEncodeHeaders(statusCode.Value, hpackEncoder, GetHeadersEnumerator(headers), payload, out length));
485+
Assert.Equal(HPackHeaderWriter.HeaderWriteResult.Done, HPackHeaderWriter.BeginEncodeHeaders(statusCode.Value, hpackEncoder, GetHeadersEnumerator(headers), payload, out length));
486486
}
487487
else
488488
{
489-
Assert.Equal(HeaderWriteResult.Done, HPackHeaderWriter.BeginEncodeHeaders(hpackEncoder, GetHeadersEnumerator(headers), payload, out length));
489+
Assert.Equal(HPackHeaderWriter.HeaderWriteResult.Done, HPackHeaderWriter.BeginEncodeHeaders(hpackEncoder, GetHeadersEnumerator(headers), payload, out length));
490490
}
491491
Assert.Equal(expectedPayload.Length, length);
492492

@@ -548,28 +548,28 @@ public void EncodesHeadersInMultiplePayloadsWhenSpaceNotAvailable(bool exactSize
548548

549549
// When !exactSize, slices are one byte short of fitting the next header
550550
var sliceLength = expectedStatusCodePayload.Length + (exactSize ? 0 : expectedDateHeaderPayload.Length - 1);
551-
Assert.Equal(HeaderWriteResult.MoreHeaders, HPackHeaderWriter.BeginEncodeHeaders(statusCode, hpackEncoder, headerEnumerator, payload.Slice(offset, sliceLength), out var length));
551+
Assert.Equal(HPackHeaderWriter.HeaderWriteResult.MoreHeaders, HPackHeaderWriter.BeginEncodeHeaders(statusCode, hpackEncoder, headerEnumerator, payload.Slice(offset, sliceLength), out var length));
552552
Assert.Equal(expectedStatusCodePayload.Length, length);
553553
Assert.Equal(expectedStatusCodePayload, payload.Slice(0, length).ToArray());
554554

555555
offset += length;
556556

557557
sliceLength = expectedDateHeaderPayload.Length + (exactSize ? 0 : expectedContentTypeHeaderPayload.Length - 1);
558-
Assert.Equal(HeaderWriteResult.MoreHeaders, HPackHeaderWriter.ContinueEncodeHeaders(hpackEncoder, headerEnumerator, payload.Slice(offset, sliceLength), out length));
558+
Assert.Equal(HPackHeaderWriter.HeaderWriteResult.MoreHeaders, HPackHeaderWriter.ContinueEncodeHeaders(hpackEncoder, headerEnumerator, payload.Slice(offset, sliceLength), out length));
559559
Assert.Equal(expectedDateHeaderPayload.Length, length);
560560
Assert.Equal(expectedDateHeaderPayload, payload.Slice(offset, length).ToArray());
561561

562562
offset += length;
563563

564564
sliceLength = expectedContentTypeHeaderPayload.Length + (exactSize ? 0 : expectedServerHeaderPayload.Length - 1);
565-
Assert.Equal(HeaderWriteResult.MoreHeaders, HPackHeaderWriter.ContinueEncodeHeaders(hpackEncoder, headerEnumerator, payload.Slice(offset, sliceLength), out length));
565+
Assert.Equal(HPackHeaderWriter.HeaderWriteResult.MoreHeaders, HPackHeaderWriter.ContinueEncodeHeaders(hpackEncoder, headerEnumerator, payload.Slice(offset, sliceLength), out length));
566566
Assert.Equal(expectedContentTypeHeaderPayload.Length, length);
567567
Assert.Equal(expectedContentTypeHeaderPayload, payload.Slice(offset, length).ToArray());
568568

569569
offset += length;
570570

571571
sliceLength = expectedServerHeaderPayload.Length;
572-
Assert.Equal(HeaderWriteResult.Done, HPackHeaderWriter.ContinueEncodeHeaders(hpackEncoder, headerEnumerator, payload.Slice(offset, sliceLength), out length));
572+
Assert.Equal(HPackHeaderWriter.HeaderWriteResult.Done, HPackHeaderWriter.ContinueEncodeHeaders(hpackEncoder, headerEnumerator, payload.Slice(offset, sliceLength), out length));
573573
Assert.Equal(expectedServerHeaderPayload.Length, length);
574574
Assert.Equal(expectedServerHeaderPayload, payload.Slice(offset, length).ToArray());
575575
}
@@ -586,7 +586,7 @@ public void BeginEncodeHeaders_MaxHeaderTableSizeUpdated_SizeUpdateInHeaders()
586586

587587
// First request
588588
enumerator.Initialize(new Dictionary<string, StringValues>());
589-
Assert.Equal(HeaderWriteResult.Done, HPackHeaderWriter.BeginEncodeHeaders(hpackEncoder, enumerator, buffer, out var length));
589+
Assert.Equal(HPackHeaderWriter.HeaderWriteResult.Done, HPackHeaderWriter.BeginEncodeHeaders(hpackEncoder, enumerator, buffer, out var length));
590590

591591
Assert.Equal(2, length);
592592

@@ -600,7 +600,7 @@ public void BeginEncodeHeaders_MaxHeaderTableSizeUpdated_SizeUpdateInHeaders()
600600

601601
// Second request
602602
enumerator.Initialize(new Dictionary<string, StringValues>());
603-
Assert.Equal(HeaderWriteResult.Done, HPackHeaderWriter.BeginEncodeHeaders(hpackEncoder, enumerator, buffer, out length));
603+
Assert.Equal(HPackHeaderWriter.HeaderWriteResult.Done, HPackHeaderWriter.BeginEncodeHeaders(hpackEncoder, enumerator, buffer, out length));
604604

605605
Assert.Equal(0, length);
606606
}
@@ -616,7 +616,7 @@ public void WithStatusCode_TooLargeHeader_ReturnsNotDone()
616616
enumerator.Initialize(headers);
617617

618618
var hpackEncoder = new DynamicHPackEncoder();
619-
Assert.Equal(HeaderWriteResult.MoreHeaders, HPackHeaderWriter.BeginEncodeHeaders(200, hpackEncoder, enumerator, buffer, out var length));
619+
Assert.Equal(HPackHeaderWriter.HeaderWriteResult.MoreHeaders, HPackHeaderWriter.BeginEncodeHeaders(200, hpackEncoder, enumerator, buffer, out var length));
620620
}
621621

622622
[Fact]
@@ -630,7 +630,7 @@ public void NoStatusCodeLargeHeader_ReturnsOversized()
630630
enumerator.Initialize(headers);
631631

632632
var hpackEncoder = new DynamicHPackEncoder();
633-
Assert.Equal(HeaderWriteResult.BufferTooSmall, HPackHeaderWriter.BeginEncodeHeaders(hpackEncoder, enumerator, buffer, out var length));
633+
Assert.Equal(HPackHeaderWriter.HeaderWriteResult.BufferTooSmall, HPackHeaderWriter.BeginEncodeHeaders(hpackEncoder, enumerator, buffer, out var length));
634634
}
635635

636636
[Fact]
@@ -644,7 +644,7 @@ public void WithStatusCode_JustFittingHeaderNoSpace_ReturnsNotDone()
644644
enumerator.Initialize(headers);
645645

646646
var hpackEncoder = new DynamicHPackEncoder();
647-
Assert.Equal(HeaderWriteResult.MoreHeaders, HPackHeaderWriter.BeginEncodeHeaders(200, hpackEncoder, enumerator, buffer, out var length));
647+
Assert.Equal(HPackHeaderWriter.HeaderWriteResult.MoreHeaders, HPackHeaderWriter.BeginEncodeHeaders(200, hpackEncoder, enumerator, buffer, out var length));
648648
}
649649

650650
[Fact]
@@ -659,7 +659,7 @@ public void NoStatusCode_JustFittingHeaderNoSpace_ReturnsNotDone()
659659
enumerator.Initialize(headers);
660660

661661
var hpackEncoder = new DynamicHPackEncoder();
662-
Assert.Equal(HeaderWriteResult.MoreHeaders, HPackHeaderWriter.BeginEncodeHeaders(hpackEncoder, enumerator, buffer, out var length));
662+
Assert.Equal(HPackHeaderWriter.HeaderWriteResult.MoreHeaders, HPackHeaderWriter.BeginEncodeHeaders(hpackEncoder, enumerator, buffer, out var length));
663663
}
664664

665665
private static Http2HeadersEnumerator GetHeadersEnumerator(IEnumerable<KeyValuePair<string, string>> headers)

src/Servers/Kestrel/shared/HPackHeaderWriter.cs

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -10,22 +10,22 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http2;
1010
namespace Microsoft.AspNetCore.Server.Kestrel.Core.Tests;
1111
#endif
1212

13-
internal enum HeaderWriteResult : byte
14-
{
15-
// Not all headers written.
16-
MoreHeaders = 0,
17-
18-
// All headers written.
19-
Done = 1,
20-
21-
// Oversized header for the given buffer.
22-
BufferTooSmall = 2,
23-
}
24-
2513
// This file is used by Kestrel to write response headers and tests to write request headers.
2614
// To avoid adding test code to Kestrel this file is shared. Test specifc code is excluded from Kestrel by ifdefs.
2715
internal static class HPackHeaderWriter
2816
{
17+
internal enum HeaderWriteResult : byte
18+
{
19+
// Not all headers written.
20+
MoreHeaders = 0,
21+
22+
// All headers written.
23+
Done = 1,
24+
25+
// Oversized header for the given buffer.
26+
BufferTooSmall = 2,
27+
}
28+
2929
/// <summary>
3030
/// Begin encoding headers in the first HEADERS frame.
3131
/// </summary>

src/Servers/Kestrel/shared/test/PipeWriterHttp2FrameExtensions.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ public static void WriteStartStream(this PipeWriter writer, int streamId, Dynami
3636
var done = HPackHeaderWriter.BeginEncodeHeaders(hpackEncoder, headers, buffer, out var length);
3737
frame.PayloadLength = length;
3838

39-
if (done == Microsoft.AspNetCore.Server.Kestrel.Core.Tests.HeaderWriteResult.Done)
39+
if (done == HPackHeaderWriter.HeaderWriteResult.Done)
4040
{
4141
frame.HeadersFlags = Http2HeadersFrameFlags.END_HEADERS;
4242
}
@@ -49,14 +49,14 @@ public static void WriteStartStream(this PipeWriter writer, int streamId, Dynami
4949
Http2FrameWriter.WriteHeader(frame, writer);
5050
writer.Write(buffer.Slice(0, length));
5151

52-
while (done != Microsoft.AspNetCore.Server.Kestrel.Core.Tests.HeaderWriteResult.Done)
52+
while (done != HPackHeaderWriter.HeaderWriteResult.Done)
5353
{
5454
frame.PrepareContinuation(Http2ContinuationFrameFlags.NONE, streamId);
5555

5656
done = HPackHeaderWriter.ContinueEncodeHeaders(hpackEncoder, headers, buffer, out length);
5757
frame.PayloadLength = length;
5858

59-
if (done == Microsoft.AspNetCore.Server.Kestrel.Core.Tests.HeaderWriteResult.Done)
59+
if (done == HPackHeaderWriter.HeaderWriteResult.Done)
6060
{
6161
frame.ContinuationFlags = Http2ContinuationFrameFlags.END_HEADERS;
6262
}

0 commit comments

Comments
 (0)