netty5/codec-dns/src/main/java/io/netty/handler/codec/dns
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
..
AbstractDnsMessage.java migrate java8: use requireNonNull (#8840) 2019-02-04 10:32:25 +01:00
AbstractDnsOptPseudoRrRecord.java Add support for Client Subnet in DNS Queries (RFC7871) 2016-09-06 07:16:57 +02:00
AbstractDnsRecord.java use checkPositive/checkPositiveOrZero (#8835) 2019-02-04 15:55:07 +01:00
DatagramDnsQuery.java [#5088] Add annotation which marks packages/interfaces/classes as unstable 2016-05-09 15:16:35 +02:00
DatagramDnsQueryDecoder.java Remove the intermediate List from ByteToMessageDecoder (and sub-class… (#8626) 2019-12-16 21:00:32 +01:00
DatagramDnsQueryEncoder.java Add support for TCP fallback when we receive a truncated DnsResponse (#9139) 2019-05-17 14:47:10 +02:00
DatagramDnsResponse.java [#5088] Add annotation which marks packages/interfaces/classes as unstable 2016-05-09 15:16:35 +02:00
DatagramDnsResponseDecoder.java Remove the intermediate List from ByteToMessageDecoder (and sub-class… (#8626) 2019-12-16 21:00:32 +01:00
DatagramDnsResponseEncoder.java migrate java8: use requireNonNull (#8840) 2019-02-04 10:32:25 +01:00
DefaultDnsOptEcsRecord.java Add support for Client Subnet in DNS Queries (RFC7871) 2016-09-06 07:16:57 +02:00
DefaultDnsPtrRecord.java migrate java8: use requireNonNull (#8840) 2019-02-04 10:32:25 +01:00
DefaultDnsQuery.java [#5088] Add annotation which marks packages/interfaces/classes as unstable 2016-05-09 15:16:35 +02:00
DefaultDnsQuestion.java [#5088] Add annotation which marks packages/interfaces/classes as unstable 2016-05-09 15:16:35 +02:00
DefaultDnsRawRecord.java migrate java8: use requireNonNull (#8840) 2019-02-04 10:32:25 +01:00
DefaultDnsRecordDecoder.java Detect truncated responses caused by EDNS0 and MTU miss-match (#9468) 2019-08-17 09:58:40 +02:00
DefaultDnsRecordEncoder.java Pre-decompressed DNS record RData that may contain compression pointers (#9311) 2019-07-02 19:39:21 +02:00
DefaultDnsResponse.java migrate java8: use requireNonNull (#8840) 2019-02-04 10:32:25 +01:00
DnsCodecUtil.java Pre-decompressed DNS record RData that may contain compression pointers (#9311) 2019-07-02 19:39:21 +02:00
DnsMessage.java [#5088] Add annotation which marks packages/interfaces/classes as unstable 2016-05-09 15:16:35 +02:00
DnsMessageUtil.java Fix type inference w/ JDK8 2016-03-23 18:06:38 +01:00
DnsOpCode.java migrate java8: use requireNonNull (#8840) 2019-02-04 10:32:25 +01:00
DnsOptEcsRecord.java fix the typos 2017-04-20 04:56:09 +02:00
DnsOptPseudoRecord.java Add support for Client Subnet in DNS Queries (RFC7871) 2016-09-06 07:16:57 +02:00
DnsPtrRecord.java [#5088] Add annotation which marks packages/interfaces/classes as unstable 2016-05-09 15:16:35 +02:00
DnsQuery.java [#5088] Add annotation which marks packages/interfaces/classes as unstable 2016-05-09 15:16:35 +02:00
DnsQueryEncoder.java Add support for TCP fallback when we receive a truncated DnsResponse (#9139) 2019-05-17 14:47:10 +02:00
DnsQuestion.java [#5088] Add annotation which marks packages/interfaces/classes as unstable 2016-05-09 15:16:35 +02:00
DnsRawRecord.java Make retained derived buffers recyclable 2016-05-17 11:16:13 +02:00
DnsRecord.java [#5088] Add annotation which marks packages/interfaces/classes as unstable 2016-05-09 15:16:35 +02:00
DnsRecordDecoder.java [#5088] Add annotation which marks packages/interfaces/classes as unstable 2016-05-09 15:16:35 +02:00
DnsRecordEncoder.java [#5088] Add annotation which marks packages/interfaces/classes as unstable 2016-05-09 15:16:35 +02:00
DnsRecordType.java Java 8 migration: Use diamond operator (#8749) 2019-01-22 16:07:26 +01:00
DnsResponse.java [#5088] Add annotation which marks packages/interfaces/classes as unstable 2016-05-09 15:16:35 +02:00
DnsResponseCode.java migrate java8: use requireNonNull (#8840) 2019-02-04 10:32:25 +01:00
DnsResponseDecoder.java Detect truncated responses caused by EDNS0 and MTU miss-match (#9468) 2019-08-17 09:58:40 +02:00
DnsSection.java [#5088] Add annotation which marks packages/interfaces/classes as unstable 2016-05-09 15:16:35 +02:00
package-info.java [#5088] Add annotation which marks packages/interfaces/classes as unstable 2016-05-09 15:16:35 +02:00
TcpDnsQueryEncoder.java Add support for TCP fallback when we receive a truncated DnsResponse (#9139) 2019-05-17 14:47:10 +02:00
TcpDnsResponseDecoder.java Remove the intermediate List from ByteToMessageDecoder (and sub-class… (#8626) 2019-12-16 21:00:32 +01:00