前面学习了channel和bootstarp。
本文分为两部分,一是补充下channel 二是整体来看下channel和bootstarp
channel其他包
embedded
epoll unix实现 epoll选择socket
local 就是本地通讯,不需要跨ip
group channelGroup 包含了channel的集合类,提供一些线程安全的方法
rxtx sctp unt 各种协议
主要是nio这个包,看下其实很简单 实现AbstractChannel和SingleThreadEventLoop 即可。一个来控制channel操作,一个来控制线程池
总结
Bootstrap 提供了统一的入口类,用来构建server或client
EventLoopGroup 定时线程池 需要异步处理的,可以放到线程池来处理
channel 为定义接口的方法,bind connect read write
channelHandler 定义一些事件方法, inbound outbound
channelPipe 为构造channelhandler 链表
ChannelHandlerInvoker 主要有EventExecutor ,用来决定本线程执行?还是提交给线程,具体的执行者是channelHandler的子类
ChannelHandlerContext 为上下文包含了 channelHandler Channel EventExecutor ChannelHandlerInvoker