21bc279700
Motivation: This is addressing a TODO in the outbound flow controller. We currently have a separate writer interface passed into the outbound flow controller. This is confusing and limiting as to how the flow controller can perform its writes (e.g. no control over flushing). Instead it would be better to just let the flow controller use the Http2FrameWriter directly. Modifications: - Added a new Http2DataWriter interface, which is extended by Http2FrameWriter and Http2OutboundFlowController. - Removed automatic flushing from Http2DataWriter in order to facilitate optimizing the case where there are multiple writes. - Updated DefaultHttp2OutboundFlowController to properly optimize flushing of the ChannelHandlerContext when multiple writes occur. Result: Code is greatly simplified WRT outbound flow control and flushes are optimized for flow-controlled DATA frames. |
||
---|---|---|
all | ||
buffer | ||
codec | ||
codec-dns | ||
codec-haproxy | ||
codec-http | ||
codec-http2 | ||
codec-memcache | ||
codec-mqtt | ||
codec-socks | ||
codec-stomp | ||
common | ||
example | ||
handler | ||
license | ||
microbench | ||
tarball | ||
testsuite | ||
transport | ||
transport-native-epoll | ||
transport-rxtx | ||
transport-sctp | ||
transport-udt | ||
.fbprefs | ||
.gitignore | ||
.travis.yml | ||
CONTRIBUTING.md | ||
LICENSE.txt | ||
NOTICE.txt | ||
pom.xml | ||
README.md | ||
run-example.sh |
Netty Project
Netty is an asynchronous event-driven network application framework for rapid development of maintainable high performance protocol servers & clients.
Links
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:
- Latest stable Oracle JDK 7
- Latest stable Apache Maven
- If you are on Linux, you need additional development packages installed on your system, because you'll build the native transport.
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.