NonStickyEventExecutorGroup Class — netty Architecture
Architecture documentation for the NonStickyEventExecutorGroup class in NonStickyEventExecutorGroup.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD fb5de0b8_403e_ac66_5858_800a6a7a6988["NonStickyEventExecutorGroup"] eafe5945_ac14_eb1d_92de_38d929817de3["NonStickyEventExecutorGroup.java"] fb5de0b8_403e_ac66_5858_800a6a7a6988 -->|defined in| eafe5945_ac14_eb1d_92de_38d929817de3 d99e0389_5a32_4fdb_d06d_c26769c47d41["NonStickyEventExecutorGroup()"] fb5de0b8_403e_ac66_5858_800a6a7a6988 -->|method| d99e0389_5a32_4fdb_d06d_c26769c47d41 ce782680_b574_3662_b299_5cecb066cf09["EventExecutorGroup()"] fb5de0b8_403e_ac66_5858_800a6a7a6988 -->|method| ce782680_b574_3662_b299_5cecb066cf09 21e96047_4ae3_8466_7593_e9ea51afd580["NonStickyOrderedEventExecutor()"] fb5de0b8_403e_ac66_5858_800a6a7a6988 -->|method| 21e96047_4ae3_8466_7593_e9ea51afd580 401412de_7d77_494e_6721_4314c05777e0["isShuttingDown()"] fb5de0b8_403e_ac66_5858_800a6a7a6988 -->|method| 401412de_7d77_494e_6721_4314c05777e0 98cb20e8_be01_2513_6e71_906f9e159465["shutdownGracefully()"] fb5de0b8_403e_ac66_5858_800a6a7a6988 -->|method| 98cb20e8_be01_2513_6e71_906f9e159465 7635af02_08b8_bc3c_f259_4b667fe2aa81["terminationFuture()"] fb5de0b8_403e_ac66_5858_800a6a7a6988 -->|method| 7635af02_08b8_bc3c_f259_4b667fe2aa81 30e14b10_4c41_7544_be8b_35d4777ef941["shutdown()"] fb5de0b8_403e_ac66_5858_800a6a7a6988 -->|method| 30e14b10_4c41_7544_be8b_35d4777ef941 97663d9b_e7d5_f6f6_d7df_b4ed31aa5672["shutdownNow()"] fb5de0b8_403e_ac66_5858_800a6a7a6988 -->|method| 97663d9b_e7d5_f6f6_d7df_b4ed31aa5672 2ea4d00c_4990_8a44_7627_cce15fef6de8["EventExecutor()"] fb5de0b8_403e_ac66_5858_800a6a7a6988 -->|method| 2ea4d00c_4990_8a44_7627_cce15fef6de8 db99e45d_c2f6_449a_a972_643f3224eeb0["iterator()"] fb5de0b8_403e_ac66_5858_800a6a7a6988 -->|method| db99e45d_c2f6_449a_a972_643f3224eeb0 440597a4_84fe_31a6_05fe_62ea811a0472["submit()"] fb5de0b8_403e_ac66_5858_800a6a7a6988 -->|method| 440597a4_84fe_31a6_05fe_62ea811a0472 3729be0c_2d45_219b_21bb_04fec7ed1e49["schedule()"] fb5de0b8_403e_ac66_5858_800a6a7a6988 -->|method| 3729be0c_2d45_219b_21bb_04fec7ed1e49 24b0c85e_86b9_c207_bd6d_a9d23095a556["scheduleAtFixedRate()"] fb5de0b8_403e_ac66_5858_800a6a7a6988 -->|method| 24b0c85e_86b9_c207_bd6d_a9d23095a556
Relationship Graph
Source Code
common/src/main/java/io/netty/util/concurrent/NonStickyEventExecutorGroup.java lines 41–348
@UnstableApi
public final class NonStickyEventExecutorGroup implements EventExecutorGroup {
private final EventExecutorGroup group;
private final int maxTaskExecutePerRun;
/**
* Creates a new instance. Be aware that the given {@link EventExecutorGroup} <strong>MUST NOT</strong> contain
* any {@link OrderedEventExecutor}s.
*/
public NonStickyEventExecutorGroup(EventExecutorGroup group) {
this(group, 1024);
}
/**
* Creates a new instance. Be aware that the given {@link EventExecutorGroup} <strong>MUST NOT</strong> contain
* any {@link OrderedEventExecutor}s.
*/
public NonStickyEventExecutorGroup(EventExecutorGroup group, int maxTaskExecutePerRun) {
this.group = verify(group);
this.maxTaskExecutePerRun = ObjectUtil.checkPositive(maxTaskExecutePerRun, "maxTaskExecutePerRun");
}
private static EventExecutorGroup verify(EventExecutorGroup group) {
Iterator<EventExecutor> executors = ObjectUtil.checkNotNull(group, "group").iterator();
while (executors.hasNext()) {
EventExecutor executor = executors.next();
if (executor instanceof OrderedEventExecutor) {
throw new IllegalArgumentException("EventExecutorGroup " + group
+ " contains OrderedEventExecutors: " + executor);
}
}
return group;
}
private NonStickyOrderedEventExecutor newExecutor(EventExecutor executor) {
return new NonStickyOrderedEventExecutor(executor, maxTaskExecutePerRun);
}
@Override
public boolean isShuttingDown() {
return group.isShuttingDown();
}
@Override
public Future<?> shutdownGracefully() {
return group.shutdownGracefully();
}
@Override
public Future<?> shutdownGracefully(long quietPeriod, long timeout, TimeUnit unit) {
return group.shutdownGracefully(quietPeriod, timeout, unit);
}
@Override
public Future<?> terminationFuture() {
return group.terminationFuture();
}
@SuppressWarnings("deprecation")
@Override
public void shutdown() {
group.shutdown();
}
@SuppressWarnings("deprecation")
@Override
public List<Runnable> shutdownNow() {
return group.shutdownNow();
}
@Override
public EventExecutor next() {
return newExecutor(group.next());
}
@Override
public Iterator<EventExecutor> iterator() {
final Iterator<EventExecutor> itr = group.iterator();
return new Iterator<EventExecutor>() {
@Override
public boolean hasNext() {
Source
Frequently Asked Questions
What is the NonStickyEventExecutorGroup class?
NonStickyEventExecutorGroup is a class in the netty codebase, defined in common/src/main/java/io/netty/util/concurrent/NonStickyEventExecutorGroup.java.
Where is NonStickyEventExecutorGroup defined?
NonStickyEventExecutorGroup is defined in common/src/main/java/io/netty/util/concurrent/NonStickyEventExecutorGroup.java at line 41.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free