Go to file
Matthias Einwag 7fbd66f814 Added an option to use websockets without masking
Motivation:

The requirement for the masking of frames and for checks of correct
masking in the websocket specifiation have a large impact on performance.
While it is mandatory for browsers to use masking there are other
applications (like IPC protocols) that want to user websocket framing and proxy-traversing
characteristics without the overhead of masking. The websocket standard
also mentions that the requirement for mask verification on server side
might be dropped in future.

Modifications:

Added an optional parameter allowMaskMismatch for the websocket decoder
that allows a server to also accept unmasked frames (and clients to accept
masked frames).
Allowed to set this option through the websocket handshaker
constructors as well as the websocket client and server handlers.
The public API for existing components doesn't change, it will be
forwarded to functions which implicetly set masking as required in the
specification.
For websocket clients an additional parameter is added that allows to
disable the masking of frames that are sent by the client.

Result:

This update gives netty users the ability to create and use completely
unmasked websocket connections in addition to the normal masked channels
that the standard describes.
2014-10-25 22:18:43 +09:00
all Fix missing version properties of transport-epoll in all-in-one JAR 2014-10-21 22:36:10 +09:00
buffer Disable caching of PooledByteBuf for different threads. 2014-09-22 13:39:31 +02:00
codec Refactor LzfDecoder to use proper state machine 2014-10-20 13:59:54 +02:00
codec-dns Add EDNS support to DnsQueryEncoder 2014-10-16 17:05:08 +09:00
codec-haproxy [maven-release-plugin] prepare for next development iteration 2014-08-16 03:27:42 +09:00
codec-http Added an option to use websockets without masking 2014-10-25 22:18:43 +09:00
codec-memcache Add proxy support for client socket connections 2014-10-14 12:29:08 +09:00
codec-mqtt Add proxy support for client socket connections 2014-10-14 12:29:08 +09:00
codec-socks Add proxy support for client socket connections 2014-10-14 12:29:08 +09:00
codec-stomp Add proxy support for client socket connections 2014-10-14 12:29:08 +09:00
common V4.1 Fix "=" character in HttpPostRequestDecoder 2014-10-21 16:06:37 +09:00
example Fix the websocket server example 2014-10-25 16:17:55 +09:00
handler Disable SSLv3 to avoid POODLE vulnerability 2014-10-21 14:00:43 +09:00
handler-proxy Fix test failures in ProxyHandlerTest 2014-10-16 17:05:31 +09:00
license Implemented LZMA frame encoder 2014-09-15 15:05:36 +02:00
microbench [maven-release-plugin] prepare for next development iteration 2014-08-16 03:27:42 +09:00
resolver Name resolver API and DNS-based name resolver 2014-10-16 17:05:20 +09:00
resolver-dns Improve DnsNameResolverTest.testResolveA() 2014-10-25 17:29:06 +09:00
tarball [maven-release-plugin] prepare for next development iteration 2014-08-16 03:27:42 +09:00
testsuite Fix an infinite loop when writing a zero-length FileRegion 2014-10-17 16:06:51 +09:00
transport Fix compilation errors in ChannelOutboundBufferTest 2014-10-25 16:57:22 +09:00
transport-native-epoll Name resolver API and DNS-based name resolver 2014-10-16 17:05:20 +09:00
transport-rxtx [maven-release-plugin] prepare for next development iteration 2014-08-16 03:27:42 +09:00
transport-sctp [maven-release-plugin] prepare for next development iteration 2014-08-16 03:27:42 +09:00
transport-udt Name resolver API and DNS-based name resolver 2014-10-16 17:05:20 +09: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 Implemented LZMA frame encoder 2014-09-15 15:05:36 +02:00
pom.xml Name resolver API and DNS-based name resolver 2014-10-16 17:05:20 +09:00
README.md Add a link to the 'native transports' page 2014-07-21 12:54:24 -07:00
run-example.sh Overall refactoring of the STOMP codec 2014-06-04 17:09:42 +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.