Go to file
Scott Mitchell f691ae558c Http2DefaultFrameWriter direct write instead of copy
Motivation:
The Http2DefaultFrameWriter copies all contents into a buffer (or uses a CompositeBuffer in 1 case) and then writes that buffer to the socket. There is an opportunity to avoid the copy operations and write directly to the socket.

Modifications:
- Http2DefaultFrameWriter should avoid copy operations where possible.
- The Http2FrameWriter interface should be clarified to indicate that ByteBuf objects will be released.

Result:
Hopefully less allocation/copy leads to memory and throughput performance benefit.
2015-02-06 11:55:40 -08:00
all Fix missing version properties of transport-epoll in all-in-one JAR 2014-10-21 22:36:19 +09:00
buffer Implement internal memory access methods of CompositeByteBuf correctly 2014-12-30 15:56:59 +09:00
codec Minor idiomatic changes to java docs 2015-02-04 08:28:12 +01:00
codec-dns Add EDNS support to DnsQueryEncoder 2014-10-16 17:06:20 +09:00
codec-haproxy Fix NPE problems 2014-07-20 12:55:08 +02:00
codec-http Fix compile error introduced by 6e942a3a20 2015-02-06 12:54:12 +01:00
codec-http2 Http2DefaultFrameWriter direct write instead of copy 2015-02-06 11:55:40 -08:00
codec-memcache Add proxy support for client socket connections 2014-10-14 12:40:33 +09:00
codec-mqtt Fix dependency issues with hamcrest 2014-12-04 17:53:35 +09:00
codec-socks Add proxy support for client socket connections 2014-10-14 12:40:33 +09:00
codec-stomp Headers set/add/contains timeMillis methods 2014-12-06 22:40:45 +09:00
common Minor idiomatic changes to java docs 2015-02-04 08:28:12 +01:00
example Remove the deprecated CookieDecoder 2015-01-21 22:34:18 +09:00
handler SonarQube issues OpenSslEngine 2015-02-03 20:04:41 +01:00
handler-proxy Use Proxy-Authorization instead of Authorization for proxy authentication 2014-11-20 20:39:18 +09:00
license Implemented LZMA frame encoder 2014-09-15 15:14:15 +02:00
microbench Fix ByteBufUtilBenchmark on utf8 encodings. 2014-12-31 20:26:50 +09:00
resolver Fix memory leak in NameResolverGroup 2014-11-20 20:22:17 +09:00
resolver-dns Remove thepiratebay.se from the test domain list 2014-12-22 22:35:58 +09:00
tarball [maven-release-plugin] prepare for next development iteration 2013-12-22 22:06:15 +09:00
testsuite Allow to use WebSocketClientHandshaker and WebSocketServerHandshaker with HttpResponse / HttpRequest 2015-02-06 10:47:08 +01:00
transport [#3367] Fix re-entrance bug in PendingWriteQueue 2015-02-06 19:54:54 +01:00
transport-native-epoll Allow to change epoll mode 2015-02-04 21:41:58 +01:00
transport-rxtx Fix most inspector warnings 2014-07-02 19:04:11 +09:00
transport-sctp Allow to obtain RecvByteBufAllocator.Handle to allow more flexible implementations 2014-08-12 06:54:29 +02:00
transport-udt Fix typo in param name 2015-01-16 20:32:57 +01:00
.fbprefs Updated Find Bugs configuration 2009-03-04 10:33:09 +00:00
.gitignore Exclude bin directory from git Motivation: 2014-08-27 06:33:22 +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:17:58 +09:00
LICENSE.txt Relicensed to Apache License v2 2009-08-28 07:15:49 +00:00
NOTICE.txt Implemented LZMA frame encoder 2014-09-15 15:14:15 +02:00
pom.xml Fix broken OSGi version range for NPN and ALPN dependency 2015-01-03 11:52:17 +09:00
README.md Add a link to the 'native transports' page 2014-07-21 12:10:16 -07:00
run-example.sh Add logLevel property to enable different log levels for the examples. 2014-11-21 10:49:27 +09: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

The 'master' branch is where the development of the latest major version lives on. The development of all other 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.