Home / Class/ TelnetServerHandler Class — netty Architecture

TelnetServerHandler Class — netty Architecture

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

Entity Profile

Dependency Diagram

graph TD
  c0c87d15_7147_c286_6c43_c97fe9168b6f["TelnetServerHandler"]
  650413d2_9eec_cdea_f51d_07171dacd6ce["TelnetServerHandler.java"]
  c0c87d15_7147_c286_6c43_c97fe9168b6f -->|defined in| 650413d2_9eec_cdea_f51d_07171dacd6ce
  dddb8297_bca0_3f81_988f_56c7017deddb["channelActive()"]
  c0c87d15_7147_c286_6c43_c97fe9168b6f -->|method| dddb8297_bca0_3f81_988f_56c7017deddb
  d52d2ef4_bfda_64ad_afd6_81e209bad741["channelRead0()"]
  c0c87d15_7147_c286_6c43_c97fe9168b6f -->|method| d52d2ef4_bfda_64ad_afd6_81e209bad741
  1f260ee7_09cb_4334_7625_e3cfb73c9229["channelReadComplete()"]
  c0c87d15_7147_c286_6c43_c97fe9168b6f -->|method| 1f260ee7_09cb_4334_7625_e3cfb73c9229
  cdb9813b_dd8a_6281_7c4d_ccf78d064381["exceptionCaught()"]
  c0c87d15_7147_c286_6c43_c97fe9168b6f -->|method| cdb9813b_dd8a_6281_7c4d_ccf78d064381

Relationship Graph

Source Code

example/src/main/java/io/netty/example/telnet/TelnetServerHandler.java lines 30–76

@Sharable
public class TelnetServerHandler extends SimpleChannelInboundHandler<String> {

    @Override
    public void channelActive(ChannelHandlerContext ctx) throws Exception {
        // Send greeting for a new connection.
        ctx.write("Welcome to " + InetAddress.getLocalHost().getHostName() + "!\r\n");
        ctx.write("It is " + new Date() + " now.\r\n");
        ctx.flush();
    }

    @Override
    public void channelRead0(ChannelHandlerContext ctx, String request) throws Exception {
        // Generate and write a response.
        String response;
        boolean close = false;
        if (request.isEmpty()) {
            response = "Please type something.\r\n";
        } else if ("bye".equals(request.toLowerCase())) {
            response = "Have a good day!\r\n";
            close = true;
        } else {
            response = "Did you say '" + request + "'?\r\n";
        }

        // We do not need to write a ChannelBuffer here.
        // We know the encoder inserted at TelnetPipelineFactory will do the conversion.
        ChannelFuture future = ctx.write(response);

        // Close the connection after sending 'Have a good day!'
        // if the client has sent 'bye'.
        if (close) {
            future.addListener(ChannelFutureListener.CLOSE);
        }
    }

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

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

Frequently Asked Questions

What is the TelnetServerHandler class?
TelnetServerHandler is a class in the netty codebase, defined in example/src/main/java/io/netty/example/telnet/TelnetServerHandler.java.
Where is TelnetServerHandler defined?
TelnetServerHandler is defined in example/src/main/java/io/netty/example/telnet/TelnetServerHandler.java at line 30.

Analyze Your Own Codebase

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

Try Supermodel Free