Go to file
Trustin Lee e29399ebc4 Revamp io.netty.handler.codec.socksx
While implementing netty-handler-proxy, I realized various issues in our
current socksx package. Here's the list of the modifications and their
background:

- Split message types into interfaces and default implementations
  - so that a user can implement an alternative message implementations
- Use classes instead of enums when a user might want to define a new
  constant
  - so that a user can extend SOCKS5 protocol, such as:
    - defining a new error code
    - defining a new address type
- Rename the message classes
  - to avoid abbreviated class names. e.g:
    - Cmd -> Command
    - Init -> Initial
  - so that the class names align better with the protocol
    specifications. e.g:
    - AuthRequest -> PasswordAuthRequest
    - AuthScheme -> AuthMethod
- Rename the property names of the messages
  - so that the property names align better when the field names in the
    protocol specifications
- Improve the decoder implementations
  - Give a user more control over when a decoder has to be removed
  - Use DecoderResult and DecoderResultProvider to handle decode failure
    gracefully. i.e. no more Unknown* message classes
- Add SocksPortUnifinicationServerHandler since it's useful to the users
  who write a SOCKS server
  - Cleaned up and moved from the socksproxy example
2015-02-10 09:16:29 +09:00
all Fix missing version properties of transport-epoll in all-in-one JAR 2014-10-21 22:36:19 +09:00
buffer Implement internal memory access methods of CompositeByteBuf correctly 2014-12-30 15:56:59 +09:00
codec Revamp io.netty.handler.codec.socksx 2015-02-10 09:16:29 +09:00
codec-dns Add EDNS support to DnsQueryEncoder 2014-10-16 17:06:20 +09:00
codec-haproxy Fix NPE problems 2014-07-20 12:55:08 +02:00
codec-http Fix compile error introduced by 6e942a3a20 2015-02-06 12:54:12 +01:00
codec-http2 Http2DefaultFrameWriter direct write instead of copy 2015-02-06 11:55:40 -08:00
codec-memcache Add proxy support for client socket connections 2014-10-14 12:40:33 +09:00
codec-mqtt Fix dependency issues with hamcrest 2014-12-04 17:53:35 +09:00
codec-socks Revamp io.netty.handler.codec.socksx 2015-02-10 09:16:29 +09:00
codec-stomp Headers set/add/contains timeMillis methods 2014-12-06 22:40:45 +09:00
common Revamp io.netty.handler.codec.socksx 2015-02-10 09:16:29 +09:00
example Revamp io.netty.handler.codec.socksx 2015-02-10 09:16:29 +09:00
handler Various performance optimizations in OpenSslEngine 2015-02-09 06:20:30 +01:00
handler-proxy Revamp io.netty.handler.codec.socksx 2015-02-10 09:16:29 +09:00
license Implemented LZMA frame encoder 2014-09-15 15:14:15 +02:00
microbench Fix ByteBufUtilBenchmark on utf8 encodings. 2014-12-31 20:26:50 +09:00
resolver Fix memory leak in NameResolverGroup 2014-11-20 20:22:17 +09:00
resolver-dns Remove thepiratebay.se from the test domain list 2014-12-22 22:35:58 +09:00
tarball [maven-release-plugin] prepare for next development iteration 2013-12-22 22:06:15 +09:00
testsuite Allow to use WebSocketClientHandshaker and WebSocketServerHandshaker with HttpResponse / HttpRequest 2015-02-06 10:47:08 +01:00
transport Add another test case for channelReadComplete() suppression 2015-02-09 16:31:12 +09:00
transport-native-epoll Allow to create Epoll*Channel from FileDescriptor 2015-02-09 09:56:33 +01: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 Fix typo in param name 2015-01-16 20:32:57 +01: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 Fix #3331 Update Javassist from 3.18.0-GA to 3.19.0-GA 2015-02-07 12:25:19 +09:00
README.md Add a link to the 'native transports' page 2014-07-21 12:10:16 -07:00
run-example.sh Add logLevel property to enable different log levels for the examples. 2014-11-21 10:49:27 +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.