老师 这段代码很难理解, 为啥p.addlast是加handler, 但是他的参数是个内部类
来源:3-3 服务端Channel的初始化

慕妹0138986
2019-11-06
老师 这段代码很难理解, 为啥p.addlast是加handler, 但是他的参数是个内部类
内部类里边还是有pipeline.addlast 这个内部类啥时候调用 晕了
p.addLast(new ChannelInitializer<Channel>() {
@Override
public void initChannel(final Channel ch) {
final ChannelPipeline pipeline = ch.pipeline();
// channel 是在哪保存起来的 是在我们server设置haandler的时候 放在了abstractbootstrap 那里
ChannelHandler handler = config.handler();
if (handler != null) {
pipeline.addLast(handler);
}
ch.eventLoop().execute(new Runnable() {
@Override
public void run() {
pipeline.addLast(new ServerBootstrapAcceptor(
ch, currentChildGroup, currentChildHandler, currentChildOptions, currentChildAttrs));
}
});
}
});
写回答
1回答
-
闪电侠
2019-11-07
ChannelInitializer 是一个特殊的 handler,可以理解为 channel 在初始化的时候,ChannelInitializer 的 initChannel 方法会被调用
00
相似问题