netty5/codec-http2/src/test/java/io/netty/handler/codec/http2
Norman Maurer 0e4c073bcf
Remove the intermediate List from ByteToMessageDecoder (and sub-class… (#8626)
Motivation:

ByteToMessageDecoder requires using an intermediate List to put results into. This intermediate list adds overhead (memory/CPU) which grows as the number of objects increases. This overhead can be avoided by directly propagating events through the ChannelPipeline via ctx.fireChannelRead(...). This also makes the semantics more clear and allows us to keep track if we need to call ctx.read() in all cases.

Modifications:

- Remove List from the method signature of ByteToMessageDecoder.decode(...) and decodeLast(...)
- Adjust all sub-classes
- Adjust unit tests
- Fix javadocs.

Result:

Adjust ByteToMessageDecoder as noted in https://github.com/netty/netty/issues/8525.
2019-12-16 21:00:32 +01: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 Validate pseudo and conditional HTTP/2 headers (#8619) 2019-10-27 16:20:18 +01:00
DecoratingHttp2ConnectionEncoderTest.java DecoratingHttp2ConnectionEncoder.consumeRemoteSettings must not throw if delegate is instance of Http2SettingsReceivedConsumer (#9343) 2019-07-09 14:41:29 +02:00
DefaultHttp2ConnectionDecoderTest.java Remove the intermediate List from ByteToMessageDecoder (and sub-class… (#8626) 2019-12-16 21:00:32 +01:00
DefaultHttp2ConnectionEncoderTest.java DefaultHttp2ConnectionEncoder writeHeaders method always send an head frame with a priority (#9852) 2019-12-08 08:00:10 +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 Remove padding when writing CONTINUATION frame (#9752) 2019-11-05 15:21:10 +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 Call ctx.flush() when onStreamClosed(...) produces a window update frame (#9818) 2019-11-28 11:11:49 +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 Validate pseudo and conditional HTTP/2 headers (#8619) 2019-10-27 16:20:18 +01:00
HpackEncoderTest.java Use Table lookup for HPACK decoder (#9307) 2019-07-02 20:13:19 +02:00
HpackHuffmanTest.java Use ByteProcessor in HpackHuffmanDecoder to reduce bound-checks and r… (#9317) 2019-07-04 08:46:29 +02:00
HpackTest.java Replace ObjectUtil.checkNonNull(...) with Objects.requireNonNull(...) (#9864) 2019-12-10 11:27:32 +01:00
HpackTestCase.java Use fast HPACK comparisons when not checking sensitive headers (#9259) 2019-10-24 08:43:40 +02:00
Http2ClientUpgradeCodecTest.java Correctly handle client side http2 upgrades when Http2FrameCodec …(9495) (#9501) 2019-08-23 19:26:30 +02:00
Http2ConnectionHandlerTest.java Remove the intermediate List from ByteToMessageDecoder (and sub-class… (#8626) 2019-12-16 21:00:32 +01:00
Http2ConnectionRoundtripTest.java Ensure we finish setup mock before we use it in Http2ConnectionRoundtripTest.headersWriteForPeerStreamWhichWasResetShouldNotGoAway (#9645) 2019-10-09 07:23:47 +02:00
Http2ControlFrameLimitEncoderTest.java Fix ByteBuf leak in Http2ControlFrameLimitEncoderTest (#9466) 2019-08-14 13:28:36 +02:00
Http2DefaultFramesTest.java Change DefaultByteBufHolder.equals() to treat instances of different classes as not equal (#9855) 2019-12-10 11:30:23 +01:00
Http2EmptyDataFrameConnectionDecoderTest.java Http2EmptyDataFrameConnectionDecoder.frameListener() should return unwrapped Http2FrameListener (#9467) 2019-08-16 08:16:46 +02:00
Http2EmptyDataFrameListenerTest.java HTTP2: Guard against empty DATA frames (without end_of_stream flag) set (#9461) 2019-08-14 10:02:32 +02:00
Http2FrameCodecTest.java Remove the intermediate List from ByteToMessageDecoder (and sub-class… (#8626) 2019-12-16 21:00:32 +01: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
Http2HeadersValidatorTest.java Fix typo in test which did introduce a failing test after ffc3b2da72 2019-10-28 09:26:51 +01:00
Http2MultiplexClientUpgradeTest.java HTTP/2: Ensure newStream() is called only once per connection upgrade and the correct handler is used (#9396) 2019-07-23 21:13:33 +02:00
Http2MultiplexCodecBuilderTest.java Validate pseudo and conditional HTTP/2 headers (#8619) 2019-10-27 16:20:18 +01:00
Http2MultiplexCodecClientUpgradeTest.java Split multiplexing from frame decoding to allow easier customization of frame processing and better seperation of responsibilities (#9239) 2019-06-24 10:26:12 +02:00
Http2MultiplexCodecTest.java Don't propagate Http2WindowUpdateFrame to the child channel / propagate Http2ResetFrame as user event when using Http2MultiplexHandler (#9290) 2019-06-27 21:53:15 +02:00
Http2MultiplexHandlerClientUpgradeTest.java Split multiplexing from frame decoding to allow easier customization of frame processing and better seperation of responsibilities (#9239) 2019-06-24 10:26:12 +02:00
Http2MultiplexHandlerTest.java Don't propagate Http2WindowUpdateFrame to the child channel / propagate Http2ResetFrame as user event when using Http2MultiplexHandler (#9290) 2019-06-27 21:53:15 +02:00
Http2MultiplexTest.java Remove the intermediate List from ByteToMessageDecoder (and sub-class… (#8626) 2019-12-16 21:00:32 +01:00
Http2MultiplexTransportTest.java Split multiplexing from frame decoding to allow easier customization of frame processing and better seperation of responsibilities (#9239) 2019-06-24 10:26:12 +02:00
Http2ServerUpgradeCodecTest.java Change semantics of EmbeddedChannel to match other transports more closely. (#9529) 2019-09-04 12:00:06 +02: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 Remove the intermediate List from ByteToMessageDecoder (and sub-class… (#8626) 2019-12-16 21:00:32 +01:00
HttpConversionUtilTest.java Add test to check Connection-Specific headers are removed in HTTP/2 (by HttpConversionUtil.toHttp2Headers) (#9766) 2019-11-08 10:15:19 +01:00
HttpToHttp2ConnectionHandlerTest.java Validate pseudo and conditional HTTP/2 headers (#8619) 2019-10-27 16:20:18 +01:00
InboundHttp2ToHttpAdapterTest.java Rename SimpleChannelInboundHandler.channelRead0() to messageReceived() (#8819) 2019-11-01 07:23:07 +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 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 Remove the intermediate List from ByteToMessageDecoder (and sub-class… (#8626) 2019-12-16 21:00:32 +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