Go to file
Matthias Einwag 2a5adc0b2b Send a websocket close frame with status code when receiving invalid frames
Motivation:

According to the websocket specification peers may send a close frame when
they detect a protocol violation (with status code 1002). The current
implementation simply closes the connection. This update should add this
functionality. The functionality is optional - but it might help other
implementations with debugging when they receive such a frame.

Modification:

When a protocol violation in the decoder is detected and a close was not
already initiated by the remote peer a close frame is
sent.

Result:

Remotes which will send an invalid frame will now get a close frame that
indicates the protocol violation instead of only seeing a closed
connection.
2014-09-29 20:05:09 +02:00
all Add HTTP/2 codec to netty-all maven dependency Motivation: 2014-08-18 19:07:49 +02:00
buffer Disable caching of PooledByteBuf for different threads. 2014-09-22 13:39:42 +02:00
codec Fixed typo in LzmaFrameEncoder constructor 2014-09-19 20:09:28 +02:00
codec-dns Fix buffer leaks in DnsResponseDecoder and DnsResponseDecoderTest 2014-08-04 14:05:02 +02:00
codec-haproxy Fix NPE problems 2014-07-20 12:55:08 +02:00
codec-http Send a websocket close frame with status code when receiving invalid frames 2014-09-29 20:05:09 +02:00
codec-http2 HTTP/2 Codec Read/Write Restructure 2014-09-28 16:47:31 -04:00
codec-memcache Fix most inspector warnings 2014-07-02 19:04:11 +09:00
codec-mqtt Fix NPE problems 2014-07-20 12:55:08 +02:00
codec-socks codec-socks test cleanup 2014-08-20 06:54:55 +02:00
codec-stomp Fix a resource leak in StompSubframeAggregatorTest 2014-08-11 10:46:17 -07:00
common IPv6 address to string rfc5952 2014-09-22 20:30:14 -04:00
example HTTP/2 Codec Read/Write Restructure 2014-09-28 16:47:31 -04:00
handler Fix overriden method not called in TrafficShaping 2014-09-20 20:43:20 +02:00
license Implemented LZMA frame encoder 2014-09-15 15:14:15 +02:00
microbench IPv6 address to string rfc5952 2014-09-22 20:30:14 -04:00
tarball [maven-release-plugin] prepare for next development iteration 2013-12-22 22:06:15 +09:00
testsuite Shutdown Executor on MultithreadEventLoopGroup shutdown. Fixes #2837 2014-09-12 12:17:29 +09:00
transport Improve error reporting in SingleThreadEventLoopTest. Fixes #2894 2014-09-20 15:29:43 -04:00
transport-native-epoll [#2926] Fix 1 byte memory leak in native transport 2014-09-22 15:12:20 +02:00
transport-rxtx Fix most inspector warnings 2014-07-02 19:04:11 +09:00
transport-sctp Allow to obtain RecvByteBufAllocator.Handle to allow more flexible implementations 2014-08-12 06:54:29 +02:00
transport-udt Shutdown Executor on MultithreadEventLoopGroup shutdown. Fixes #2837 2014-09-12 12:17:29 +09: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 Implemented LZMA frame encoder 2014-09-15 15:14:15 +02:00
pom.xml Implemented LZMA frame encoder 2014-09-15 15:14:15 +02:00
README.md Add a link to the 'native transports' page 2014-07-21 12:10:16 -07:00
run-example.sh ALPN java implementation 2014-08-30 13:41:07 -04: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.