Go to file
Alex Blewitt 430eeee2f6 Return the result of the list.recycle() call (#9264)
Motivation:

Resolve the issue highlighted by SpotJMHBugs that the creation of the RecyclableArrayList may be elided by the JIT since the result isn't consumed or returned.

Modifications:

Return the result of `list.recycle()` so that the list isn't elided.

Result:

The JMH benchmark shows a change in performance indicating that the prior results of this may be unsound.
2019-06-22 07:22:15 +02:00
.github
.mvn
all
bom
buffer Subsequence versions of ByteBufUtil#writeUtf8(...) methods (#9224) 2019-06-21 14:05:35 +02:00
codec Fix LZ4 encoder/decoder performance with (default) xxHash32 (#9249) 2019-06-18 09:29:25 +02:00
codec-dns
codec-haproxy
codec-http WebSocket is closed without an error on protocol violations (#9116) 2019-06-18 10:05:58 +02:00
codec-http2 codec-http2: Lazily translate cookies for HTTP/1 (#9251) 2019-06-19 11:03:49 +02:00
codec-memcache
codec-mqtt Fixed toString() exception in MqttSubscribePayload and MqttUnsubscribePayload (#9202) 2019-05-31 06:46:50 +02:00
codec-redis
codec-smtp
codec-socks
codec-stomp
codec-xml
common Allow to specify a EventLoopTaskQueueFactory for various EventLoopGroup implementations (#9247) 2019-06-21 09:05:19 +02:00
dev-tools
docker
example Set the HOST header in Http2ClientInitializer when trying to start an upgrade request (#9177) 2019-05-27 16:02:38 +02:00
handler Change Scheduled to FixedRate in Traffic Counter (#9245) 2019-06-18 09:34:48 +02:00
handler-proxy
license Updated jboss-marshalling dependency to current license (#9172) 2019-05-23 07:21:11 +02:00
microbench Return the result of the list.recycle() call (#9264) 2019-06-22 07:22:15 +02:00
resolver Close delegate resolver from RoundRobinInetAddressResolver (#9214) 2019-06-04 05:13:44 -07:00
resolver-dns Fix flaky DnsNameResolverTest.testTruncatedWithTcpFallback (#9262) 2019-06-21 09:28:51 +02:00
tarball
testsuite Add support for loopbackmode and accessing the configured interface when using epoll native transport with multicast (#9218) 2019-06-07 13:44:06 -07:00
testsuite-autobahn
testsuite-http2
testsuite-native-image
testsuite-osgi
testsuite-shading
transport Allow to specify a EventLoopTaskQueueFactory for various EventLoopGroup implementations (#9247) 2019-06-21 09:05:19 +02:00
transport-native-epoll Allow to specify a EventLoopTaskQueueFactory for various EventLoopGroup implementations (#9247) 2019-06-21 09:05:19 +02:00
transport-native-kqueue Allow to specify a EventLoopTaskQueueFactory for various EventLoopGroup implementations (#9247) 2019-06-21 09:05:19 +02:00
transport-native-unix-common Added UDP multicast (with caveats: getInterface, getNetworkInterface, block or loopback-mode-disabled operations). 2019-05-25 08:00:16 +02:00
transport-native-unix-common-tests
transport-rxtx
transport-sctp
transport-udt
.fbprefs
.gitattributes
.gitignore
CONTRIBUTING.md
LICENSE.txt
mvnw
mvnw.cmd
NOTICE.txt Updated jboss-marshalling dependency to current license (#9172) 2019-05-23 07:21:11 +02:00
pom.xml
README.md
run-example.sh Add UptimeServer and adjust UptimeClient's code style. 2017-04-28 07:41:07 +02: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.

Usage with JDK 9

Netty can be used in modular JDK9 applications as a collection of automatic modules. The module names follow the reverse-DNS style, and are derived from subproject names rather than root packages due to historical reasons. They are listed below:

  • io.netty.all
  • io.netty.buffer
  • io.netty.codec
  • io.netty.codec.dns
  • io.netty.codec.haproxy
  • io.netty.codec.http
  • io.netty.codec.http2
  • io.netty.codec.memcache
  • io.netty.codec.mqtt
  • io.netty.codec.redis
  • io.netty.codec.smtp
  • io.netty.codec.socks
  • io.netty.codec.stomp
  • io.netty.codec.xml
  • io.netty.common
  • io.netty.handler
  • io.netty.handler.proxy
  • io.netty.resolver
  • io.netty.resolver.dns
  • io.netty.transport
  • io.netty.transport.epoll (native omitted - reserved keyword in Java)
  • io.netty.transport.kqueue (native omitted - reserved keyword in Java)
  • io.netty.transport.unix.common (native omitted - reserved keyword in Java)
  • io.netty.transport.rxtx
  • io.netty.transport.sctp
  • io.netty.transport.udt

Automatic modules do not provide any means to declare dependencies, so you need to list each used module separately in your module-info file.