Home / Class/ AbstractEventExecutor Class — netty Architecture

AbstractEventExecutor Class — netty Architecture

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

Entity Profile

Dependency Diagram

graph TD
  122824ac_3a78_2546_d25a_b14475266994["AbstractEventExecutor"]
  1388577b_4ab5_c45a_8b11_715ba6c0bc72["AbstractEventExecutor.java"]
  122824ac_3a78_2546_d25a_b14475266994 -->|defined in| 1388577b_4ab5_c45a_8b11_715ba6c0bc72
  321c6bca_7a2a_6277_bed7_1a1d921483e4["AbstractEventExecutor()"]
  122824ac_3a78_2546_d25a_b14475266994 -->|method| 321c6bca_7a2a_6277_bed7_1a1d921483e4
  3fbb83d6_85d7_7e16_9918_adebeb571644["EventExecutorGroup()"]
  122824ac_3a78_2546_d25a_b14475266994 -->|method| 3fbb83d6_85d7_7e16_9918_adebeb571644
  e0ba9ea4_0fd8_2d9f_749c_b7a5b1b3029f["EventExecutor()"]
  122824ac_3a78_2546_d25a_b14475266994 -->|method| e0ba9ea4_0fd8_2d9f_749c_b7a5b1b3029f
  edb2caa0_c318_6432_3556_3add7df2a337["iterator()"]
  122824ac_3a78_2546_d25a_b14475266994 -->|method| edb2caa0_c318_6432_3556_3add7df2a337
  20db4aa7_3a2f_fa19_ac51_d810a4bf29d8["shutdownGracefully()"]
  122824ac_3a78_2546_d25a_b14475266994 -->|method| 20db4aa7_3a2f_fa19_ac51_d810a4bf29d8
  1122b048_6f76_72fd_2cf8_fc07b3b24ca2["shutdown()"]
  122824ac_3a78_2546_d25a_b14475266994 -->|method| 1122b048_6f76_72fd_2cf8_fc07b3b24ca2
  cf2e3f4d_72ed_db4d_8c39_30cd47ed3cd1["shutdownNow()"]
  122824ac_3a78_2546_d25a_b14475266994 -->|method| cf2e3f4d_72ed_db4d_8c39_30cd47ed3cd1
  41e72ec4_679c_451c_da90_42adbf90cb70["submit()"]
  122824ac_3a78_2546_d25a_b14475266994 -->|method| 41e72ec4_679c_451c_da90_42adbf90cb70
  ee4f72f3_2c3b_ca21_7601_a761acba15fd["newTaskFor()"]
  122824ac_3a78_2546_d25a_b14475266994 -->|method| ee4f72f3_2c3b_ca21_7601_a761acba15fd
  a07eb277_823d_20ca_b3f0_2bee294730b3["schedule()"]
  122824ac_3a78_2546_d25a_b14475266994 -->|method| a07eb277_823d_20ca_b3f0_2bee294730b3
  95db1d8f_933c_cb48_5987_8eadba4ff72d["scheduleAtFixedRate()"]
  122824ac_3a78_2546_d25a_b14475266994 -->|method| 95db1d8f_933c_cb48_5987_8eadba4ff72d
  dff7ff29_1b91_ebb1_6ca9_a35beb55f03a["scheduleWithFixedDelay()"]
  122824ac_3a78_2546_d25a_b14475266994 -->|method| dff7ff29_1b91_ebb1_6ca9_a35beb55f03a
  ecb111ae_a53c_8f62_ec43_f05ae3b9f7ba["safeExecute()"]
  122824ac_3a78_2546_d25a_b14475266994 -->|method| ecb111ae_a53c_8f62_ec43_f05ae3b9f7ba

Relationship Graph

Source Code

common/src/main/java/io/netty/util/concurrent/AbstractEventExecutor.java lines 36–169

public abstract class AbstractEventExecutor extends AbstractExecutorService implements EventExecutor {
    private static final InternalLogger logger = InternalLoggerFactory.getInstance(AbstractEventExecutor.class);

    static final long DEFAULT_SHUTDOWN_QUIET_PERIOD = 2;
    static final long DEFAULT_SHUTDOWN_TIMEOUT = 15;

    private final EventExecutorGroup parent;
    private final Collection<EventExecutor> selfCollection = Collections.<EventExecutor>singleton(this);

    protected AbstractEventExecutor() {
        this(null);
    }

    protected AbstractEventExecutor(EventExecutorGroup parent) {
        this.parent = parent;
    }

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

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

    @Override
    public Iterator<EventExecutor> iterator() {
        return selfCollection.iterator();
    }

    @Override
    public Future<?> shutdownGracefully() {
        return shutdownGracefully(DEFAULT_SHUTDOWN_QUIET_PERIOD, DEFAULT_SHUTDOWN_TIMEOUT, TimeUnit.SECONDS);
    }

    /**
     * @deprecated {@link #shutdownGracefully(long, long, TimeUnit)} or {@link #shutdownGracefully()} instead.
     */
    @Override
    @Deprecated
    public abstract void shutdown();

    /**
     * @deprecated {@link #shutdownGracefully(long, long, TimeUnit)} or {@link #shutdownGracefully()} instead.
     */
    @Override
    @Deprecated
    public List<Runnable> shutdownNow() {
        shutdown();
        return Collections.emptyList();
    }

    @Override
    public Future<?> submit(Runnable task) {
        return (Future<?>) super.submit(task);
    }

    @Override
    public <T> Future<T> submit(Runnable task, T result) {
        return (Future<T>) super.submit(task, result);
    }

    @Override
    public <T> Future<T> submit(Callable<T> task) {
        return (Future<T>) super.submit(task);
    }

    @Override
    protected final <T> RunnableFuture<T> newTaskFor(Runnable runnable, T value) {
        return new PromiseTask<T>(this, runnable, value);
    }

    @Override
    protected final <T> RunnableFuture<T> newTaskFor(Callable<T> callable) {
        return new PromiseTask<T>(this, callable);
    }

    @Override
    public ScheduledFuture<?> schedule(Runnable command, long delay,

Frequently Asked Questions

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

Analyze Your Own Codebase

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

Try Supermodel Free