Go to file
Scott Mitchell 795f318c3c Use a single array in SelectedSelectionKeySet
Motivation:
SelectedSelectionKeySet currently uses 2 arrays internally and users are expected to call flip() to access the underlying array and switch the active array. However we do not concurrently use 2 arrays at the same time and we can get away with using a single array if we are careful about when we reset the elements of the array.

Modifications:
- Introduce SelectedSelectionKeySetSelector which wraps a Selector and ensures we reset the underlying SelectedSelectionKeySet data structures before we select
- The loop bounds in NioEventLoop#processSelectedKeysOptimized can be defined more precisely because we know the real size of the underlying array

Result:
Fixes https://github.com/netty/netty/issues/6058
2017-02-16 15:10:37 -08:00
.github Use GitHub Issue/PR Template Feature 2016-12-07 11:40:26 -08:00
all [maven-release-plugin] prepare for next development iteration 2017-01-30 15:14:02 +01:00
buffer Use Unsafe to read ByteBuffer.address field to make it work on Java9 as well. 2017-02-16 20:40:59 +01:00
codec Ensure CombinedChannelDuplexHandler can not be shared. 2017-02-14 08:42:23 +01:00
codec-dns [maven-release-plugin] prepare for next development iteration 2017-01-30 15:14:02 +01:00
codec-haproxy [maven-release-plugin] prepare for next development iteration 2017-01-30 15:14:02 +01:00
codec-http Correct comment for allowMaskMismatch parameter 2017-02-16 17:03:55 +01:00
codec-http2 Adding 'final' keyword for private fields where possible 2017-02-14 08:29:15 +01:00
codec-memcache [maven-release-plugin] prepare for next development iteration 2017-01-30 15:14:02 +01:00
codec-mqtt Only use Mockito for mocking. 2017-02-07 08:47:22 +01:00
codec-redis Adding 'final' keyword for private fields where possible 2017-02-14 08:29:15 +01:00
codec-smtp [maven-release-plugin] prepare for next development iteration 2017-01-30 15:14:02 +01:00
codec-socks [maven-release-plugin] prepare for next development iteration 2017-01-30 15:14:02 +01:00
codec-stomp [maven-release-plugin] prepare for next development iteration 2017-01-30 15:14:02 +01:00
codec-xml [maven-release-plugin] prepare for next development iteration 2017-01-30 15:14:02 +01:00
common Update JCTools to 2.0.1 2017-02-16 15:09:35 -08:00
example Adding 'final' keyword for private fields where possible 2017-02-14 08:29:15 +01:00
handler Fix ReferenceCountedOpenSslEngine.getEnabledProtocols() when using boringssl 2017-02-16 07:47:06 +01:00
handler-proxy Make netty build work on Java9 2017-02-16 20:26:30 +01:00
license added support for Protobuf codec nano runtime 2016-01-19 21:39:17 +01:00
microbench Update to latest jmh version 2017-02-14 08:40:12 +01:00
resolver Resolver package is unstable 2017-02-13 15:00:40 -08:00
resolver-dns Correct unit test flaw introduced in 54c9ecf682 2017-02-13 18:36:06 -08:00
tarball [maven-release-plugin] prepare for next development iteration 2017-01-30 15:14:02 +01:00
testsuite Make netty build work on Java9 2017-02-16 20:26:30 +01:00
testsuite-osgi Make netty build work on Java9 2017-02-16 20:26:30 +01:00
transport Use a single array in SelectedSelectionKeySet 2017-02-16 15:10:37 -08:00
transport-native-epoll Make netty build work on Java9 2017-02-16 20:26:30 +01:00
transport-rxtx [maven-release-plugin] prepare for next development iteration 2017-01-30 15:14:02 +01:00
transport-sctp [maven-release-plugin] prepare for next development iteration 2017-01-30 15:14:02 +01:00
transport-udt [maven-release-plugin] prepare for next development iteration 2017-01-30 15:14:02 +01: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 Update JCTools to 2.0.1 2017-02-16 15:09:35 -08: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.