Netty

Netty 3源码分析(二)Channel

本文将介绍channel包下与Channel相关的核心概念。

一、Channel

Channel

Channel对应于一个通信连接,用于完成bind、connect、write等操作,接收消息通过绑定的pipeline和ChannelEvent来实现。

二、ChannelFactory

ChannelFactory

ChannelFactory负责Channel对象的创建工作。

三、ChannelPipeline

ChannelPipeline

每个Channel都会对应一个ChannelPipeline,所有的事件将会在pipeline中流转并被处理。

四、ChannelHandlerContext

ChannelHandlerContext

ChannelPipeline并没有直接引用ChannelHandler,而是将其包装在ChannelHandlerContext中。pipeline维护的是一组context的引用,由context再去调用handler。

五、ChannelHandler

ChannelHandler

包含编码、解码以及业务处理的handler逻辑。

六、ChannelSink

ChannelSink

ChannelSink是一类特殊的处理器,它们位于pipeline的最末端,处理一些特殊的逻辑。

七、ChannelFuture

ChannelFuture

ChannelFuture是在Channel执行某一些操作后得到的Future类型的结果。

八、ChannelEvent

ChannelEvent

事件通知中传递的数据体,从中可以获取channel的state或接收的message。

小结

文中提到的核心概念包括

  1. Channel
  2. ChannelFactory
  3. ChannelPipeline
  4. ChannelHandlerContext
  5. ChannelHandler
  6. ChannelSink
  7. ChannelFuture
  8. ChannelEvent

 

© 2015, 高飞航.cn. 版权所有.

About gaofeihang

开发工程师,本站的作者。欢迎留下您宝贵的意见!

发表评论

电子邮件地址不会被公开。 必填项已用*标注