Home / Class/ TestIoHandler Class — netty Architecture

TestIoHandler Class — netty Architecture

Architecture documentation for the TestIoHandler class in SingleThreadIoEventLoopTest.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  f9311438_e3f9_4438_369d_dee0c6c6d0a0["TestIoHandler"]
  e1570af9_af6d_987e_8115_c6e9e15ab1f4["SingleThreadIoEventLoopTest.java"]
  f9311438_e3f9_4438_369d_dee0c6c6d0a0 -->|defined in| e1570af9_af6d_987e_8115_c6e9e15ab1f4
  dbbf11c7_680e_a4d1_bfff_dffb597b6be1["TestIoHandler()"]
  f9311438_e3f9_4438_369d_dee0c6c6d0a0 -->|method| dbbf11c7_680e_a4d1_bfff_dffb597b6be1
  5c1f70a7_6ca6_7514_27cf_e3624be6eca4["prepareToDestroy()"]
  f9311438_e3f9_4438_369d_dee0c6c6d0a0 -->|method| 5c1f70a7_6ca6_7514_27cf_e3624be6eca4
  2fafdb1f_9ab4_34ff_d8fe_3fc251a8c706["destroy()"]
  f9311438_e3f9_4438_369d_dee0c6c6d0a0 -->|method| 2fafdb1f_9ab4_34ff_d8fe_3fc251a8c706
  49826ddb_22f7_598e_2fa6_3065097699f0["IoRegistration()"]
  f9311438_e3f9_4438_369d_dee0c6c6d0a0 -->|method| 49826ddb_22f7_598e_2fa6_3065097699f0
  78cb060e_a115_6aa8_f192_2252a962fc32["wakeup()"]
  f9311438_e3f9_4438_369d_dee0c6c6d0a0 -->|method| 78cb060e_a115_6aa8_f192_2252a962fc32
  740ffe90_b64c_14b4_f431_7600efadebfd["run()"]
  f9311438_e3f9_4438_369d_dee0c6c6d0a0 -->|method| 740ffe90_b64c_14b4_f431_7600efadebfd
  daf7c73b_26c3_d543_b537_9f5069ffd3a7["isCompatible()"]
  f9311438_e3f9_4438_369d_dee0c6c6d0a0 -->|method| daf7c73b_26c3_d543_b537_9f5069ffd3a7

Relationship Graph

Source Code

transport/src/test/java/io/netty/channel/SingleThreadIoEventLoopTest.java lines 109–173

    private static class TestIoHandler implements IoHandler {
        private final Semaphore semaphore = new Semaphore(0);
        private final ThreadAwareExecutor executor;

        TestIoHandler(ThreadAwareExecutor executor) {
            this.executor = executor;
        }

        @Override
        public void prepareToDestroy() {
            // NOOP
        }

        @Override
        public void destroy() {
            // NOOP
        }

        @Override
        public IoRegistration register(final IoHandle handle) {
            return new IoRegistration() {
                private final AtomicBoolean canceled = new AtomicBoolean();

                @Override
                public <T> T attachment() {
                    return null;
                }

                @Override
                public long submit(IoOps ops) {
                    return 0;
                }

                @Override
                public boolean cancel() {
                    return canceled.compareAndSet(false, true);
                }

                @Override
                public boolean isValid() {
                    return !canceled.get();
                }
            };
        }

        @Override
        public void wakeup() {
            semaphore.release();
        }

        @Override
        public int run(IoHandlerContext context) {
            try {
                semaphore.acquire();
            } catch (InterruptedException e) {
                Thread.currentThread().interrupt();
            }
            return 0;
        }

        @Override
        public boolean isCompatible(Class<? extends IoHandle> handleType) {
            return false;
        }
    }

Frequently Asked Questions

What is the TestIoHandler class?
TestIoHandler is a class in the netty codebase, defined in transport/src/test/java/io/netty/channel/SingleThreadIoEventLoopTest.java.
Where is TestIoHandler defined?
TestIoHandler is defined in transport/src/test/java/io/netty/channel/SingleThreadIoEventLoopTest.java at line 109.

Analyze Your Own Codebase

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

Try Supermodel Free