Go to file
Norman Maurer b4d4c0034d Optimize HPACK usage to align more with Netty types and remove heavy object creations. Related to [#3597]
Motivations:

The HPACK code was not really optimized and written with Netty types in mind. Because of this a lot of garbage was created due heavy object creation.

This was first reported in [#3597] and https://github.com/grpc/grpc-java/issues/1872 .

Modifications:

- Directly use ByteBuf as input and output
- Make use of ByteProcessor where possible
- Use AsciiString as this is the only thing we need for our http2 usage

Result:

Less garbage and better usage of Netty apis.
2016-06-22 14:26:05 +02:00
all [maven-release-plugin] prepare for next development iteration 2016-06-07 18:52:34 +02:00
buffer Pluggable resource leak detector 2016-06-20 11:14:44 +02:00
codec Use shaded dependency on JCTools instead of copy and paste 2016-06-10 13:19:45 +02:00
codec-dns Pluggable resource leak detector 2016-06-20 11:14:44 +02:00
codec-haproxy [maven-release-plugin] prepare for next development iteration 2016-06-07 18:52:34 +02:00
codec-http Remove usages of deprecated methods group() and childGroup(). 2016-06-21 14:06:57 +02:00
codec-http2 Optimize HPACK usage to align more with Netty types and remove heavy object creations. Related to [#3597] 2016-06-22 14:26:05 +02:00
codec-memcache [maven-release-plugin] prepare for next development iteration 2016-06-07 18:52:34 +02:00
codec-mqtt Fix typo in the assert description in MqttCodecTest 2016-06-14 23:31:53 -07:00
codec-redis [maven-release-plugin] prepare for next development iteration 2016-06-07 18:52:34 +02:00
codec-smtp [maven-release-plugin] prepare for next development iteration 2016-06-07 18:52:34 +02:00
codec-socks [maven-release-plugin] prepare for next development iteration 2016-06-07 18:52:34 +02:00
codec-stomp [maven-release-plugin] prepare for next development iteration 2016-06-07 18:52:34 +02:00
codec-xml [maven-release-plugin] prepare for next development iteration 2016-06-07 18:52:34 +02:00
common Set some StackTraceElement on pre-instantiated static exceptions 2016-06-20 11:33:05 +02:00
example Ensure examples are runnable in the ide 2016-06-20 07:11:29 +02:00
handler Remove usages of deprecated methods group() and childGroup(). 2016-06-21 14:06:57 +02:00
handler-proxy Use shaded dependency on JCTools instead of copy and paste 2016-06-10 13:19:45 +02:00
license added support for Protobuf codec nano runtime 2016-01-19 21:39:17 +01:00
microbench Optimize HPACK usage to align more with Netty types and remove heavy object creations. Related to [#3597] 2016-06-22 14:26:05 +02:00
resolver [maven-release-plugin] prepare for next development iteration 2016-06-07 18:52:34 +02:00
resolver-dns [#5386] DnsNameResolver does not resolve localhost on Windows 2016-06-22 09:07:39 +02:00
tarball [maven-release-plugin] prepare for next development iteration 2016-06-07 18:52:34 +02:00
testsuite [maven-release-plugin] prepare for next development iteration 2016-06-07 18:52:34 +02:00
testsuite-osgi [maven-release-plugin] prepare for next development iteration 2016-06-07 18:52:34 +02:00
transport Remove usages of deprecated methods group() and childGroup(). 2016-06-21 14:06:57 +02:00
transport-native-epoll Set some StackTraceElement on pre-instantiated static exceptions 2016-06-20 11:33:05 +02:00
transport-rxtx Use shaded dependency on JCTools instead of copy and paste 2016-06-10 13:19:45 +02:00
transport-sctp Use shaded dependency on JCTools instead of copy and paste 2016-06-10 13:19:45 +02:00
transport-udt [maven-release-plugin] prepare for next development iteration 2016-06-07 18:52:34 +02:00
.fbprefs Updated Find Bugs configuration 2009-03-04 10:33:09 +00:00
.gitignore Use shaded dependency on JCTools instead of copy and paste 2016-06-10 13:19:45 +02:00
.travis.yml Travis CI branch whitelisting 2013-03-11 09:55:43 +09:00
CONTRIBUTING.md Move the pull request guide to the developer guide 2014-03-12 13:13:58 +09:00
LICENSE.txt Relicensed to Apache License v2 2009-08-28 07:15:49 +00:00
NOTICE.txt added support for Protobuf codec nano runtime 2016-01-19 21:39:17 +01:00
pom.xml Correctly handle user home directory with spaces when construct javaagent argument 2016-06-17 06:33:10 +02:00
README.md Updating Branches to look section to match the current branching structure of the project 2016-03-10 22:08:01 +01:00
run-example.sh Add an example client for codec-redis 2016-04-23 11:18:12 -07:00

Netty Project

Netty is an asynchronous event-driven network application framework for rapid development of maintainable high performance protocol servers & clients.

How to build

For the detailed information about building and developing Netty, please visit the developer guide. This page only gives very basic information.

You require the following to build Netty:

Note that this is build-time requirement. JDK 5 (for 3.x) or 6 (for 4.0+) is enough to run your Netty-based application.

Branches to look

Development of all versions takes place in each branch whose name is identical to <majorVersion>.<minorVersion>. For example, the development of 3.9 and 4.0 resides in the branch '3.9' and the branch '4.0' respectively.