Home / Class/ PendingHandlerRemovedTask Class — netty Architecture

PendingHandlerRemovedTask Class — netty Architecture

Architecture documentation for the PendingHandlerRemovedTask class in DefaultChannelPipeline.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  9b713c1d_bee8_5b79_0c1b_b4af6cf26f99["PendingHandlerRemovedTask"]
  c48eeee1_03a5_bd10_43c4_393bf83109a4["DefaultChannelPipeline.java"]
  9b713c1d_bee8_5b79_0c1b_b4af6cf26f99 -->|defined in| c48eeee1_03a5_bd10_43c4_393bf83109a4
  828dab32_55a4_bd19_ee8f_879e6ac2a059["PendingHandlerRemovedTask()"]
  9b713c1d_bee8_5b79_0c1b_b4af6cf26f99 -->|method| 828dab32_55a4_bd19_ee8f_879e6ac2a059
  b913a6f8_1ac6_1588_4f4f_22210666f4cf["run()"]
  9b713c1d_bee8_5b79_0c1b_b4af6cf26f99 -->|method| b913a6f8_1ac6_1588_4f4f_22210666f4cf
  07880c13_c240_da25_3161_790204b4bbfe["execute()"]
  9b713c1d_bee8_5b79_0c1b_b4af6cf26f99 -->|method| 07880c13_c240_da25_3161_790204b4bbfe

Relationship Graph

Source Code

transport/src/main/java/io/netty/channel/DefaultChannelPipeline.java lines 1499–1529

    private final class PendingHandlerRemovedTask extends PendingHandlerCallback {

        PendingHandlerRemovedTask(AbstractChannelHandlerContext ctx) {
            super(ctx);
        }

        @Override
        public void run() {
            callHandlerRemoved0(ctx);
        }

        @Override
        void execute() {
            EventExecutor executor = ctx.executor();
            if (executor.inEventLoop()) {
                callHandlerRemoved0(ctx);
            } else {
                try {
                    executor.execute(this);
                } catch (RejectedExecutionException e) {
                    if (logger.isWarnEnabled()) {
                        logger.warn(
                                "Can't invoke handlerRemoved() as the EventExecutor {} rejected it," +
                                        " removing handler {}.", executor, ctx.name(), e);
                    }
                    // remove0(...) was call before so just call AbstractChannelHandlerContext.setRemoved().
                    ctx.setRemoved();
                }
            }
        }
    }

Frequently Asked Questions

What is the PendingHandlerRemovedTask class?
PendingHandlerRemovedTask is a class in the netty codebase, defined in transport/src/main/java/io/netty/channel/DefaultChannelPipeline.java.
Where is PendingHandlerRemovedTask defined?
PendingHandlerRemovedTask is defined in transport/src/main/java/io/netty/channel/DefaultChannelPipeline.java at line 1499.

Analyze Your Own Codebase

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

Try Supermodel Free