Home / Class/ RelayHandler Class — netty Architecture

RelayHandler Class — netty Architecture

Architecture documentation for the RelayHandler class in RelayHandler.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  c76e3375_f6ea_4711_27db_3219cc816149["RelayHandler"]
  e2e75bdb_505b_01dd_9e05_c259a3473c42["RelayHandler.java"]
  c76e3375_f6ea_4711_27db_3219cc816149 -->|defined in| e2e75bdb_505b_01dd_9e05_c259a3473c42
  3c9257d4_31c4_be46_5f1b_29ff7334481d["RelayHandler()"]
  c76e3375_f6ea_4711_27db_3219cc816149 -->|method| 3c9257d4_31c4_be46_5f1b_29ff7334481d
  ceefb227_dd3c_9f61_83a7_405e993be8b7["channelActive()"]
  c76e3375_f6ea_4711_27db_3219cc816149 -->|method| ceefb227_dd3c_9f61_83a7_405e993be8b7
  02fb86ef_e620_a339_a5dd_6f1ed4f32104["channelRead()"]
  c76e3375_f6ea_4711_27db_3219cc816149 -->|method| 02fb86ef_e620_a339_a5dd_6f1ed4f32104
  e25daa44_5f46_ec0a_1afb_701f2decb129["channelInactive()"]
  c76e3375_f6ea_4711_27db_3219cc816149 -->|method| e25daa44_5f46_ec0a_1afb_701f2decb129
  22e3131f_c1a6_5374_c7c5_7bef70cbda2a["exceptionCaught()"]
  c76e3375_f6ea_4711_27db_3219cc816149 -->|method| 22e3131f_c1a6_5374_c7c5_7bef70cbda2a

Relationship Graph

Source Code

example/src/main/java/io/netty/example/socksproxy/RelayHandler.java lines 24–58

public final class RelayHandler extends ChannelInboundHandlerAdapter {

    private final Channel relayChannel;

    public RelayHandler(Channel relayChannel) {
        this.relayChannel = relayChannel;
    }

    @Override
    public void channelActive(ChannelHandlerContext ctx) {
        ctx.writeAndFlush(Unpooled.EMPTY_BUFFER);
    }

    @Override
    public void channelRead(ChannelHandlerContext ctx, Object msg) {
        if (relayChannel.isActive()) {
            relayChannel.writeAndFlush(msg);
        } else {
            ReferenceCountUtil.release(msg);
        }
    }

    @Override
    public void channelInactive(ChannelHandlerContext ctx) {
        if (relayChannel.isActive()) {
            SocksServerUtils.closeOnFlush(relayChannel);
        }
    }

    @Override
    public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) {
        cause.printStackTrace();
        ctx.close();
    }
}

Frequently Asked Questions

What is the RelayHandler class?
RelayHandler is a class in the netty codebase, defined in example/src/main/java/io/netty/example/socksproxy/RelayHandler.java.
Where is RelayHandler defined?
RelayHandler is defined in example/src/main/java/io/netty/example/socksproxy/RelayHandler.java at line 24.

Analyze Your Own Codebase

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

Try Supermodel Free