美文网首页程序猿之路
Netty源码分析(二)Channel

Netty源码分析(二)Channel

作者: 三斤牛肉 | 来源:发表于2017-05-23 17:06 被阅读32次

Channel是Netty通讯的核心载体。
它包含了几个重要组件Unsafe,DefaultChannelPipeline
其中Unsafe具体处理IO相关操作
DefaultChannelPipeline负责整个逻辑处理。
Netty对于不同协议,不同底层实现都有不同的实现。
这里我们找一个最常用的NioServerSocketChannel来梳理类继承结构。

image.png

找几块代码:

@Override
public ChannelFuture bind(SocketAddress localAddress, ChannelPromise promise) {
        return pipeline.bind(localAddress, promise);
}

@Override
public ChannelFuture connect(SocketAddress remoteAddress, ChannelPromise promise) {
        return pipeline.connect(remoteAddress, promise);
}

@Override
public ChannelFuture write(Object msg) {
   return pipeline.write(msg);
}

@Override
public Channel read() {
    pipeline.read();
    return this;
}

可以看到大部分的功能都在Pipeline中实现,下一节具体分析下Pipeline。

相关文章

网友评论

    本文标题:Netty源码分析(二)Channel

    本文链接:https://www.haomeiwen.com/subject/haawxxtx.html