Home / Class/ EchoMessageHandler Class — netty Architecture

EchoMessageHandler Class — netty Architecture

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

Entity Profile

Dependency Diagram

graph TD
  4b56f60b_26f9_17d9_ffda_ba45f613e3ef["EchoMessageHandler"]
  1a07e1f7_148b_8ef5_8469_c9f17801dfa9["EchoMessageHandler.java"]
  4b56f60b_26f9_17d9_ffda_ba45f613e3ef -->|defined in| 1a07e1f7_148b_8ef5_8469_c9f17801dfa9
  7aae829e_c96f_7c41_a9b8_c946530ed1f3["EchoMessageHandler()"]
  4b56f60b_26f9_17d9_ffda_ba45f613e3ef -->|method| 7aae829e_c96f_7c41_a9b8_c946530ed1f3
  846d3a20_1b0a_0963_5299_eed277648e96["channelActive()"]
  4b56f60b_26f9_17d9_ffda_ba45f613e3ef -->|method| 846d3a20_1b0a_0963_5299_eed277648e96
  4d40e40b_5876_3cf4_c77b_3d5b9a7457fe["exceptionCaught()"]
  4b56f60b_26f9_17d9_ffda_ba45f613e3ef -->|method| 4d40e40b_5876_3cf4_c77b_3d5b9a7457fe
  664c2192_2ad2_985b_f79d_ade8a9e53bee["channelRead()"]
  4b56f60b_26f9_17d9_ffda_ba45f613e3ef -->|method| 664c2192_2ad2_985b_f79d_ade8a9e53bee
  6761f79c_8cae_c2e2_c39d_a4aa716cf199["counter()"]
  4b56f60b_26f9_17d9_ffda_ba45f613e3ef -->|method| 6761f79c_8cae_c2e2_c39d_a4aa716cf199

Relationship Graph

Source Code

transport-udt/src/test/java/io/netty/test/udt/util/EchoMessageHandler.java lines 33–72

public class EchoMessageHandler extends ChannelInboundHandlerAdapter {

    private static final InternalLogger log = InternalLoggerFactory.getInstance(EchoMessageHandler.class);

    private final UdtMessage message;

    private volatile int counter;

    public EchoMessageHandler(final int messageSize) {
        final ByteBuf byteBuf = Unpooled.buffer(messageSize);

        for (int i = 0; i < byteBuf.capacity(); i++) {
            byteBuf.writeByte((byte) i);
        }

        message = new UdtMessage(byteBuf);
    }

    @Override
    public void channelActive(final ChannelHandlerContext ctx) throws Exception {
        log.info("ECHO active {}", NioUdtProvider.socketUDT(ctx.channel()).toStringOptions());
        ctx.writeAndFlush(message);
    }

    @Override
    public void exceptionCaught(final ChannelHandlerContext ctx, final Throwable e) {
        log.error("exception", e);
        ctx.close();
    }

    @Override
    public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception {
        counter += ((UdtMessage) msg).content().readableBytes();
        ctx.writeAndFlush(msg);
    }

    public int counter() {
        return counter;
    }
}

Frequently Asked Questions

What is the EchoMessageHandler class?
EchoMessageHandler is a class in the netty codebase, defined in transport-udt/src/test/java/io/netty/test/udt/util/EchoMessageHandler.java.
Where is EchoMessageHandler defined?
EchoMessageHandler is defined in transport-udt/src/test/java/io/netty/test/udt/util/EchoMessageHandler.java at line 33.

Analyze Your Own Codebase

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

Try Supermodel Free