Go to file
Leonardo Freitas Gomes 4f13dee454 Ensure server preference order in ALPN
Motivation:
With the current implementation the client protocol preference list
takes precedence over the one of the server, since the select method
will return the first item, in the client list, that matches any of the
protocols supported by the server. This violates the recommendation of
http://tools.ietf.org/html/rfc7301#section-3.2.

It will also fail with the current implementation of Chrome, which
sends back Extension application_layer_protocol_negotiation, protocols:
[http/1.1, spdy/3.1, h2-14]

Modifications:
Changed the protocol negotiator to prefer server’s list. Added a test
case that demonstrates the issue and that is fixed with the
modifications of this commit.

Result:
Server’s preference list is used.
2015-03-17 07:30:17 +01:00
all [maven-release-plugin] prepare for next development iteration 2015-03-03 08:30:59 -05:00
buffer Updates the javadoc of Unpooled to remove mention to methods it does not provide 2015-03-04 12:04:27 +09:00
codec Add support for byte order to LengthFieldPrepender 2015-03-13 18:37:58 +01:00
codec-dns [maven-release-plugin] prepare for next development iteration 2015-03-03 08:30:59 -05:00
codec-haproxy [maven-release-plugin] prepare for next development iteration 2015-03-03 08:30:59 -05:00
codec-http Add unit to maxContentLength javadoc of HttpObjectAggregator 2015-03-05 20:47:51 +01:00
codec-http2 Cleaning up HTTP/2 method names for max_concurrent_streams 2015-03-16 10:17:05 -07:00
codec-memcache [maven-release-plugin] prepare for next development iteration 2015-03-03 08:30:59 -05:00
codec-mqtt [maven-release-plugin] prepare for next development iteration 2015-03-03 08:30:59 -05:00
codec-socks [maven-release-plugin] prepare for next development iteration 2015-03-03 08:30:59 -05:00
codec-stomp [maven-release-plugin] prepare for next development iteration 2015-03-03 08:30:59 -05:00
codec-xml [maven-release-plugin] prepare for next development iteration 2015-03-03 08:30:59 -05:00
common Document nEventLoops=0 in (Nio|Default|Epoll)EventLoopGroups. 2015-03-11 11:21:58 +09:00
example [maven-release-plugin] prepare for next development iteration 2015-03-03 08:30:59 -05:00
handler Ensure server preference order in ALPN 2015-03-17 07:30:17 +01:00
handler-proxy [maven-release-plugin] prepare for next development iteration 2015-03-03 08:30:59 -05:00
license Integrate non-blocking XML parser as Netty codec (#2806) 2015-02-19 14:17:17 +01:00
microbench [maven-release-plugin] prepare for next development iteration 2015-03-03 08:30:59 -05:00
resolver Use InetSocketAddress.getHostName() instead of getHostString() 2015-03-10 11:45:56 +09:00
resolver-dns [maven-release-plugin] prepare for next development iteration 2015-03-03 08:30:59 -05:00
tarball [maven-release-plugin] prepare for next development iteration 2015-03-03 08:30:59 -05:00
testsuite [maven-release-plugin] prepare for next development iteration 2015-03-03 08:30:59 -05:00
testsuite-osgi [maven-release-plugin] prepare for next development iteration 2015-03-03 08:30:59 -05:00
transport Document nEventLoops=0 in (Nio|Default|Epoll)EventLoopGroups. 2015-03-11 11:21:58 +09:00
transport-native-epoll First load RuntimeException to prevent segfault on error 2015-03-13 18:28:49 +01:00
transport-rxtx [maven-release-plugin] prepare for next development iteration 2015-03-03 08:30:59 -05:00
transport-sctp [maven-release-plugin] prepare for next development iteration 2015-03-03 08:30:59 -05:00
transport-udt [maven-release-plugin] prepare for next development iteration 2015-03-03 08:30:59 -05: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 Integrate non-blocking XML parser as Netty codec (#2806) 2015-02-19 14:17:17 +01:00
pom.xml [maven-release-plugin] prepare for next development iteration 2015-03-03 08:30:59 -05: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.