Home / Class/ UnorderedThreadPoolEventExecutor Class — netty Architecture

UnorderedThreadPoolEventExecutor Class — netty Architecture

Architecture documentation for the UnorderedThreadPoolEventExecutor class in UnorderedThreadPoolEventExecutor.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  48f73ddf_b07e_3c84_4ff2_45337f074acc["UnorderedThreadPoolEventExecutor"]
  4144915c_b885_a14e_a96d_7cc1d80f9535["UnorderedThreadPoolEventExecutor.java"]
  48f73ddf_b07e_3c84_4ff2_45337f074acc -->|defined in| 4144915c_b885_a14e_a96d_7cc1d80f9535
  7ffea56b_cdee_4244_f118_2faf8dbf145d["UnorderedThreadPoolEventExecutor()"]
  48f73ddf_b07e_3c84_4ff2_45337f074acc -->|method| 7ffea56b_cdee_4244_f118_2faf8dbf145d
  706fbf5a_48c2_40dc_dbf4_dd6c726a724f["EventExecutor()"]
  48f73ddf_b07e_3c84_4ff2_45337f074acc -->|method| 706fbf5a_48c2_40dc_dbf4_dd6c726a724f
  b2ae9cf8_81f5_60b9_04e5_329ca6cc3d36["EventExecutorGroup()"]
  48f73ddf_b07e_3c84_4ff2_45337f074acc -->|method| b2ae9cf8_81f5_60b9_04e5_329ca6cc3d36
  93675108_320d_25c3_bfa4_422479947579["inEventLoop()"]
  48f73ddf_b07e_3c84_4ff2_45337f074acc -->|method| 93675108_320d_25c3_bfa4_422479947579
  d38f2c3b_5119_6615_3d0b_298fadb93eb3["newPromise()"]
  48f73ddf_b07e_3c84_4ff2_45337f074acc -->|method| d38f2c3b_5119_6615_3d0b_298fadb93eb3
  50a18c87_83b8_f562_90e8_ff49d221d334["newProgressivePromise()"]
  48f73ddf_b07e_3c84_4ff2_45337f074acc -->|method| 50a18c87_83b8_f562_90e8_ff49d221d334
  bd7dcae9_a40f_6321_03be_0d61b1208965["newSucceededFuture()"]
  48f73ddf_b07e_3c84_4ff2_45337f074acc -->|method| bd7dcae9_a40f_6321_03be_0d61b1208965
  1dca8709_4855_7bea_e77e_70cc0adbccaa["newFailedFuture()"]
  48f73ddf_b07e_3c84_4ff2_45337f074acc -->|method| 1dca8709_4855_7bea_e77e_70cc0adbccaa
  a1b9873f_92f2_476a_3bb8_370d0451ad6f["isShuttingDown()"]
  48f73ddf_b07e_3c84_4ff2_45337f074acc -->|method| a1b9873f_92f2_476a_3bb8_370d0451ad6f
  4a6a3f7e_2dcb_54e3_e121_a3b8b8a833cf["shutdownNow()"]
  48f73ddf_b07e_3c84_4ff2_45337f074acc -->|method| 4a6a3f7e_2dcb_54e3_e121_a3b8b8a833cf
  10b22d01_8107_13c2_7afb_bfd880c9b4c0["shutdown()"]
  48f73ddf_b07e_3c84_4ff2_45337f074acc -->|method| 10b22d01_8107_13c2_7afb_bfd880c9b4c0
  4ea031d0_c36d_1b7c_9551_7b39b95d6917["shutdownGracefully()"]
  48f73ddf_b07e_3c84_4ff2_45337f074acc -->|method| 4ea031d0_c36d_1b7c_9551_7b39b95d6917
  63227d78_e81d_8594_f82f_93664bb9476e["terminationFuture()"]
  48f73ddf_b07e_3c84_4ff2_45337f074acc -->|method| 63227d78_e81d_8594_f82f_93664bb9476e

Relationship Graph

Source Code

common/src/main/java/io/netty/util/concurrent/UnorderedThreadPoolEventExecutor.java lines 50–328

@Deprecated
public final class UnorderedThreadPoolEventExecutor extends ScheduledThreadPoolExecutor implements EventExecutor {
    private static final InternalLogger logger = InternalLoggerFactory.getInstance(
            UnorderedThreadPoolEventExecutor.class);

    private final Promise<?> terminationFuture = GlobalEventExecutor.INSTANCE.newPromise();
    private final Set<EventExecutor> executorSet = Collections.singleton(this);
    private final Set<Thread> eventLoopThreads = ConcurrentHashMap.newKeySet();

    /**
     * Calls {@link UnorderedThreadPoolEventExecutor#UnorderedThreadPoolEventExecutor(int, ThreadFactory)}
     * using {@link DefaultThreadFactory}.
     */
    public UnorderedThreadPoolEventExecutor(int corePoolSize) {
        this(corePoolSize, new DefaultThreadFactory(UnorderedThreadPoolEventExecutor.class));
    }

    /**
     * See {@link ScheduledThreadPoolExecutor#ScheduledThreadPoolExecutor(int, ThreadFactory)}
     */
    public UnorderedThreadPoolEventExecutor(int corePoolSize, ThreadFactory threadFactory) {
        super(corePoolSize, threadFactory);
        setThreadFactory(new AccountingThreadFactory(threadFactory, eventLoopThreads));
    }

    /**
     * Calls {@link UnorderedThreadPoolEventExecutor#UnorderedThreadPoolEventExecutor(int,
     * ThreadFactory, java.util.concurrent.RejectedExecutionHandler)} using {@link DefaultThreadFactory}.
     */
    public UnorderedThreadPoolEventExecutor(int corePoolSize, RejectedExecutionHandler handler) {
        this(corePoolSize, new DefaultThreadFactory(UnorderedThreadPoolEventExecutor.class), handler);
    }

    /**
     * See {@link ScheduledThreadPoolExecutor#ScheduledThreadPoolExecutor(int, ThreadFactory, RejectedExecutionHandler)}
     */
    public UnorderedThreadPoolEventExecutor(int corePoolSize, ThreadFactory threadFactory,
                                            RejectedExecutionHandler handler) {
        super(corePoolSize, threadFactory, handler);
        setThreadFactory(new AccountingThreadFactory(threadFactory, eventLoopThreads));
    }

    @Override
    public EventExecutor next() {
        return this;
    }

    @Override
    public EventExecutorGroup parent() {
        return this;
    }

    @Override
    public boolean inEventLoop() {
        return inEventLoop(Thread.currentThread());
    }

    @Override
    public boolean inEventLoop(Thread thread) {
        return eventLoopThreads.contains(thread);
    }

    @Override
    public <V> Promise<V> newPromise() {
        return new DefaultPromise<V>(this);
    }

    @Override
    public <V> ProgressivePromise<V> newProgressivePromise() {
        return new DefaultProgressivePromise<V>(this);
    }

    @Override
    public <V> Future<V> newSucceededFuture(V result) {
        return new SucceededFuture<V>(this, result);
    }

    @Override
    public <V> Future<V> newFailedFuture(Throwable cause) {
        return new FailedFuture<V>(this, cause);
    }

Frequently Asked Questions

What is the UnorderedThreadPoolEventExecutor class?
UnorderedThreadPoolEventExecutor is a class in the netty codebase, defined in common/src/main/java/io/netty/util/concurrent/UnorderedThreadPoolEventExecutor.java.
Where is UnorderedThreadPoolEventExecutor defined?
UnorderedThreadPoolEventExecutor is defined in common/src/main/java/io/netty/util/concurrent/UnorderedThreadPoolEventExecutor.java at line 50.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free