Go to file
Idel Pivnitskiy dd026eb60a Fix NPE problems
Motivation:

Now Netty has a few problems with null values.

Modifications:

- Check File in DiskFileUpload.toString().
If File is null we will get NPE when calling toString() method.
- Check Result<String> in MqttDecoder.decodeConnectionPayload(...).
- Check Unsafe before calling unsafe.getClass() in PlatformDependent0 static block.
- Removed unnecessary null check in WebSocket08FrameEncoder.encode(...).
Because msg.content() can not return null.
- Removed unnecessary null checks in ConcurrentHashMapV8.removeTreeNode(TreeNode<K,V>).
- Removed unnecessary null check in OioDatagramChannel.doReadMessages(List<Object>).
Because tmpPacket.getSocketAddress() always returns new SocketAddress instance.
- Removed unnecessary null check in OioServerSocketChannel.doReadMessages(List<Object>).
Because socket.accept() always returns new Socket instance.
- Pass Unpooled.buffer(0) instead of null inside CloseWebSocketFrame(boolean, int) constructor.
If we will pass null we will get NPE in super class constructor.
- Added throw new IllegalStateException in GlobalEventExecutor.awaitInactivity(long, TimeUnit) if it will be called before GlobalEventExecutor.execute(Runnable).
Because now we will get NPE. IllegalStateException will be better in this case.
- Fixed null check in OpenSslServerContext.setTicketKeys(byte[]).
Now we throw new NPE if byte[] is not null.

Result:

Added new null checks when it is necessary, removed unnecessary null checks and fixed some NPE problems.
2014-07-20 12:56:21 +02:00
all [maven-release-plugin] prepare for next development iteration 2014-06-30 14:31:08 +02:00
buffer Small performance improvements 2014-07-20 09:29:33 +02:00
codec Fixes for compression codecs 2014-07-20 09:34:31 +02:00
codec-http Fix NPE problems 2014-07-20 12:56:21 +02:00
codec-socks Fix most inspector warnings 2014-07-02 20:21:30 +09:00
common Fix NPE problems 2014-07-20 12:56:21 +02:00
example Move generic code to HttpOrSpdyChooser to simplify implementations 2014-07-07 09:34:33 +02:00
handler Fix NPE problems 2014-07-20 12:56:21 +02:00
license Preparation for porting OpenSSL support in 3.10 2014-05-17 20:01:47 +09:00
microbench [maven-release-plugin] prepare for next development iteration 2014-06-30 14:31:08 +02:00
tarball [maven-release-plugin] prepare for next development iteration 2014-06-30 14:31:08 +02:00
testsuite [#2647] Respect IOV_MAX when call writev in native transport 2014-07-09 13:32:43 +02:00
transport Fix NPE problems 2014-07-20 12:56:21 +02:00
transport-native-epoll [#2667] Write until EAGAIN in native transport and only call setEpollOut() in this case 2014-07-18 20:31:19 +02:00
transport-rxtx Fix most inspector warnings 2014-07-02 20:21:30 +09:00
transport-sctp [#2644] Correctly release buffer when exception happens during send DatagramPacket or SctpMessage 2014-07-08 20:15:33 +02:00
transport-udt Fix most inspector warnings 2014-07-02 20:21:30 +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:37:12 +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:18:14 +09:00
LICENSE.txt Relicensed to Apache License v2 2009-08-28 07:15:49 +00:00
NOTICE.txt Preparation for porting OpenSSL support in 3.10 2014-05-17 20:01:47 +09:00
pom.xml Add missing m2eclipse life cycle mapping 2014-07-06 16:53:53 +09:00
README.md Update README.md 2014-01-16 14:38:36 +09:00
run-example.sh Use a forked exec-maven-plugin instead of maven-antrun-plugin 2014-05-23 20:06:12 +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 major versions takes place in each branch whose name is identical to its major version number. For example, the development of 3.x and 4.x resides in the branch '3' and the branch '4' respectively.