Go to file
Trustin Lee 097ea8b5b5 Optimize SslHandler in an OpenSslEngine-friendly way
Motivation:

Previous fix for the OpenSslEngine compatibility issue (#2216 and
18b0e95659) was to feed SSL records one by
one to OpenSslEngine.unwrap().  It is not optimal because it will result
in more JNI calls.

Modifications:

- Do not feed SSL records one by one.
- Feed as many records as possible up to MAX_ENCRYPTED_PACKET_LENGTH
- Deduplicate MAX_ENCRYPTED_PACKET_LENGTH definitions

Result:

- No allocation of intemediary arrays
- Reduced number of calls to SSLEngine and thus its underlying JNI calls
- A tad bit increase in throughput, probably reverting the tiny drop
  caused by 18b0e95659
2014-05-18 03:32:35 +09:00
all Generate the default JAR to make oss.sonatype.org happy 2014-05-03 17:33:04 +09:00
buffer Fix capacity check bug affecting offheap buffers 2014-05-13 07:24:56 +02:00
codec Use ByteBuf.readSlice(...).retain() to minimize memory copies. 2014-05-10 16:05:50 +02:00
codec-http Adding short-curcuit option for CORS 2014-05-06 12:16:09 +02:00
codec-socks [maven-release-plugin] prepare for next development iteration 2014-04-30 15:40:54 +02:00
common Add an OpenSslEngine and the universal API for enabling SSL 2014-05-18 02:54:23 +09:00
example Add an OpenSslEngine and the universal API for enabling SSL 2014-05-18 02:54:23 +09:00
handler Optimize SslHandler in an OpenSslEngine-friendly way 2014-05-18 03:32:35 +09:00
license Preparation for porting OpenSSL support in 3.10 2014-05-17 20:01:47 +09:00
microbench [maven-release-plugin] prepare for next development iteration 2014-04-30 15:40:54 +02:00
tarball [maven-release-plugin] prepare for next development iteration 2014-04-30 15:40:54 +02:00
testsuite Add an OpenSslEngine and the universal API for enabling SSL 2014-05-18 02:54:23 +09:00
transport [#2485] Use RecvByteBufAllocator for all allocations related to read from Channel 2014-05-10 15:28:02 +02:00
transport-native-epoll Add an OpenSslEngine and the universal API for enabling SSL 2014-05-18 02:54:23 +09:00
transport-rxtx [maven-release-plugin] prepare for next development iteration 2014-04-30 15:40:54 +02:00
transport-sctp [maven-release-plugin] prepare for next development iteration 2014-04-30 15:40:54 +02:00
transport-udt [maven-release-plugin] prepare for next development iteration 2014-04-30 15:40:54 +02:00
.fbfilter.xml Update license headers 2012-06-04 13:31:44 -07:00
.fbprefs Updated Find Bugs configuration 2009-03-04 10:33:09 +00:00
.gitignore Format and partially describe Gitignore 2013-12-10 07:04:38 +01: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 Preparation for porting OpenSSL support in 3.10 2014-05-17 20:01:47 +09:00
pom.xml Add an OpenSslEngine and the universal API for enabling SSL 2014-05-18 02:54:23 +09:00
README.md Update README.md 2014-01-16 14:38:36 +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.