Home / Class/ SpdyFrameLogger Class — netty Architecture

SpdyFrameLogger Class — netty Architecture

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

Entity Profile

Dependency Diagram

graph TD
  b4d29c2f_9ca6_e942_4030_cf31e76ee94c["SpdyFrameLogger"]
  cc66acf5_5e3d_63e8_0b08_186bd7d93875["SpdyFrameLogger.java"]
  b4d29c2f_9ca6_e942_4030_cf31e76ee94c -->|defined in| cc66acf5_5e3d_63e8_0b08_186bd7d93875
  c8ea8e87_c06a_a16d_206d_7beadfb5156d["SpdyFrameLogger()"]
  b4d29c2f_9ca6_e942_4030_cf31e76ee94c -->|method| c8ea8e87_c06a_a16d_206d_7beadfb5156d
  ab0a6726_b9cc_1c07_7b86_b80ea2b9f021["channelRead()"]
  b4d29c2f_9ca6_e942_4030_cf31e76ee94c -->|method| ab0a6726_b9cc_1c07_7b86_b80ea2b9f021
  8b38d93a_52f9_fdec_a7a4_ccc278ab1c96["write()"]
  b4d29c2f_9ca6_e942_4030_cf31e76ee94c -->|method| 8b38d93a_52f9_fdec_a7a4_ccc278ab1c96
  e5c67e47_038a_9f99_fa4b_2da00108dd5a["acceptMessage()"]
  b4d29c2f_9ca6_e942_4030_cf31e76ee94c -->|method| e5c67e47_038a_9f99_fa4b_2da00108dd5a
  e1fd68f8_489e_d5c2_9a8d_c2a1a1bf23b9["log()"]
  b4d29c2f_9ca6_e942_4030_cf31e76ee94c -->|method| e1fd68f8_489e_d5c2_9a8d_c2a1a1bf23b9

Relationship Graph

Source Code

example/src/main/java/io/netty/example/spdy/client/SpdyFrameLogger.java lines 30–76

public class SpdyFrameLogger extends ChannelDuplexHandler {

    private enum Direction {
        INBOUND, OUTBOUND
    }

    protected final InternalLogger logger;
    private final InternalLogLevel level;

    public SpdyFrameLogger(InternalLogLevel level) {
        this.level = ObjectUtil.checkNotNull(level, "level");
        this.logger = InternalLoggerFactory.getInstance(getClass());
    }

    @Override
    public void channelRead(ChannelHandlerContext ctx, Object msg) {
        if (acceptMessage(msg)) {
            log((SpdyFrame) msg, Direction.INBOUND);
        }
        ctx.fireChannelRead(msg);
    }

    @Override
    public void write(ChannelHandlerContext ctx, Object msg, ChannelPromise promise) {
        if (acceptMessage(msg)) {
            log((SpdyFrame) msg, Direction.OUTBOUND);
        }
        ctx.write(msg, promise);
    }

    private static boolean acceptMessage(Object msg) {
        return msg instanceof SpdyFrame;
    }

    private void log(SpdyFrame msg, Direction d) {
        if (logger.isEnabled(level)) {
            StringBuilder b = new StringBuilder(200)
                .append("\n----------------")
                .append(d.name())
                .append("--------------------\n")
                .append(msg)
                .append("\n------------------------------------");

            logger.log(level, b.toString());
        }
    }
}

Frequently Asked Questions

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

Analyze Your Own Codebase

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

Try Supermodel Free