Home / Class/ Http2OutboundFrameLogger Class — netty Architecture

Http2OutboundFrameLogger Class — netty Architecture

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

Entity Profile

Dependency Diagram

graph TD
  fde99d1e_5b30_7a89_f729_d3e27266a3ee["Http2OutboundFrameLogger"]
  842fb690_b353_c555_5148_7f130d66300f["Http2OutboundFrameLogger.java"]
  fde99d1e_5b30_7a89_f729_d3e27266a3ee -->|defined in| 842fb690_b353_c555_5148_7f130d66300f
  96630474_97b6_f52d_aa66_9eaa0f5577c5["Http2OutboundFrameLogger()"]
  fde99d1e_5b30_7a89_f729_d3e27266a3ee -->|method| 96630474_97b6_f52d_aa66_9eaa0f5577c5
  dd0af9c0_6657_8301_c54c_ffe389b66786["ChannelFuture()"]
  fde99d1e_5b30_7a89_f729_d3e27266a3ee -->|method| dd0af9c0_6657_8301_c54c_ffe389b66786
  a642419a_c8ba_3b46_5145_0490b09d99d7["close()"]
  fde99d1e_5b30_7a89_f729_d3e27266a3ee -->|method| a642419a_c8ba_3b46_5145_0490b09d99d7
  e3a9ee58_4b09_1d32_fb84_0e5e1ffa1b95["Configuration()"]
  fde99d1e_5b30_7a89_f729_d3e27266a3ee -->|method| e3a9ee58_4b09_1d32_fb84_0e5e1ffa1b95

Relationship Graph

Source Code

codec-http2/src/main/java/io/netty/handler/codec/http2/Http2OutboundFrameLogger.java lines 29–137

public class Http2OutboundFrameLogger implements Http2FrameWriter {
    private final Http2FrameWriter writer;
    private final Http2FrameLogger logger;

    public Http2OutboundFrameLogger(Http2FrameWriter writer, Http2FrameLogger logger) {
        this.writer = checkNotNull(writer, "writer");
        this.logger = checkNotNull(logger, "logger");
    }

    @Override
    public ChannelFuture writeData(ChannelHandlerContext ctx, int streamId, ByteBuf data,
            int padding, boolean endStream, ChannelPromise promise) {
        logger.logData(OUTBOUND, ctx, streamId, data, padding, endStream);
        return writer.writeData(ctx, streamId, data, padding, endStream, promise);
    }

    @Override
    public ChannelFuture writeHeaders(ChannelHandlerContext ctx, int streamId,
            Http2Headers headers, int padding, boolean endStream, ChannelPromise promise) {
        logger.logHeaders(OUTBOUND, ctx, streamId, headers, padding, endStream);
        return writer.writeHeaders(ctx, streamId, headers, padding, endStream, promise);
    }

    @Override
    public ChannelFuture writeHeaders(ChannelHandlerContext ctx, int streamId,
            Http2Headers headers, int streamDependency, short weight, boolean exclusive,
            int padding, boolean endStream, ChannelPromise promise) {
        logger.logHeaders(OUTBOUND, ctx, streamId, headers, streamDependency, weight, exclusive,
                padding, endStream);
        return writer.writeHeaders(ctx, streamId, headers, streamDependency, weight,
                exclusive, padding, endStream, promise);
    }

    @Override
    public ChannelFuture writePriority(ChannelHandlerContext ctx, int streamId,
            int streamDependency, short weight, boolean exclusive, ChannelPromise promise) {
        logger.logPriority(OUTBOUND, ctx, streamId, streamDependency, weight, exclusive);
        return writer.writePriority(ctx, streamId, streamDependency, weight, exclusive, promise);
    }

    @Override
    public ChannelFuture writeRstStream(ChannelHandlerContext ctx,
            int streamId, long errorCode, ChannelPromise promise) {
        logger.logRstStream(OUTBOUND, ctx, streamId, errorCode);
        return writer.writeRstStream(ctx, streamId, errorCode, promise);
    }

    @Override
    public ChannelFuture writeSettings(ChannelHandlerContext ctx,
            Http2Settings settings, ChannelPromise promise) {
        logger.logSettings(OUTBOUND, ctx, settings);
        return writer.writeSettings(ctx, settings, promise);
    }

    @Override
    public ChannelFuture writeSettingsAck(ChannelHandlerContext ctx, ChannelPromise promise) {
        logger.logSettingsAck(OUTBOUND, ctx);
        return writer.writeSettingsAck(ctx, promise);
    }

    @Override
    public ChannelFuture writePing(ChannelHandlerContext ctx, boolean ack,
            long data, ChannelPromise promise) {
        if (ack) {
            logger.logPingAck(OUTBOUND, ctx, data);
        } else {
            logger.logPing(OUTBOUND, ctx, data);
        }
        return writer.writePing(ctx, ack, data, promise);
    }

    @Override
    public ChannelFuture writePushPromise(ChannelHandlerContext ctx, int streamId,
            int promisedStreamId, Http2Headers headers, int padding, ChannelPromise promise) {
        logger.logPushPromise(OUTBOUND, ctx, streamId, promisedStreamId, headers, padding);
        return writer.writePushPromise(ctx, streamId, promisedStreamId, headers, padding, promise);
    }

    @Override
    public ChannelFuture writeGoAway(ChannelHandlerContext ctx, int lastStreamId, long errorCode,
            ByteBuf debugData, ChannelPromise promise) {

Frequently Asked Questions

What is the Http2OutboundFrameLogger class?
Http2OutboundFrameLogger is a class in the netty codebase, defined in codec-http2/src/main/java/io/netty/handler/codec/http2/Http2OutboundFrameLogger.java.
Where is Http2OutboundFrameLogger defined?
Http2OutboundFrameLogger is defined in codec-http2/src/main/java/io/netty/handler/codec/http2/Http2OutboundFrameLogger.java at line 29.

Analyze Your Own Codebase

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

Try Supermodel Free