Example usage for io.netty.handler.codec.http2 Http2InboundFrameLogger Http2InboundFrameLogger

List of usage examples for io.netty.handler.codec.http2 Http2InboundFrameLogger Http2InboundFrameLogger

Introduction

In this page you can find the example usage for io.netty.handler.codec.http2 Http2InboundFrameLogger Http2InboundFrameLogger.

Prototype

public Http2InboundFrameLogger(Http2FrameReader reader, Http2FrameLogger logger) 

Source Link

Usage

From source file:com.linkedin.r2.transport.http.client.Http2StreamCodecBuilder.java

License:Apache License

@Override
public Http2StreamCodec build() {
    ObjectUtil.checkNotNull(_connection, "connection");
    ObjectUtil.checkPositive(_maxHeaderSize, "maxHeaderSize");

    Http2HeadersDecoder headerDecoder = new DefaultHttp2HeadersDecoder(_maxHeaderSize,
            Http2CodecUtil.DEFAULT_HEADER_TABLE_SIZE, isValidateHeaders(), INITIAL_HUFFMAN_DECODE_CAPACITY);
    Http2FrameReader reader = new DefaultHttp2FrameReader(headerDecoder);
    Http2FrameWriter writer = new DefaultHttp2FrameWriter(headerSensitivityDetector());

    if (frameLogger() != null) {
        reader = new Http2InboundFrameLogger(reader, frameLogger());
        writer = new Http2OutboundFrameLogger(writer, frameLogger());
    }/*w  w w.j  av a2  s . com*/

    Http2ConnectionEncoder encoder = new DefaultHttp2ConnectionEncoder(_connection, writer);
    boolean encoderEnforceMaxConcurrentStreams = encoderEnforceMaxConcurrentStreams();

    if (encoderEnforceMaxConcurrentStreams) {
        if (_connection.isServer()) {
            encoder.close();
            reader.close();
            throw new IllegalArgumentException("encoderEnforceMaxConcurrentStreams: "
                    + encoderEnforceMaxConcurrentStreams + " not supported for server");
        }
        encoder = new StreamBufferingEncoder(encoder);
    }

    Http2ConnectionDecoder decoder = new DefaultHttp2ConnectionDecoder(_connection, encoder, reader);

    super.codec(decoder, encoder);

    return super.build();
}

From source file:io.aos.netty5.http2.client.Http2ClientInitializer.java

License:Apache License

private static Http2FrameReader frameReader() {
    return new Http2InboundFrameLogger(new DefaultHttp2FrameReader(), logger);
}

From source file:io.aos.netty5.http2.server.HelloWorldHttp2Handler.java

License:Apache License

private HelloWorldHttp2Handler(Http2Connection connection) {
    super(connection, new Http2InboundFrameLogger(new DefaultHttp2FrameReader(), logger),
            new Http2OutboundFrameLogger(new DefaultHttp2FrameWriter(), logger),
            new DefaultHttp2InboundFlowController(connection),
            new DefaultHttp2OutboundFlowController(connection));
}

From source file:io.grpc.netty.NettyClientHandler.java

License:Apache License

@VisibleForTesting
static NettyClientHandler newHandler(final Http2Connection connection, Http2FrameReader frameReader,
        Http2FrameWriter frameWriter, ClientTransportLifecycleManager lifecycleManager,
        KeepAliveManager keepAliveManager, int flowControlWindow, int maxHeaderListSize,
        Supplier<Stopwatch> stopwatchFactory, Runnable tooManyPingsRunnable, TransportTracer transportTracer,
        Attributes eagAttributes, String authority) {
    Preconditions.checkNotNull(connection, "connection");
    Preconditions.checkNotNull(frameReader, "frameReader");
    Preconditions.checkNotNull(lifecycleManager, "lifecycleManager");
    Preconditions.checkArgument(flowControlWindow > 0, "flowControlWindow must be positive");
    Preconditions.checkArgument(maxHeaderListSize > 0, "maxHeaderListSize must be positive");
    Preconditions.checkNotNull(stopwatchFactory, "stopwatchFactory");
    Preconditions.checkNotNull(tooManyPingsRunnable, "tooManyPingsRunnable");
    Preconditions.checkNotNull(eagAttributes, "eagAttributes");
    Preconditions.checkNotNull(authority, "authority");

    Http2FrameLogger frameLogger = new Http2FrameLogger(LogLevel.DEBUG, NettyClientHandler.class);
    frameReader = new Http2InboundFrameLogger(frameReader, frameLogger);
    frameWriter = new Http2OutboundFrameLogger(frameWriter, frameLogger);

    StreamBufferingEncoder encoder = new StreamBufferingEncoder(
            new DefaultHttp2ConnectionEncoder(connection, frameWriter));

    // Create the local flow controller configured to auto-refill the connection window.
    connection.local()/*from ww w .  ja v  a2 s.c om*/
            .flowController(new DefaultHttp2LocalFlowController(connection, DEFAULT_WINDOW_UPDATE_RATIO, true));

    Http2ConnectionDecoder decoder = new DefaultHttp2ConnectionDecoder(connection, encoder, frameReader);

    transportTracer.setFlowControlWindowReader(new TransportTracer.FlowControlReader() {
        final Http2FlowController local = connection.local().flowController();
        final Http2FlowController remote = connection.remote().flowController();

        @Override
        public TransportTracer.FlowControlWindows read() {
            return new TransportTracer.FlowControlWindows(local.windowSize(connection.connectionStream()),
                    remote.windowSize(connection.connectionStream()));
        }
    });

    Http2Settings settings = new Http2Settings();
    settings.pushEnabled(false);
    settings.initialWindowSize(flowControlWindow);
    settings.maxConcurrentStreams(0);
    settings.maxHeaderListSize(maxHeaderListSize);

    return new NettyClientHandler(decoder, encoder, settings, lifecycleManager, keepAliveManager,
            stopwatchFactory, tooManyPingsRunnable, transportTracer, eagAttributes, authority);
}

From source file:io.grpc.netty.NettyServerHandler.java

License:Apache License

static NettyServerHandler newHandler(ServerTransportListener transportListener, ChannelPromise channelUnused,
        List<? extends ServerStreamTracer.Factory> streamTracerFactories, TransportTracer transportTracer,
        int maxStreams, int flowControlWindow, int maxHeaderListSize, int maxMessageSize,
        long keepAliveTimeInNanos, long keepAliveTimeoutInNanos, long maxConnectionIdleInNanos,
        long maxConnectionAgeInNanos, long maxConnectionAgeGraceInNanos, boolean permitKeepAliveWithoutCalls,
        long permitKeepAliveTimeInNanos) {
    Preconditions.checkArgument(maxHeaderListSize > 0, "maxHeaderListSize must be positive");
    Http2FrameLogger frameLogger = new Http2FrameLogger(LogLevel.DEBUG, NettyServerHandler.class);
    Http2HeadersDecoder headersDecoder = new GrpcHttp2ServerHeadersDecoder(maxHeaderListSize);
    Http2FrameReader frameReader = new Http2InboundFrameLogger(new DefaultHttp2FrameReader(headersDecoder),
            frameLogger);/* w w w. ja va2s .  co  m*/
    Http2FrameWriter frameWriter = new Http2OutboundFrameLogger(new DefaultHttp2FrameWriter(), frameLogger);
    return newHandler(channelUnused, frameReader, frameWriter, transportListener, streamTracerFactories,
            transportTracer, maxStreams, flowControlWindow, maxHeaderListSize, maxMessageSize,
            keepAliveTimeInNanos, keepAliveTimeoutInNanos, maxConnectionIdleInNanos, maxConnectionAgeInNanos,
            maxConnectionAgeGraceInNanos, permitKeepAliveWithoutCalls, permitKeepAliveTimeInNanos);
}

From source file:jmeter.plugins.http2.sampler.Http2ClientInitializer.java

License:Apache License

private Http2FrameReader frameReader() {
    return new Http2InboundFrameLogger(new DefaultHttp2FrameReader(), logger);
}

From source file:netty.mmb.http2.Server.HelloWorldHttp2Handler.java

License:Apache License

public HelloWorldHttp2Handler() {
    this(new DefaultHttp2Connection(true), new Http2InboundFrameLogger(new DefaultHttp2FrameReader(), logger),
            new Http2OutboundFrameLogger(new DefaultHttp2FrameWriter(), logger),
            new SimpleHttp2FrameListener());
}

From source file:netty.mmb.http2.Server.Http2Handler.java

License:Apache License

public Http2Handler() {
    this(new DefaultHttp2Connection(true), new Http2InboundFrameLogger(new DefaultHttp2FrameReader(), logger),
            new Http2OutboundFrameLogger(new DefaultHttp2FrameWriter(), logger),
            new SimpleHttp2FrameListener());
}

From source file:org.apache.hadoop.hdfs.server.datanode.web.dtp.TestDtpHttp2.java

License:Apache License

private static Http2FrameReader frameReader() {
    return new Http2InboundFrameLogger(new DefaultHttp2FrameReader(), FRAME_LOGGER);
}