
netty
文章平均质量分 82
iteye_21194
这个作者很懒,什么都没留下…
展开
-
Netty4.1源码 :NioEventLoopGroup
NioEventLoopGroup NioEventLoopGroup 是一个线程池(组),聚合的N个线程(NioEventLoop),每一个NioEventLoop启用一条线程处理网络IO事件及任务。N个线程:默认为主机CPU个数*2 register 事方法:从线程组中挑选出一个(NioEventLoop),委派其执行注册事件。 public...原创 2017-01-20 15:26:30 · 189 阅读 · 0 评论 -
Netty4.1源码 :DefaultPromise
/** * 异步操作回调类,当某项操作异步执行时(由另外的线程执行),当前线程当即返回DefaultPromise * DefaultPromise.addListener 方法可以添加监听器,当操作完成时被触发 * 或者调用DefaultPromise.sync()阻塞当前线程,等待操作完成。 **/ public class DefaultPromise&...原创 2017-02-08 14:19:10 · 685 阅读 · 0 评论 -
Netty4.1源码 :write & flush事件
write 事件:ChannelHandlerContext ctx.write(object) | | \|/ channel.pipeline()中ChannelHandler链,触发ctx.write(object)的ChannelHandler所在链的位置--》head方向上的第一个的ChannelHander开始, 依次调用((ChannelOutbou...原创 2017-02-08 13:40:21 · 350 阅读 · 0 评论 -
Netty4.1源码 :connect & register事件
connect事件: Bootstrap b; b.connect(serverIp, port).sync(); | | \|/ javaChannel().register(eventLoop().selector, 0, this); jdk在selector注册channel感兴趣的事件0 | | \|/ 触发添加到ch...原创 2017-02-08 13:34:04 · 569 阅读 · 0 评论 -
Netty4.1源码 :read
read 事件:NioEvenLoop中线程循环监控网络上数据进入 | | \|/有数据进入,读取数据存入ByteBuf | | \|/ channel.pipeline().fireChannelRead(byteBuf)被调用: channel.pipeline()中ChannelInboundHandler链,从head-->tail顺...原创 2017-02-08 13:34:02 · 303 阅读 · 0 评论 -
Netty4.1源码 :ChannelOutboundHandler
/** * Handles an I/O event or intercepts an I/O operation, and forwards it to its next handler in * its {@link ChannelPipeline}. * 处理IO事件、拦截IO操作或跳转到下一个ChannelHandler处理 * <h3&g...原创 2017-02-07 13:55:52 · 535 阅读 · 0 评论 -
Netty4.1源码 :ChannelInboundHandler
对于read方法,一般经过的ChannelInboundHandler: ChannelPipeLine->ByteToMessageDecoder (首先字节流分割为完整的一个报文)-->MessageToMessageDecoder (报文转换为对象)可以有多个ByteToMessageDecoder和MessageToMessageDecoder,...原创 2017-02-07 10:19:26 · 290 阅读 · 0 评论 -
Netty4.1源码 :DefaultChannelHandlerContext
/*** ChannelHandlerContext 实现了ChannelInboundInvoker和ChannelOutboundInvoker** ChannelPipeline 也实现了ChannelInboundInvoker和*ChannelOutboundInvoker,* * ChannelPipeline 持有ChannelHand...原创 2017-02-04 13:54:33 · 371 阅读 · 0 评论 -
Netty4.1源码 :DefaultChannelPipline
public interface ChannelOutboundInvoker { /*** 请求端口绑定到SocketAddress并通知ChannelFuture 操作成功或失败 * This will result in having the * {@link ChannelOutboundHandler#bind(Cha...原创 2017-01-25 16:41:22 · 225 阅读 · 0 评论 -
Netty4.1源码 :NioSocketChannel
AbstractChannel 是ChannelOutboundInvoker 的子类。 DefaultPipeLine 是ChannelOutboundInvoker 的子类。 那么哪个类才是真正实现ChannelOutboundInvoker 的功能? 是DefaultPipeLine 。 那AbstractChannel 为什么要实现ChannelOu...原创 2017-01-24 16:43:16 · 174 阅读 · 0 评论 -
Netty4.1源码:NioEventLoop
NioEventLoop 内部启用一个线程,处理两件事:1.负责注册到此类的Channel的IO事件,channel connect ,channel read selector.select()或selector.selectNow()2.处理一些IO任务一个线程处理两件事,两件事的使用CUP的时间比例由ioRatio属性决定,默认为各为50% ...原创 2017-01-23 16:13:35 · 146 阅读 · 0 评论 -
Netty4.1源码 : 类关系简述
Netty 主要类之间的关系图:原创 2017-02-08 15:32:14 · 231 阅读 · 0 评论