Chapter 1. Netty—asynchronous and event-driven
Figure 1.1. Multiple connections using blocking I/O
Figure 1.2. Non-blocking I/O using Selector
Figure 1.3. Inbound and outbound events flowing through a chain of ChannelHandlers
Chapter 2. Your first Netty application
Chapter 3. Netty components and design
Figure 3.1. Channels, EventLoops, and EventLoopGroups
Figure 3.2. ChannelHandler class hierarchy
Figure 3.3. ChannelPipeline with inbound and outbound ChannelHandlers
Chapter 4. Transports
Figure 4.1. Channel interface hierarchy
Chapter 5. ByteBuf
Figure 5.1. A 16-byte ByteBuf with its indices set to 0
Figure 5.2. CompositeByteBuf holding a header and body
Figure 5.3. ByteBuf internal segmentation
Figure 5.4. ByteBuf after discarding read bytes
Chapter 6. ChannelHandler and ChannelPipeline
Figure 6.1. Channel state model
Figure 6.2. ChannelHandlerAdapter class hierarchy
Figure 6.3. ChannelPipeline and ChannelHandlers
Figure 6.5. Event propagation via the Channel or the ChannelPipeline
Figure 6.6. Event flow for operations triggered via the ChannelHandlerContext
Chapter 7. EventLoop and threading model
Figure 7.1. Executor execution logic
Figure 7.2. EventLoop class hierarchy
Figure 7.3. EventLoop execution logic
Figure 7.4. EventLoop allocation for non-blocking transports (such as NIO and AIO)
Figure 7.5. EventLoop allocation of blocking transports (such as OIO)
Chapter 8. Bootstrapping
Figure 8.1. Bootstrapping class hierarchy
Figure 8.2. Bootstrapping process
Chapter 9. Unit testing
Figure 9.1. EmbeddedChannel data flow
Figure 9.2. Decoding via FixedLengthFrameDecoder
Chapter 10. The codec framework
Figure 10.2. IntegerToStringDecoder
Chapter 11. Provided ChannelHandlers and codecs
Figure 11.1. Data flow through SslHandler for decryption and encryption
Figure 11.2. HTTP request component parts
Figure 11.3. HTTP response component parts
Figure 11.4. WebSocket protocol
Figure 11.5. Frames delimited by line endings
Figure 11.6. Decoding a frame length of 8 bytes
Figure 11.7. Message with variable frame size encoded in the header
Chapter 12. WebSocket
Figure 12.1. WebSocket application logic
Figure 12.3. ChannelPipeline before WebSocket upgrade
Chapter 13. Broadcasting events with UDP
Figure 13.1. Broadcast system overview
Figure 13.2. Log entries sent via DatagramPackets
Figure 13.3. LogEventBroadcaster: ChannelPipeline and LogEvent flow
Chapter 14. Case studies, part 1
Figure 14.1. Approach A, optimistic and apparently simpler
Figure 14.2. Approach B, safe but complex
Figure 14.3. Firebase architecture
Figure 14.6. High-level mobile messaging platform integration
Chapter 15. Case studies, part 2
Figure 15.1. Synchronous request/response flow
Figure 15.2. Request/response flow for sequential processing of pipelined requests
Figure 15.3. Request/response flow for parallel processing of pipelined requests