List of Figures

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

Figure 2.1. Echo client and server

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

Figure 3.4. Server with two EventLoopGroups

Chapter 4. Transports

Figure 4.1. Channel interface hierarchy

Figure 4.2. Selecting and processing state changes

Figure 4.3. OIO processing logic

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

Figure 5.5. Before clear() is called

Figure 5.6. After clear() is called

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.4. The relationships among Channel, ChannelPipeline, ChannelHandler, and ChannelHandlerContext

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

Figure 8.3. ServerBootstrap and ServerChannel

Figure 8.4. EventLoop shared between channels

Chapter 9. Unit testing

Figure 9.1. EmbeddedChannel data flow

Figure 9.2. Decoding via FixedLengthFrameDecoder

Figure 9.3. Encoding via AbsIntegerEncoder

Figure 9.4. Decoding via FrameChunkDecoder

Chapter 10. The codec framework

Figure 10.1. ToIntegerDecoder

Figure 10.2. IntegerToStringDecoder

Figure 10.3. ShortToByteEncoder

Figure 10.4. IntegerToStringEncoder

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.2. Server logic

Figure 12.3. ChannelPipeline before WebSocket upgrade

Figure 12.4. ChannelPipeline after WebSocket upgrade

Figure 12.5. WebSocket ChatServer demonstration

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

Figure 13.4. LogEventMonitor

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.4. Long polling

Figure 14.5. Network diagram

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

Figure 15.4. Multiplexing/transport layers

Figure 15.5. Dispatching

Figure 15.6. Netty use

Figure 15.7. Request/response flow

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset