Home / Class/ WorldClockServerHandler Class — netty Architecture

WorldClockServerHandler Class — netty Architecture

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

Entity Profile

Dependency Diagram

graph TD
  ac422d2f_6d79_a470_4a2c_55b473b3c5b6["WorldClockServerHandler"]
  ff0bdc4f_88dd_2543_c522_d64cba46096f["WorldClockServerHandler.java"]
  ac422d2f_6d79_a470_4a2c_55b473b3c5b6 -->|defined in| ff0bdc4f_88dd_2543_c522_d64cba46096f
  3c58c435_4dc6_2208_18a4_8585af8ff642["channelRead0()"]
  ac422d2f_6d79_a470_4a2c_55b473b3c5b6 -->|method| 3c58c435_4dc6_2208_18a4_8585af8ff642
  a80070ac_4762_86e3_3bdc_e7ad3a8dbb83["channelReadComplete()"]
  ac422d2f_6d79_a470_4a2c_55b473b3c5b6 -->|method| a80070ac_4762_86e3_3bdc_e7ad3a8dbb83
  6a446ad3_878e_3971_72d4_b36b1ddee488["exceptionCaught()"]
  ac422d2f_6d79_a470_4a2c_55b473b3c5b6 -->|method| 6a446ad3_878e_3971_72d4_b36b1ddee488
  659f21b7_13ad_c8f1_cb03_3541e15fb4a4["String()"]
  ac422d2f_6d79_a470_4a2c_55b473b3c5b6 -->|method| 659f21b7_13ad_c8f1_cb03_3541e15fb4a4

Relationship Graph

Source Code

example/src/main/java/io/netty/example/worldclock/WorldClockServerHandler.java lines 32–72

public class WorldClockServerHandler extends SimpleChannelInboundHandler<Locations> {

    @Override
    public void channelRead0(ChannelHandlerContext ctx, Locations locations) throws Exception {
        long currentTime = System.currentTimeMillis();

        LocalTimes.Builder builder = LocalTimes.newBuilder();
        for (Location l: locations.getLocationList()) {
            TimeZone tz = TimeZone.getTimeZone(
                    toString(l.getContinent()) + '/' + l.getCity());
            Calendar calendar = getInstance(tz);
            calendar.setTimeInMillis(currentTime);

            builder.addLocalTime(LocalTime.newBuilder().
                    setYear(calendar.get(YEAR)).
                    setMonth(calendar.get(MONTH) + 1).
                    setDayOfMonth(calendar.get(DAY_OF_MONTH)).
                    setDayOfWeek(DayOfWeek.valueOf(calendar.get(DAY_OF_WEEK))).
                    setHour(calendar.get(HOUR_OF_DAY)).
                    setMinute(calendar.get(MINUTE)).
                    setSecond(calendar.get(SECOND)).build());
        }

        ctx.write(builder.build());
    }

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

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

    private static String toString(Continent c) {
        return c.name().charAt(0) + c.name().toLowerCase().substring(1);
    }
}

Frequently Asked Questions

What is the WorldClockServerHandler class?
WorldClockServerHandler is a class in the netty codebase, defined in example/src/main/java/io/netty/example/worldclock/WorldClockServerHandler.java.
Where is WorldClockServerHandler defined?
WorldClockServerHandler is defined in example/src/main/java/io/netty/example/worldclock/WorldClockServerHandler.java at line 32.

Analyze Your Own Codebase

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

Try Supermodel Free