整体类图参照https://blog..net/kq1983/article/details/1079126111. thread确定NioEventLoopGroup() 这样的话,默认是
业务代码// Start the server.ChannelFuture f = b.bind(PORT).sync();AbstractBootstrappublic ChannelFuture bind(SocketAddress localAddress) { validate(); if
DefaultSelectStrategyFactory 默认Select策略工厂public final class DefaultSelectStrategyFactory implements SelectStrategyFactory { public static final
java.util.concurrent.Future 顶层是jdk的Futureio.netty.util.concurrent.Futurenetty的Future继承jdk的
EventListenerGenericFutureListener GenericFutureListener继承EventListenerFutureListenerFutureListener类图GenericProgressiveFutureListenerGenericProgressiveFutureListener 类图...
ChannelInboundInvokerChannelOutboundInvoker
ChannelHandlerChannelHandlerAdapterChannelInboundHandlerChannelInboundHandlerAdapterChannelOutboundHandlerChannelOutboundHandlerAdapter
NioEventLoopGroup整体结构图jdk自带线程池详细图(从EventExecutorGroup)
构造函数NioEventLoop(NioEventLoopGroup parent, Executor executor, SelectorProvider selectorProvider,
channelReadCompletereadAbstractNioByteChannelpublic final void read() {ByteBuf byteBuf = null;
fire******这里以fireChannelRead为例,还有fireChannelActive、fireChannelReadComplete、fireExceptionCaught 等入口从hea
类io.netty.channel.socket.nio.NioSocketChannel封装了操作java nio操作public class NioSocketChannel extends AbstractNioByteChannel imp
NioServerSocketChannelio.netty.channel.socket.nio.NioServerSocketChannel继承图NioServerSocketChannel 方法构造函数publi
DefaultEventExecutorChooserFactory构造函数单例public static final DefaultEventExecutorChooserFactory INSTANCE = new DefaultEventEx
ChannelInitializerprotected abstract void initChannel(C ch) throws Exception;public final void channelRegistered(
流程图
register0入口 AbstractChannel.register0private void register0(ChannelPromise promise) { try {
IdleStateHandler主要属性 private final long readerIdleTimeNanos; // 读空闲超时时间 private final long writerIdleTimeNanos;
java.util.concurrent.Future 顶层是jdk的Futureio.netty.util.concurrent.Futurenetty的Future继承jdk的Futureio.netty.channel.ChannelFutureio.netty.util.concurrent.PromisePromise继承netty的Futureio.netty.channel.ChannelPromise...
构造函数NioEventLoop(NioEventLoopGroup parent, Executor executor, SelectorProvider selectorProvider, SelectStrategy strategy, RejectedExecutionHandler rejectedExecutionHandler) { super(parent, executor, false, DEFAULT_MAX_PENDING_TA
整体类图参照https://blog.csdn.net/kq1983/article/details/1079126111. thread确定NioEventLoopGroup() 这样的话,默认是cpu的核数*2public NioEventLoopGroup() { this(0);}// MultithreadEventLoopGroup类// 看这里如果thread=0 则默认是DEFAULT_EVENT_LOOP_THREADSprotected Mu.
业务代码// Start the server.ChannelFuture f = b.bind(PORT).sync();AbstractBootstrappublic ChannelFuture bind(SocketAddress localAddress) { validate(); if (localAddress == null) { throw new NullPointerException("localAddress
DefaultSelectStrategyFactory 默认Select策略工厂public final class DefaultSelectStrategyFactory implements SelectStrategyFactory { public static final SelectStrategyFactory INSTANCE = new DefaultSelectStrategyFactory(); private DefaultSelectStrateg...
类 io.netty.channel.socket.nio.NioSocketChannel 封装了操作java nio操作 public class NioSocketChannel extends AbstractNioByteChannel implements io.netty.channel.socket.SocketChannel { } 打开SocketChannel public NioSocketChannel(SelectorProvider provider) { this(
NioServerSocketChannel io.netty.channel.socket.nio.NioServerSocketChannel 继承图 NioServerSocketChannel 方法 构造函数 public NioServerSocketChannel() { this(newSocket(DEFAULT_SELECTOR_PROVIDER)); } newSocket 打开ServerSocketChannel private static ServerSocketCh
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号