Motivation: ChunkedWriteHandler queues written messages and actually writes them when flush is called. In its doFlush method, it needs to flush after each chunk is written to preserve memory. However, non-chunked messages (those that aren't of type ChunkedInput) are treated in the same way, which means that flush is called after each message is written. Modifications: Moved the call to flush() inside the if block that tests if the message is an instance of ChunkedInput. To ensure flush is called at least once, the existing boolean flushed is checked at the end of doFlush. This check was previously in ChunkedWriteHandler.flush(), but wasn't checked in other invocations of doFlush, e.g. in channelInactive. Result: When this handler is present in a pipeline, writing a series of non-chunked messages will be flushed as the developer intended.
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
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.
Description
Languages
Java
99.8%
Shell
0.1%