Go to file
Trustin Lee fddbde7df2 Overall clean-up of ipfilter package
Motivation:

Recently merged ipfilter package has the following problems:
* AbstractIpFilterHandler could be improved to support any SocketAddress types rather than only InetSocketAddress.
* AbstractIpFilterHandler can be removed immediately after decision is made rather than keeping the outcome of the decision as an attribute.
* AbstractIpFilterHandler doesn't have a hook for the accepted addresses.
* The hook method (reject()) needs to be named in line with other handler methods (i.e. channelRejected())
* IpFilterRuleHandler should allow accepting zero rules - it's particularly useful for machine-configured setup (i.e. specifying zero rules disables ipfilter).
* IpFilterRuleType.ALLOW/DENY should be ACCEPT/REJECT for consistency.

Modifications:

* AbstractIpFilterHandler has been renamed to AbstractRemoteAddressFilter and now uses type parameter.
* Added channelAccepted() and renamed reject() to channelRejected()
* Added ChannelHandlerContext as a parameter of accept() so that accept() can add a listener to the closeFuture() of the channel. This way, UniqueIpFilter continue working even if we remove the filtering handler early.
* Various renames
  * IpFilterRuleHandler -> RuleBasedIpFilter
  * UniqueIpFilterHandler -> UniqueIpFilter

Result:

* Much cleaner API with more extensibility
2014-03-12 16:09:37 +09:00
all Ensure native transport is included in all and tarball 2014-02-17 22:46:33 +01:00
buffer Determine the default allocator from system property 2014-02-14 13:04:48 -08:00
codec Fix buffer leak in test which was introduced while implement ZLIB_OR_NONE support. Related to [#2269] 2014-03-10 06:26:39 +01:00
codec-http added support for empty query parameters 2014-03-10 06:29:45 +01:00
codec-memcache [codec-memcache] Simplify object hierachy and remove Headers. 2014-03-04 13:04:44 +01:00
codec-socks Fix an inspector warning 2014-02-06 15:03:03 -08:00
common Use bitwise operations to choose next EventExecutor if number of EventExecutors is power of two 2014-03-10 20:52:36 +01:00
example Ensure the HttpResponseEncoder is always placed before the HttpObjectAggregator. Part of [#2219] 2014-03-05 06:58:54 +01:00
handler Overall clean-up of ipfilter package 2014-03-12 16:09:37 +09:00
license [#1259] Add optimized queue for SCMP pattern and use it in NIO and native transport 2014-02-27 13:56:15 +01:00
microbench Upgrade JMH to 0.4.1 and make use of @Params. 2014-02-23 16:39:15 +01:00
tarball [maven-release-plugin] prepare for next development iteration 2013-12-22 22:06:15 +09:00
testsuite Ensure the HttpResponseEncoder is always placed before the HttpObjectAggregator. Part of [#2219] 2014-03-05 06:58:54 +01:00
transport Corrected inconsistencies in the Javadoc. 2014-03-04 06:25:30 +01:00
transport-native-epoll [#2297] Correctly close all registered Channels on EpollEventLoop.closeAll() 2014-03-10 20:37:27 +01:00
transport-rxtx Apply receive timeout to commPort when using RxtxChannel. Part of [#1390] 2014-02-23 16:35:35 +01:00
transport-sctp Directly use memory addresses for gathering writes to reduce gc pressure. Part of [#2239] 2014-02-21 14:16:37 +01:00
transport-udt Enable a user specify an arbitrary information with ReferenceCounted.touch() 2014-01-29 11:44:59 +09:00
.fbfilter.xml Update license headers 2012-06-04 13:31:44 -07:00
.fbprefs Updated Find Bugs configuration 2009-03-04 10:33:09 +00:00
.gitignore Format and partially describe Gitignore 2013-12-10 07:03:43 +01: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 [#1259] Add optimized queue for SCMP pattern and use it in NIO and native transport 2014-02-27 13:56:15 +01:00
pom.xml Introduce a native transport for linux using epoll ET 2014-02-15 22:42:07 +01:00
README.md Fix the 'branches to look' section 2014-01-16 14:37:54 +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.