The main structures and classes of Netty
This article introduces the relevant knowledge of "the main structures and classes of Netty". In the operation of actual cases, many people will encounter such a dilemma, so let the editor lead you to learn how to deal with these situations. I hope you can read it carefully and be able to achieve something!
Netty
There are mainly two thread pools (NioEventLoopGroup) inside the Netty. One is responsible for receiving client requests, and the other is responsible for handling IO. When the NioServerSocketChannel receives the request, it will put the request into the associated Pipeline. There are many ChannelHandlerContext in the Pipeline. One ChannelHandlerContext will encapsulate the request as the NioSocketChannel of the Netty, and finally register it with the NioEventLoop in the other NioEventLoopGroup.
Receive a request
Basically a server has only one NioServerSocketChannel and is registered on NioEventLoop. Listen for client requests (ACCEPT) through an infinite loop. When there are multiple client requests, the default is to read 16 clients at a time (as some versions do).
Dealing with IO
When a NioSocketChannel is associated with a unique NioEventLoop, the NioEventLoop listens for read and write requests from the Channel through an infinite loop. When the read request is received and the data is read through Unsafe, it will continue to be 'passed on' to Pipeline and processed by ChannelHandlerContext in Pipeline, while ChannelHandlerContext is a business implemented by ourselves, but we add these ChannelHandlerContext to Pipeline. This is the end of the content of "main structures and classes of Netty". Thank you for reading. If you want to know more about the industry, you can follow the website, the editor will output more high-quality practical articles for you!