1. Netty concepts and architecture
Chapter 1. Netty—asynchronous and event-driven
Chapter 2. Your first Netty application
2.1. Setting up the development environment
2.1.1. Obtaining and installing the Java Development Kit
2.1.2. Downloading and installing an IDE
2.2. Netty client/server overview
2.5. Building and running the Echo server and client
Chapter 3. Netty components and design
3.1. Channel, EventLoop, and ChannelFuture
3.2. ChannelHandler and ChannelPipeline
3.2.1. Interface ChannelHandler
3.2.2. Interface ChannelPipeline
4.1. Case study: transport migration
4.1.1. Using OIO and NIO without Netty
4.3.2. Epoll—native non-blocking transport for Linux
5.2. Class ByteBuf—Netty’s data container
Chapter 6. ChannelHandler and ChannelPipeline
6.1. The ChannelHandler family
6.1.2. The ChannelHandler lifecycle
6.1.3. Interface ChannelInboundHandler
6.1.4. Interface ChannelOutboundHandler
6.2. Interface ChannelPipeline
6.3. Interface ChannelHandlerContext
6.3.1. Using ChannelHandlerContext
6.3.2. Advanced uses of ChannelHandler and ChannelHandlerContext
Chapter 7. EventLoop and threading model
8.2. Bootstrapping clients and connectionless protocols
8.4. Bootstrapping clients from a Channel
8.5. Adding multiple ChannelHandlers during a bootstrap
8.6. Using Netty ChannelOptions and attributes
9.1. Overview of EmbeddedChannel
9.2. Testing ChannelHandlers with EmbeddedChannel
Chapter 10. The codec framework
10.2.1. Abstract class ByteToMessageDecoder
10.2.2. Abstract class ReplayingDecoder
10.4.1. Abstract class ByteToMessageCodec
Chapter 11. Provided ChannelHandlers and codecs
11.1. Securing Netty applications with SSL/TLS
11.2. Building Netty HTTP/HTTPS applications
11.2.1. HTTP decoder, encoder, and codec
11.3. Idle connections and timeouts
11.4. Decoding delimited and length-based protocols
12.2. Our example WebSocket application
12.3. Adding WebSocket support
12.3.1. Handling HTTP requests
12.3.2. Handling WebSocket frames
Chapter 13. Broadcasting events with UDP
13.3. The UDP sample application
13.4. The message POJO: LogEvent
Chapter 14. Case studies, part 1
14.1. Droplr—building mobile services
14.2. Firebase—a real-time data synchronization service
14.2.1. The Firebase architecture
14.3. Urban Airship—building mobile services
14.3.1. Basics of mobile messaging
14.3.3. Binary protocol example
14.3.4. Direct to device delivery
14.3.5. Netty excels at managing large numbers of concurrent connections
Chapter 15. Case studies, part 2
15.1. Netty at Facebook: Nifty and Swift
15.1.2. Improving the state of Java Thrift using Netty
15.1.4. Nifty asynchronous client design
15.2. Netty at Twitter: Finagle