The Netty Project API Reference (3.1.5.GA, r1772)

The Netty project is an effort to provide an asynchronous event-driven network application framework and tools for rapid development of maintainable high performance and high scalability protocol servers and clients. In other words, Netty is a NIO client server framework which enables quick and easy development of network applications such as protocol servers and clients. It greatly simplifies and streamlines network programming such as TCP/IP socket server.

See:
          Description

Low-level data representation
org.jboss.netty.buffer Abstraction of a byte buffer - the fundamental data structure to represent a low-level binary and text message.

 

Central interface for all I/O operations
org.jboss.netty.channel The core channel API which is asynchronous and event-driven abstraction of various transports such as a NIO Channel.
org.jboss.netty.channel.group A channel registry which helps a user maintain the list of open Channels and perform bulk operations on them.
org.jboss.netty.channel.local A virtual transport that enables the communication between the two parties in the same virtual machine.
org.jboss.netty.channel.socket Abstract TCP and UDP socket interfaces which extend the core channel API.
org.jboss.netty.channel.socket.http An HTTP-based client-side SocketChannel and its corresponding server-side Servlet implementation that make your existing server application work in a firewalled network.
org.jboss.netty.channel.socket.nio NIO-based socket channel API implementation - recommended for a large number of connections (>= 1000).
org.jboss.netty.channel.socket.oio Old blocking I/O based socket channel API implementation - recommended for a small number of connections (< 1000).
org.jboss.netty.channel.xnio An alternative channel API implementation which uses JBoss XNIO as its I/O provider.

 

Client & Server bootstrapping utilities
org.jboss.netty.bootstrap IoC/DI friendly helper classes which enable an easy implementation of typical client side and server side channel initialization.

 

Reusable I/O event interceptors
org.jboss.netty.handler.codec.base64 Encoder and decoder which transform a Base64-encoded String or ChannelBuffer into a decoded ChannelBuffer and vice versa.
org.jboss.netty.handler.codec.embedder A helper that wraps an encoder or a decoder so that they can be used without doing actual I/O in unit tests or higher level codecs.
org.jboss.netty.handler.codec.frame Extensible decoder and its common implementations which deal with the packet fragmentation and reassembly issue found in a stream-based transport such as TCP/IP.
org.jboss.netty.handler.codec.http Encoder, decoder and their related message types for HTTP.
org.jboss.netty.handler.codec.oneone Simplistic abstract classes which help implement encoder and decoder that transform an object into another object and vice versa.
org.jboss.netty.handler.codec.protobuf Encoder and decoder which transform a Google Protocol Buffers Message into a ChannelBuffer and vice versa.
org.jboss.netty.handler.codec.replay Specialized variation of FrameDecoder which enables implementation of a non-blocking decoder in the blocking I/O paradigm.
org.jboss.netty.handler.codec.serialization Encoder, decoder and their compatibility stream implementations which transform a Serializable object into a byte buffer and vice versa.
org.jboss.netty.handler.codec.string Encoder and decoder which transform a String into a ChannelBuffer and vice versa.
org.jboss.netty.handler.execution Executor-based implementation of various thread models and memory overload prevention mechanisms.
org.jboss.netty.handler.logging Logs a ChannelEvent for debugging purpose using an InternalLogger.
org.jboss.netty.handler.ssl SSL · TLS implementation based on SSLEngine
org.jboss.netty.handler.stream Writes very large data stream asynchronously neither spending a lot of memory nor getting OutOfMemoryError.
org.jboss.netty.handler.timeout Adds support for read and write timeout and idle connection notification using a Timer.

 

IoC (Dependency Injection) container integration
org.jboss.netty.container.guice Google Guice integration.
org.jboss.netty.container.microcontainer JBoss Microcontainer integration.
org.jboss.netty.container.osgi OSGi framework integration.
org.jboss.netty.container.spring Spring framework integration.

 

Miscellaneous
org.jboss.netty.logging Simplistic internal-use-only logging layer which allows a user to decide what logging framework Netty should use.
org.jboss.netty.util Utility classes used across multiple packages.

 

The Netty project is an effort to provide an asynchronous event-driven network application framework and tools for rapid development of maintainable high performance and high scalability protocol servers and clients. In other words, Netty is a NIO client server framework which enables quick and easy development of network applications such as protocol servers and clients. It greatly simplifies and streamlines network programming such as TCP/IP socket server.



Copyright © 2008-2009 JBoss, by Red Hat. All Rights Reserved.