Channel
1.Channel是一组socket或者能够执行i/o操作(读写,连接和绑定)的组件的连接。
channel可以提供:
- channel目前的状态,比如打开,或者已连接状态。
- channel的配置参数。
- channel支持的i/o操作
- 提供channelpipeline,可以处理所有的i/o事件或者请求。
2.所有的i/o操作都是异步的。这意味着任何的i/o调用都会立即返回,并且并不保证所有请求的i/o操作都会在调用结束时已经完成。
3.Channel的生命周期
- ChannelUnRegistered:Channel已经被创建,但还未注册到EventLoop
- ChannelRegister:Channel已经注册到了EventLoop
- ChannelActive:Channel处于活动状态。它现在可以收发数据了
- ChannelInactive:Channel没有连接到远程节点。
- 这些事件将被转发给ChannelPipeline中的ChannelHandler,其可以随后对它们做出响应。
ChannelHandlerContext
- ChannelHanlderContext使得ChannelHandler能够和它的ChannelPipeline以及其他的ChannelHandler交互。
- 每当有ChannelHandler添加到ChannelPipeline中时,都会创建ChannelHandlerContext.