netty5/codec-http2/src/test/java/io/netty/handler/codec/http2
Scott Mitchell 29661fdc96 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-28 11:47:50 +02:00
..
AbstractWeightedFairQueueByteDistributorDependencyTest.java migrate java8: use lambda and method reference (#8781) 2019-01-29 14:06:05 +01:00
CleartextHttp2ServerUpgradeHandlerTest.java Merge ChannelInboundHandler and ChannelOutboundHandler into ChannelHa… (#8957) 2019-03-28 09:28:27 +00:00
DataCompressionHttp2Test.java Merge ChannelInboundHandler and ChannelOutboundHandler into ChannelHa… (#8957) 2019-03-28 09:28:27 +00:00
DefaultHttp2ConnectionDecoderTest.java Remove code that accounts for changing EventExecutors in DefaultPromise (#8996) 2019-04-03 10:36:55 +02:00
DefaultHttp2ConnectionEncoderTest.java migrate java8: use lambda and method reference (#8781) 2019-01-29 14:06:05 +01:00
DefaultHttp2ConnectionTest.java migrate java8: use lambda and method reference (#8781) 2019-01-29 14:06:05 +01:00
DefaultHttp2FrameReaderTest.java Make methods 'static' where it possible 2017-10-21 14:59:26 +02:00
DefaultHttp2FrameWriterTest.java migrate java8: use lambda and method reference (#8781) 2019-01-29 14:06:05 +01: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 migrate java8: use lambda and method reference (#8781) 2019-01-29 14:06:05 +01:00
HashCollisionTest.java migrate java8: use lambda and method reference (#8781) 2019-01-29 14:06:05 +01: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 Java 8 migration: Use diamond operator (#8749) 2019-01-22 16:07:26 +01:00
HpackTestCase.java migrate java8: use lambda and method reference (#8781) 2019-01-29 14:06:05 +01:00
Http2ClientUpgradeCodecTest.java Merge ChannelInboundHandler and ChannelOutboundHandler into ChannelHa… (#8957) 2019-03-28 09:28:27 +00:00
Http2ConnectionHandlerTest.java Remove code that accounts for changing EventExecutors in DefaultPromise (#8996) 2019-04-03 10:36:55 +02:00
Http2ConnectionRoundtripTest.java Merge ChannelInboundHandler and ChannelOutboundHandler into ChannelHa… (#8957) 2019-03-28 09:28:27 +00:00
Http2FrameCodecTest.java HTTP/2 to support asynchronous SETTINGS ACK (#9069) 2019-04-28 11:47:50 +02:00
Http2FrameInboundWriter.java Merge ChannelInboundHandler and ChannelOutboundHandler into ChannelHa… (#8957) 2019-03-28 09:28:27 +00:00
Http2FrameRoundtripTest.java migrate java8: use lambda and method reference (#8781) 2019-01-29 14:06:05 +01:00
Http2HeaderBlockIOTest.java HTTP/2 Max Header List Size Bug 2017-01-19 10:42:43 -08:00
Http2MultiplexCodecBuilderTest.java Merge ChannelInboundHandler and ChannelOutboundHandler into ChannelHa… (#8957) 2019-03-28 09:28:27 +00:00
Http2MultiplexCodecClientUpgradeTest.java Deprecate ChannelInboundHandlerAdapter and ChannelOutboundHandlerAdapter (#8929) 2019-03-13 09:46:10 +01:00
Http2MultiplexCodecTest.java HTTP/2 to support asynchronous SETTINGS ACK (#9069) 2019-04-28 11:47:50 +02:00
Http2MultiplexCodecTransportTest.java HTTP/2 to support asynchronous SETTINGS ACK (#9069) 2019-04-28 11:47:50 +02:00
Http2ServerUpgradeCodecTest.java Merge ChannelInboundHandler and ChannelOutboundHandler into ChannelHa… (#8957) 2019-03-28 09:28:27 +00:00
Http2SettingsTest.java HTTP/2 Ensure default settings are correctly enforced and interfaces clarified 2016-10-07 13:00:45 -07:00
Http2StreamFrameToHttpObjectCodecTest.java Merge ChannelInboundHandler and ChannelOutboundHandler into ChannelHa… (#8957) 2019-03-28 09:28:27 +00:00
Http2TestUtil.java migrate java8: use lambda and method reference (#8781) 2019-01-29 14:06:05 +01:00
HttpConversionUtilTest.java HttpConversionUtil TE filtering robustness 2017-11-22 08:45:11 +01:00
HttpToHttp2ConnectionHandlerTest.java Merge ChannelInboundHandler and ChannelOutboundHandler into ChannelHa… (#8957) 2019-03-28 09:28:27 +00:00
InboundHttp2ToHttpAdapterTest.java Merge ChannelInboundHandler and ChannelOutboundHandler into ChannelHa… (#8957) 2019-03-28 09:28:27 +00: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 Merge ChannelInboundHandler and ChannelOutboundHandler into ChannelHa… (#8957) 2019-03-28 09:28:27 +00:00
ReadOnlyHttp2HeadersTest.java ReadOnlyHttp2Headers.contains always ignores case for values 2018-01-27 20:29:40 +01:00
StreamBufferingEncoderTest.java migrate java8: use lambda and method reference (#8781) 2019-01-29 14:06:05 +01:00
TestChannelInitializer.java Cleanup HTTP/2 tests for Http2FrameCodec and Http2MultiplexCodec (#8646) 2018-12-14 11:10:20 +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 migrate java8: use lambda and method reference (#8781) 2019-01-29 14:06:05 +01:00
WeightedFairQueueByteDistributorDependencyTreeTest.java migrate java8: use lambda and method reference (#8781) 2019-01-29 14:06:05 +01: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