netty5/codec-http2/src/test/java/io/netty/handler/codec/http2
Scott Mitchell b3dba317d7
HTTP/2 to support asynchronous SETTINGS ACK (#9069)
Motivation:
The HTTP/2 codec will synchronously respond to a SETTINGS frame with a SETTINGS
ACK before the application sees the SETTINGS frame. The application may need to
adjust its state depending upon what is in the SETTINGS frame before applying
the remote settings and responding with an ACK (e.g. to adjust for max
concurrent streams). In order to accomplish this the HTTP/2 codec should allow
for the application to opt-in to sending the SETTINGS ACK.

Modifications:
- DefaultHttp2ConnectionDecoder should support a mode where SETTINGS frames can
  be queued instead of immediately applying and ACKing.
- DefaultHttp2ConnectionEncoder should attempt to poll from the queue (if it
  exists) to apply the earliest received but not yet ACKed SETTINGS frame.
- AbstractHttp2ConnectionHandlerBuilder (and sub classes) should support a new
  option to enable the application to opt-in to managing SETTINGS ACK.

Result:
HTTP/2 allows for asynchronous SETTINGS ACK managed by the application.
2019-04-25 15:52:05 -07:00
..
AbstractWeightedFairQueueByteDistributorDependencyTest.java HTTP/2 support pending data larger than Integer.MAX_VALUE 2017-12-20 08:55:15 -08:00
CleartextHttp2ServerUpgradeHandlerTest.java Fix h2c upgrade failure when multiple connection headers are present in upgrade request (#8848) 2019-02-12 08:05:30 -08:00
DataCompressionHttp2Test.java Trigger user event when H2 conn preface & SETTINGS frame are sent 2017-10-24 09:17:06 +02:00
DefaultHttp2ConnectionDecoderTest.java HTTP/2 goaway connection state update sequencing (#8080) 2018-07-03 19:51:16 -07:00
DefaultHttp2ConnectionEncoderTest.java Ensure FlowControlled data frames will be correctly removed from the … (#8726) 2019-01-19 14:01:31 +01:00
DefaultHttp2ConnectionTest.java Update to new checkstyle plugin (#8777) (#8780) 2019-01-25 11:58:42 +01:00
DefaultHttp2FrameReaderTest.java Make methods 'static' where it possible 2017-10-21 14:59:26 +02:00
DefaultHttp2FrameWriterTest.java Make methods 'static' where it possible 2017-10-21 14:59:26 +02:00
DefaultHttp2HeadersDecoderTest.java HTTP/2 move internal HPACK classes to the http2 package 2017-03-02 07:42:41 -08:00
DefaultHttp2HeadersEncoderTest.java HTTP/2 Max Header List Size Bug 2017-01-19 10:42:43 -08:00
DefaultHttp2HeadersTest.java DefaultHttp2Headers#contains(CharSequence, CharSequence) does not work with String 2018-01-27 20:27:50 +01:00
DefaultHttp2LocalFlowControllerTest.java Remove deprecated usage of Mockito methods 2017-03-09 20:59:54 +01:00
DefaultHttp2RemoteFlowControllerTest.java Convert Http2Error.STREAM_CLOSED to ClosedChannelException when using child channels 2018-01-29 17:50:29 -08:00
HashCollisionTest.java Remove unsafe char[] access in PlatformDependent 2016-06-30 08:58:28 -07:00
HpackDecoderTest.java HpackDecoder treats invalid pseudo-headers as stream level errors 2018-06-26 13:53:14 +02:00
HpackEncoderTest.java Remove HpackDecoder.maxHeaderListSizeGoAway (#7911) 2018-05-19 08:31:59 +02:00
HpackHuffmanTest.java HTTP/2 move internal HPACK classes to the http2 package 2017-03-02 07:42:41 -08:00
HpackTest.java Adding support for whitespace in resource path in tests (#8606) 2018-12-12 10:29:02 +01:00
HpackTestCase.java Fix failing h2spec tests 8.1.2.1 related to pseudo-headers validation 2018-01-29 19:42:56 -08:00
Http2ClientUpgradeCodecTest.java Provide an API for controlling and h2c upgrade response stream in Http2MultiplexCodec (#7968) 2018-06-07 16:01:41 -07:00
Http2ConnectionHandlerTest.java Explict always call ctx.read() when AUTO_READ is false and HTTP/2 is used. (#8647) 2018-12-13 19:02:20 +01:00
Http2ConnectionRoundtripTest.java Ensure FlowControlled data frames will be correctly removed from the … (#8726) 2019-01-19 14:01:31 +01:00
Http2FrameCodecTest.java HTTP/2 to support asynchronous SETTINGS ACK (#9069) 2019-04-25 15:52:05 -07:00
Http2FrameInboundWriter.java Cleanup HTTP/2 tests for Http2FrameCodec and Http2MultiplexCodec (#8646) 2018-12-28 15:07:01 +01:00
Http2FrameRoundtripTest.java Use long for http2 ping payload. 2018-02-08 10:23:34 +01:00
Http2HeaderBlockIOTest.java HTTP/2 Max Header List Size Bug 2017-01-19 10:42:43 -08:00
Http2MultiplexCodecBuilderTest.java Fix sharable check logic 2017-11-08 08:36:07 -08:00
Http2MultiplexCodecClientUpgradeTest.java Provide an API for controlling and h2c upgrade response stream in Http2MultiplexCodec (#7968) 2018-06-07 16:01:41 -07:00
Http2MultiplexCodecTest.java HTTP/2 to support asynchronous SETTINGS ACK (#9069) 2019-04-25 15:52:05 -07:00
Http2MultiplexCodecTransportTest.java HTTP/2 to support asynchronous SETTINGS ACK (#9069) 2019-04-25 15:52:05 -07:00
Http2ServerUpgradeCodecTest.java Fix NPE when using Http2ServerUpgradeCodec with Http2FrameCodec and Http2MultiplexCodec 2017-09-14 08:23:53 -07:00
Http2SettingsTest.java HTTP/2 Ensure default settings are correctly enforced and interfaces clarified 2016-10-07 13:00:45 -07:00
Http2StreamFrameToHttpObjectCodecTest.java Make Http2StreamFrameToHttpObjectCodec truly @Sharable (#8482) 2018-11-09 18:23:53 +01:00
Http2TestUtil.java Cleanup HTTP/2 tests for Http2FrameCodec and Http2MultiplexCodec (#8646) 2018-12-28 15:07:01 +01:00
HttpConversionUtilTest.java HttpConversionUtil TE filtering robustness 2017-11-22 08:45:11 +01:00
HttpToHttp2ConnectionHandlerTest.java Trigger user event when H2 conn preface & SETTINGS frame are sent 2017-10-24 09:17:06 +02:00
InboundHttp2ToHttpAdapterTest.java Only enable validation of headers if original headers were validating as well. 2017-12-21 07:32:29 +01:00
InOrderHttp2Headers.java Fix failing h2spec tests 8.1.2.1 related to pseudo-headers validation 2018-01-29 19:42:56 -08:00
LastInboundHandler.java HTTP/2 child channel read cycle doesn't respect RecvByteBufAllocator and (#8147) 2018-07-26 19:44:21 -04:00
ReadOnlyHttp2HeadersTest.java ReadOnlyHttp2Headers.contains always ignores case for values 2018-01-27 20:29:40 +01:00
StreamBufferingEncoderTest.java HTTP/2 goaway connection state update sequencing (#8080) 2018-07-03 19:51:16 -07:00
TestChannelInitializer.java Cleanup HTTP/2 tests for Http2FrameCodec and Http2MultiplexCodec (#8646) 2018-12-28 15:07:01 +01:00
TestHeaderListener.java HTTP/2 move internal HPACK classes to the http2 package 2017-03-02 07:42:41 -08:00
UniformStreamByteDistributorFlowControllerTest.java HTTP/2 DefaultHttp2RemoteFlowController Stream writability notification broken 2015-12-21 10:01:33 +01:00
UniformStreamByteDistributorTest.java HTTP/2 support pending data larger than Integer.MAX_VALUE 2017-12-20 08:55:15 -08:00
WeightedFairQueueByteDistributorDependencyTreeTest.java HTTP/2 StreamByteDistributor improve parameter validation 2017-04-24 17:17:18 -07:00
WeightedFairQueueByteDistributorTest.java HTTP/2 support pending data larger than Integer.MAX_VALUE 2017-12-20 08:55:15 -08:00
WeightedFairQueueRemoteFlowControllerTest.java HTTP/2 DefaultHttp2RemoteFlowController Stream writability notification broken 2015-12-21 10:01:33 +01:00