netty5/codec-redis/src/main/java/io/netty/handler/codec/redis
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
..
AbstractStringRedisMessage.java migrate java8: use requireNonNull (#8840) 2019-02-04 10:32:25 +01:00
ArrayHeaderRedisMessage.java [#5088] Add annotation which marks packages/interfaces/classes as unstable 2016-05-09 15:16:35 +02:00
ArrayRedisMessage.java migrate java8: use requireNonNull (#8840) 2019-02-04 10:32:25 +01:00
BulkStringHeaderRedisMessage.java [#5088] Add annotation which marks packages/interfaces/classes as unstable 2016-05-09 15:16:35 +02:00
BulkStringRedisContent.java Make retained derived buffers recyclable 2016-05-17 11:16:13 +02:00
DefaultBulkStringRedisContent.java Make retained derived buffers recyclable 2016-05-17 11:16:13 +02:00
DefaultLastBulkStringRedisContent.java Make retained derived buffers recyclable 2016-05-17 11:16:13 +02:00
ErrorRedisMessage.java Support Redis inline commands 2018-03-27 09:46:20 +02:00
FixedRedisMessagePool.java Java 8 migration: Use diamond operator (#8749) 2019-01-22 16:07:26 +01:00
FullBulkStringRedisMessage.java Make retained derived buffers recyclable 2016-05-17 11:16:13 +02:00
InlineCommandRedisMessage.java Support Redis inline commands 2018-03-27 09:46:20 +02:00
IntegerRedisMessage.java [#5088] Add annotation which marks packages/interfaces/classes as unstable 2016-05-09 15:16:35 +02:00
LastBulkStringRedisContent.java Make retained derived buffers recyclable 2016-05-17 11:16:13 +02:00
package-info.java [#5088] Add annotation which marks packages/interfaces/classes as unstable 2016-05-09 15:16:35 +02:00
RedisArrayAggregator.java Remove the intermediate List from ByteToMessageDecoder (and sub-class… (#8626) 2019-12-16 21:00:32 +01:00
RedisBulkStringAggregator.java [#5088] Add annotation which marks packages/interfaces/classes as unstable 2016-05-09 15:16:35 +02:00
RedisCodecException.java [#5088] Add annotation which marks packages/interfaces/classes as unstable 2016-05-09 15:16:35 +02:00
RedisCodecUtil.java Implement codec-redis 2016-04-14 10:23:16 +02:00
RedisConstants.java Support Redis inline commands 2018-03-27 09:46:20 +02:00
RedisDecoder.java Remove the intermediate List from ByteToMessageDecoder (and sub-class… (#8626) 2019-12-16 21:00:32 +01:00
RedisEncoder.java migrate java8: use requireNonNull (#8840) 2019-02-04 10:32:25 +01:00
RedisMessage.java [#5088] Add annotation which marks packages/interfaces/classes as unstable 2016-05-09 15:16:35 +02:00
RedisMessagePool.java [#5088] Add annotation which marks packages/interfaces/classes as unstable 2016-05-09 15:16:35 +02:00
RedisMessageType.java Support Redis inline commands 2018-03-27 09:46:20 +02:00
SimpleStringRedisMessage.java Support Redis inline commands 2018-03-27 09:46:20 +02:00