Home / Class/ CallbackCheckHandler Class — netty Architecture

CallbackCheckHandler Class — netty Architecture

Architecture documentation for the CallbackCheckHandler class in DefaultChannelPipelineTest.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  d623c029_eb84_98d2_7034_fe4e991aa905["CallbackCheckHandler"]
  ded22145_bbcf_15a1_69b7_30cac8d4be02["DefaultChannelPipelineTest.java"]
  d623c029_eb84_98d2_7034_fe4e991aa905 -->|defined in| ded22145_bbcf_15a1_69b7_30cac8d4be02
  47443731_a66a_b68b_3ad5_fb6d4a0669ef["handlerAdded()"]
  d623c029_eb84_98d2_7034_fe4e991aa905 -->|method| 47443731_a66a_b68b_3ad5_fb6d4a0669ef
  acdf9c9d_a689_ce9d_747a_1e0faec86b28["handlerRemoved()"]
  d623c029_eb84_98d2_7034_fe4e991aa905 -->|method| acdf9c9d_a689_ce9d_747a_1e0faec86b28

Relationship Graph

Source Code

transport/src/test/java/io/netty/channel/DefaultChannelPipelineTest.java lines 2261–2283

    private static final class CallbackCheckHandler extends ChannelHandlerAdapter {
        final Promise<Boolean> addedHandler = ImmediateEventExecutor.INSTANCE.newPromise();
        final Promise<Boolean> removedHandler = ImmediateEventExecutor.INSTANCE.newPromise();
        final AtomicReference<Throwable> error = new AtomicReference<Throwable>();

        @Override
        public void handlerAdded(ChannelHandlerContext ctx) throws Exception {
            if (!addedHandler.trySuccess(true)) {
                error.set(new AssertionError("handlerAdded(...) called multiple times: " + ctx.name()));
            } else if (removedHandler.getNow() == Boolean.TRUE) {
                error.set(new AssertionError("handlerRemoved(...) called before handlerAdded(...): " + ctx.name()));
            }
        }

        @Override
        public void handlerRemoved(ChannelHandlerContext ctx) {
            if (!removedHandler.trySuccess(true)) {
                error.set(new AssertionError("handlerRemoved(...) called multiple times: " + ctx.name()));
            } else if (addedHandler.getNow() == Boolean.FALSE) {
                error.set(new AssertionError("handlerRemoved(...) called before handlerAdded(...): " + ctx.name()));
            }
        }
    }

Frequently Asked Questions

What is the CallbackCheckHandler class?
CallbackCheckHandler is a class in the netty codebase, defined in transport/src/test/java/io/netty/channel/DefaultChannelPipelineTest.java.
Where is CallbackCheckHandler defined?
CallbackCheckHandler is defined in transport/src/test/java/io/netty/channel/DefaultChannelPipelineTest.java at line 2261.

Analyze Your Own Codebase

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

Try Supermodel Free