Go to file
Scott Mitchell 24c9407080 DefaultHttp2RemoteFlowController may not write all pending bytes
Motivation:
DefaultHttp2RemoteFlowController attempts to write as many bytes as possible to transition the channel to not writable, and then relies on notification of channelWritabilityChange to continue writing. However the amount of bytes written by DefaultHttp2RemoteFlowController may not be the same number of bytes that is actually written to the channel due to other ChannelHandlers (SslHandler, compression, etc...) in the pipeline. This means there is a potential for the DefaultHttp2RemoteFlowController to be waiting for a channel writaiblity change event that will never come, and thus not write all queued data.

Modifications:
- DefaultHttp2RemoteFlowController should write pending bytes until there are no more, or until the channel is not writable.

Result:
DefaultHttp2RemoteFlowController will write all pending data.
Fixes https://github.com/netty/netty/issues/4242
2015-09-23 16:39:24 -07:00
all Update Netty to latest netty-tcnative 2015-09-18 12:07:21 -07:00
buffer Optimize ByteBufUtil.writeUsAscii(...) when AsciiString is used. 2015-09-15 12:26:58 +02:00
codec HTTP/2 Header Name Validation 2015-09-09 13:59:08 -07:00
codec-dns [maven-release-plugin] prepare for next development iteration 2015-09-02 11:45:20 +02:00
codec-haproxy [maven-release-plugin] prepare for next development iteration 2015-09-02 11:45:20 +02:00
codec-http HTTP/2 defines using String instead of CharSequence 2015-09-16 14:55:33 -07:00
codec-http2 DefaultHttp2RemoteFlowController may not write all pending bytes 2015-09-23 16:39:24 -07:00
codec-memcache [maven-release-plugin] prepare for next development iteration 2015-09-02 11:45:20 +02:00
codec-mqtt [maven-release-plugin] prepare for next development iteration 2015-09-02 11:45:20 +02:00
codec-socks [maven-release-plugin] prepare for next development iteration 2015-09-02 11:45:20 +02:00
codec-stomp [maven-release-plugin] prepare for next development iteration 2015-09-02 11:45:20 +02:00
codec-xml [maven-release-plugin] prepare for next development iteration 2015-09-02 11:45:20 +02:00
common HTTP/2 defines using String instead of CharSequence 2015-09-16 14:55:33 -07:00
example Update Netty to latest netty-tcnative 2015-09-18 12:07:21 -07:00
handler Adding client auth to SslContextBuilder 2015-09-18 12:16:49 -07:00
handler-proxy [maven-release-plugin] prepare for next development iteration 2015-09-02 11:45:20 +02:00
license Let PoolThreadCache work even if allocation and deallocation Thread are different 2015-05-27 14:38:11 +02:00
microbench Update Netty to latest netty-tcnative 2015-09-18 12:07:21 -07:00
resolver [maven-release-plugin] prepare for next development iteration 2015-09-02 11:45:20 +02:00
resolver-dns [maven-release-plugin] prepare for next development iteration 2015-09-02 11:45:20 +02:00
tarball [maven-release-plugin] prepare for next development iteration 2015-09-02 11:45:20 +02:00
testsuite Not use RC4 for renegation as it is not supported in more recent java versions. 2015-09-23 08:39:44 +02:00
testsuite-osgi [maven-release-plugin] prepare for next development iteration 2015-09-02 11:45:20 +02:00
transport Ensure close caused by write will happen before write promise is notified 2015-09-16 20:36:04 +02:00
transport-native-epoll Update Netty to latest netty-tcnative 2015-09-18 12:07:21 -07:00
transport-rxtx [maven-release-plugin] prepare for next development iteration 2015-09-02 11:45:20 +02:00
transport-sctp [maven-release-plugin] prepare for next development iteration 2015-09-02 11:45:20 +02:00
transport-udt [maven-release-plugin] prepare for next development iteration 2015-09-02 11:45:20 +02: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:36:54 +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:13:58 +09:00
LICENSE.txt Relicensed to Apache License v2 2009-08-28 07:15:49 +00:00
NOTICE.txt Let PoolThreadCache work even if allocation and deallocation Thread are different 2015-05-27 14:38:11 +02:00
pom.xml Upgrade to new os-maven-plugin 2015-09-23 08:41:23 +02:00
README.md Add a link to the 'native transports' page 2014-07-21 12:54:24 -07:00
run-example.sh Add HTTP/2 Netty tiles example 2015-05-18 14:16:54 -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

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.