MultithreadEventLoopGroup Class — netty Architecture
Architecture documentation for the MultithreadEventLoopGroup class in MultithreadEventLoopGroup.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 02964faa_60a4_50b0_5c76_a23d1ca38dbe["MultithreadEventLoopGroup"] 318ade1d_d675_18cc_ce84_596c6a8fb7d6["MultithreadEventLoopGroup.java"] 02964faa_60a4_50b0_5c76_a23d1ca38dbe -->|defined in| 318ade1d_d675_18cc_ce84_596c6a8fb7d6 e809e4dd_9ca8_23ae_93ac_fe303adbfd15["MultithreadEventLoopGroup()"] 02964faa_60a4_50b0_5c76_a23d1ca38dbe -->|method| e809e4dd_9ca8_23ae_93ac_fe303adbfd15 d5913bc8_44c9_dfda_b10c_ce3d4d5a65c8["ThreadFactory()"] 02964faa_60a4_50b0_5c76_a23d1ca38dbe -->|method| d5913bc8_44c9_dfda_b10c_ce3d4d5a65c8 7699b643_b972_9482_d37e_4636a62bf9aa["EventLoop()"] 02964faa_60a4_50b0_5c76_a23d1ca38dbe -->|method| 7699b643_b972_9482_d37e_4636a62bf9aa 476d0c8d_b2a1_04fb_616d_0909b106b66a["ChannelFuture()"] 02964faa_60a4_50b0_5c76_a23d1ca38dbe -->|method| 476d0c8d_b2a1_04fb_616d_0909b106b66a
Relationship Graph
Source Code
transport/src/main/java/io/netty/channel/MultithreadEventLoopGroup.java lines 33–100
public abstract class MultithreadEventLoopGroup extends MultithreadEventExecutorGroup implements EventLoopGroup {
private static final InternalLogger logger = InternalLoggerFactory.getInstance(MultithreadEventLoopGroup.class);
private static final int DEFAULT_EVENT_LOOP_THREADS;
static {
DEFAULT_EVENT_LOOP_THREADS = Math.max(1, SystemPropertyUtil.getInt(
"io.netty.eventLoopThreads", NettyRuntime.availableProcessors() * 2));
if (logger.isDebugEnabled()) {
logger.debug("-Dio.netty.eventLoopThreads: {}", DEFAULT_EVENT_LOOP_THREADS);
}
}
/**
* @see MultithreadEventExecutorGroup#MultithreadEventExecutorGroup(int, Executor, Object...)
*/
protected MultithreadEventLoopGroup(int nThreads, Executor executor, Object... args) {
super(nThreads == 0 ? DEFAULT_EVENT_LOOP_THREADS : nThreads, executor, args);
}
/**
* @see MultithreadEventExecutorGroup#MultithreadEventExecutorGroup(int, ThreadFactory, Object...)
*/
protected MultithreadEventLoopGroup(int nThreads, ThreadFactory threadFactory, Object... args) {
super(nThreads == 0 ? DEFAULT_EVENT_LOOP_THREADS : nThreads, threadFactory, args);
}
/**
* @see MultithreadEventExecutorGroup#MultithreadEventExecutorGroup(int, Executor,
* EventExecutorChooserFactory, Object...)
*/
protected MultithreadEventLoopGroup(int nThreads, Executor executor, EventExecutorChooserFactory chooserFactory,
Object... args) {
super(nThreads == 0 ? DEFAULT_EVENT_LOOP_THREADS : nThreads, executor, chooserFactory, args);
}
@Override
protected ThreadFactory newDefaultThreadFactory() {
return new DefaultThreadFactory(getClass(), Thread.MAX_PRIORITY);
}
@Override
public EventLoop next() {
return (EventLoop) super.next();
}
@Override
protected abstract EventLoop newChild(Executor executor, Object... args) throws Exception;
@Override
public ChannelFuture register(Channel channel) {
return next().register(channel);
}
@Override
public ChannelFuture register(ChannelPromise promise) {
return next().register(promise);
}
@Deprecated
@Override
public ChannelFuture register(Channel channel, ChannelPromise promise) {
return next().register(channel, promise);
}
}
Source
Frequently Asked Questions
What is the MultithreadEventLoopGroup class?
MultithreadEventLoopGroup is a class in the netty codebase, defined in transport/src/main/java/io/netty/channel/MultithreadEventLoopGroup.java.
Where is MultithreadEventLoopGroup defined?
MultithreadEventLoopGroup is defined in transport/src/main/java/io/netty/channel/MultithreadEventLoopGroup.java at line 33.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free