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;
}
}
Source
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