草庐IT

reactor-netty

全部标签

netty源码看不懂?试着写一个吧

前言最近一直在看netty源码,观后感:很难看,于是为了屡清netty的设计思路,我参照netty源码手写一个山寨简版的“netty”,说是手写,其实也就是从源码复制出来核心的代码,并尽量保持命名,设计结构与源码基本一致,因为我的目的很明确:尝试以作者的角度理解netty的全貌效果最终山寨版的netty代码server端使用如下(代码没有引用任何netty的依赖)publicstaticvoidmain(String[]args){EventLoopGroupbossGroup=newNioEventLoopGroup(1);EventLoopGroupworkerGroup=newNioEv

一文聊透 Netty IO 事件的编排利器 pipeline | 详解所有 IO 事件的触发时机以及传播路径(下)

我们接着上篇文章《一文聊透NettyIO事件的编排利器pipeline(上)》的内容继续~~4.向pipeline添加channelHandler在我们详细介绍了全部的inbound类事件和outbound类事件的掩码表示以及事件的触发和传播路径后,相信大家现在可以通过ChannelInboundHandler和ChannelOutboundHandler来根据具体的业务场景选择合适的ChannelHandler类型以及监听合适的事件来完成业务需求了。本小节就该介绍一下自定义的ChannelHandler是如何添加到pipeline中的,netty在这个过程中帮我们作了哪些工作?finalEc

一文聊透 Netty IO 事件的编排利器 pipeline | 详解所有 IO 事件的触发时机以及传播路径(下)

我们接着上篇文章《一文聊透NettyIO事件的编排利器pipeline(上)》的内容继续~~4.向pipeline添加channelHandler在我们详细介绍了全部的inbound类事件和outbound类事件的掩码表示以及事件的触发和传播路径后,相信大家现在可以通过ChannelInboundHandler和ChannelOutboundHandler来根据具体的业务场景选择合适的ChannelHandler类型以及监听合适的事件来完成业务需求了。本小节就该介绍一下自定义的ChannelHandler是如何添加到pipeline中的,netty在这个过程中帮我们作了哪些工作?finalEc

Java进阶-Netty-进阶

一、Reactor线程  源码基于4.1.6.Final版本。1.1Reactor线程启动  NioEventLoop的run方法是reactor线程的主体,在第一次添加任务的时候被启动。入口:NioEventLoop父类SingleThreadEventExecutor的execute方法@Overridepublicvoidexecute(Runnabletask){...booleaninEventLoop=inEventLoop();if(inEventLoop){addTask(task);}else{startThread();addTask(task);...}...}netty

Java进阶-Netty-进阶

一、Reactor线程  源码基于4.1.6.Final版本。1.1Reactor线程启动  NioEventLoop的run方法是reactor线程的主体,在第一次添加任务的时候被启动。入口:NioEventLoop父类SingleThreadEventExecutor的execute方法@Overridepublicvoidexecute(Runnabletask){...booleaninEventLoop=inEventLoop();if(inEventLoop){addTask(task);}else{startThread();addTask(task);...}...}netty