Go to file
Norman Maurer fa079baf29 Always return SliceByteBuf on slice(...) to eliminate possible leak
Motivation:

When calling slice(...) on a ByteBuf the returned ByteBuf should be the slice of a ByteBuf and shares it's reference count. This is important as it is perfect legal to use buf.slice(...).release() and have both, the slice and the original ByteBuf released. At the moment this is only the case if the requested slice size is > 0. This makes the behavior inconsistent and so may lead to a memory leak.

Modifications:

- Never return Unpooled.EMPTY_BUFFER when calling slice(...).
- Adding test case for buffer.slice(...).release() and buffer.duplicate(...).release()

Result:

Consistent behaviour and so no more leaks possible.
2014-12-22 11:15:28 +01:00
all [maven-release-plugin] prepare for next development iteration 2014-10-29 11:48:40 +01:00
buffer Always return SliceByteBuf on slice(...) to eliminate possible leak 2014-12-22 11:15:28 +01:00
codec Rocumented decoder pitfalls to avoid mistakes found in [#3184] 2014-12-01 20:26:09 +01:00
codec-http ensure getRawQuery is not null before appending 2014-12-16 06:58:01 +01:00
codec-socks [maven-release-plugin] prepare for next development iteration 2014-10-29 11:48:40 +01:00
common Fixing minor typo in FastThreadLocal javadoc. 2014-12-08 14:14:45 +01:00
example Do not write LastHttpContent twice in HttpStaticFileServer example 2014-11-21 11:46:10 +09:00
handler Fix memory leak in OpenSslEngine 2014-12-21 09:26:38 +01:00
license Remove license of deque as we not use it anymore 2014-08-04 12:21:33 +02:00
microbench Benchmark for HttpRequestDecoder 2014-11-12 14:37:11 +01:00
tarball [maven-release-plugin] prepare for next development iteration 2014-10-29 11:48:40 +01:00
testsuite Do not use SLF4J/Logback API directly 2014-12-17 10:19:48 +09:00
transport Fix documentation for ChannelHandlerContext#fireChannelReadComplete 2014-12-12 18:43:27 +01:00
transport-native-epoll Generate non-test JAR for netty-testsuite 2014-12-15 09:18:20 +09:00
transport-rxtx [maven-release-plugin] prepare for next development iteration 2014-10-29 11:48:40 +01:00
transport-sctp [maven-release-plugin] prepare for next development iteration 2014-10-29 11:48:40 +01:00
transport-udt Small performance improvements 2014-11-20 00:58:35 -05:00
.fbprefs Updated Find Bugs configuration 2009-03-04 10:33:09 +00:00
.gitignore Add JVM crash logs to .gitignore 2014-05-18 21:37:12 +09: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:18:14 +09:00
LICENSE.txt Relicensed to Apache License v2 2009-08-28 07:15:49 +00:00
NOTICE.txt Remove license of deque as we not use it anymore 2014-08-04 12:21:33 +02:00
pom.xml Parent pom inconsistent between baselines 2014-12-16 19:27:51 -05:00
README.md Add a link to the 'native transports' page 2014-07-21 12:54:43 -07:00
run-example.sh Add logLevel property to enable different log levels for the examples. 2014-11-21 10:48:13 +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 major versions takes place in each branch whose name is identical to its major version number. For example, the development of 3.x and 4.x resides in the branch '3' and the branch '4' respectively.