Home / Class/ TestHandler Class — netty Architecture

TestHandler Class — netty Architecture

Architecture documentation for the TestHandler class in SocketSslClientRenegotiateTest.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  a7362f2c_3eb0_7dff_8cce_215badc0aad4["TestHandler"]
  500bc459_e062_3134_53ae_67c8ad4b6bba["SocketSslClientRenegotiateTest.java"]
  a7362f2c_3eb0_7dff_8cce_215badc0aad4 -->|defined in| 500bc459_e062_3134_53ae_67c8ad4b6bba
  6b523457_481e_f266_13d5_2913de5fc08d["TestHandler()"]
  a7362f2c_3eb0_7dff_8cce_215badc0aad4 -->|method| 6b523457_481e_f266_13d5_2913de5fc08d
  5bb23fb3_1b20_c819_a629_c6c133172694["channelReadComplete()"]
  a7362f2c_3eb0_7dff_8cce_215badc0aad4 -->|method| 5bb23fb3_1b20_c819_a629_c6c133172694
  e0e3a288_50d7_412a_4ca4_c5c4dc8a7d77["exceptionCaught()"]
  a7362f2c_3eb0_7dff_8cce_215badc0aad4 -->|method| e0e3a288_50d7_412a_4ca4_c5c4dc8a7d77
  4931b92d_3c95_cc9f_c625_ad43b0a6af89["userEventTriggered()"]
  a7362f2c_3eb0_7dff_8cce_215badc0aad4 -->|method| 4931b92d_3c95_cc9f_c625_ad43b0a6af89
  543c6d43_e7a6_aef3_2b91_342bafba3f64["channelRead0()"]
  a7362f2c_3eb0_7dff_8cce_215badc0aad4 -->|method| 543c6d43_e7a6_aef3_2b91_342bafba3f64

Relationship Graph

Source Code

testsuite/src/main/java/io/netty/testsuite/transport/socket/SocketSslClientRenegotiateTest.java lines 226–267

    @Sharable
    private static final class TestHandler extends SimpleChannelInboundHandler<ByteBuf> {

        protected final AtomicReference<Throwable> exception;
        private int handshakeCounter;

        TestHandler(AtomicReference<Throwable> exception) {
            this.exception = exception;
        }

        @Override
        public void channelReadComplete(ChannelHandlerContext ctx) throws Exception {
            ctx.flush();
        }

        @Override
        public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) throws Exception {
            exception.compareAndSet(null, cause);
            ctx.close();
        }

        @Override
        public void userEventTriggered(ChannelHandlerContext ctx, Object evt) throws Exception {
            if (evt instanceof SslHandshakeCompletionEvent) {
                SslHandshakeCompletionEvent handshakeEvt = (SslHandshakeCompletionEvent) evt;
                if (handshakeCounter == 0) {
                    handshakeCounter++;
                    if (handshakeEvt.cause() != null) {
                        logger.warn("Handshake failed:", handshakeEvt.cause());
                    }
                    assertSame(SslHandshakeCompletionEvent.SUCCESS, evt);
                } else {
                    if (ctx.channel().parent() == null) {
                        assertTrue(handshakeEvt.cause() instanceof ClosedChannelException);
                    }
                }
            }
        }

        @Override
        public void channelRead0(ChannelHandlerContext ctx, ByteBuf in) throws Exception { }
    }

Frequently Asked Questions

What is the TestHandler class?
TestHandler is a class in the netty codebase, defined in testsuite/src/main/java/io/netty/testsuite/transport/socket/SocketSslClientRenegotiateTest.java.
Where is TestHandler defined?
TestHandler is defined in testsuite/src/main/java/io/netty/testsuite/transport/socket/SocketSslClientRenegotiateTest.java at line 226.

Analyze Your Own Codebase

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

Try Supermodel Free