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

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

Introduction

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

Prototype

public DefaultHttp2FrameReader(Http2HeadersDecoder headersDecoder) 

Source Link

Usage

From source file:com.linecorp.armeria.client.http.HttpClientPipelineConfigurator.java

License:Apache License

private Http2ClientConnectionHandler newHttp2ConnectionHandler(Channel ch) {
    final boolean validateHeaders = false;
    final Http2Connection conn = new DefaultHttp2Connection(false);
    conn.addListener(new Http2GoAwayListener(ch));

    Http2FrameReader reader = new DefaultHttp2FrameReader(validateHeaders);
    Http2FrameWriter writer = new DefaultHttp2FrameWriter();

    Http2ConnectionEncoder encoder = new DefaultHttp2ConnectionEncoder(conn, writer);
    Http2ConnectionDecoder decoder = new DefaultHttp2ConnectionDecoder(conn, encoder, reader);

    final Http2ResponseDecoder listener = new Http2ResponseDecoder(ch);

    final Http2ClientConnectionHandler handler = new Http2ClientConnectionHandler(decoder, encoder,
            new Http2Settings(), listener);

    // Setup post build options
    handler.gracefulShutdownTimeoutMillis(options.idleTimeoutMillis());

    return handler;
}

From source file:com.linecorp.armeria.client.HttpClientPipelineConfigurator.java

License:Apache License

private Http2ClientConnectionHandler newHttp2ConnectionHandler(Channel ch) {
    final boolean validateHeaders = false;
    final Http2Connection conn = new DefaultHttp2Connection(false);
    conn.addListener(new Http2GoAwayListener(ch));

    final Http2FrameReader reader = new DefaultHttp2FrameReader(validateHeaders);
    final Http2FrameWriter writer = new DefaultHttp2FrameWriter();

    final Http2ConnectionEncoder encoder = new DefaultHttp2ConnectionEncoder(conn, writer);
    final Http2ConnectionDecoder decoder = new DefaultHttp2ConnectionDecoder(conn, encoder, reader);

    final Http2Settings http2Settings = http2Settings();

    final Http2ResponseDecoder listener = new Http2ResponseDecoder(conn, ch, encoder);
    final Http2ClientConnectionHandler handler = new Http2ClientConnectionHandler(decoder, encoder,
            http2Settings, listener);//from   w  w  w. j  av a2  s .  c  o m
    // Setup post build options
    handler.gracefulShutdownTimeoutMillis(clientFactory.idleTimeoutMillis());

    return handler;
}

From source file:com.linecorp.armeria.client.HttpConfigurator.java

License:Apache License

private Http2ConnectionHandler newHttp2ConnectionHandler(Channel ch) {
    final boolean validateHeaders = false;
    final Http2Connection conn = new DefaultHttp2Connection(false);
    conn.addListener(new Http2GoAwayListener(ch));
    final InboundHttp2ToHttpAdapter listener = new InboundHttp2ToHttpAdapterBuilder(conn)
            .propagateSettings(true).validateHttpHeaders(validateHeaders)
            .maxContentLength(options.maxFrameLength()).build();

    Http2FrameReader reader = new DefaultHttp2FrameReader(validateHeaders);
    Http2FrameWriter writer = new DefaultHttp2FrameWriter();

    Http2ConnectionEncoder encoder = new DefaultHttp2ConnectionEncoder(conn, writer);
    Http2ConnectionDecoder decoder = new DefaultHttp2ConnectionDecoder(conn, encoder, reader);

    final HttpToHttp2ClientConnectionHandler handler = new HttpToHttp2ClientConnectionHandler(decoder, encoder,
            new Http2Settings(), validateHeaders);

    // Setup post build options
    handler.gracefulShutdownTimeoutMillis(options.idleTimeoutMillis());
    handler.decoder().frameListener(listener);

    return handler;
}

From source file:com.linecorp.armeria.server.http.HttpServerPipelineConfigurator.java

License:Apache License

private Http2ConnectionHandler newHttp2ConnectionHandler(ChannelPipeline pipeline) {

    final Http2Connection conn = new DefaultHttp2Connection(true);
    conn.addListener(new Http2GoAwayListener(pipeline.channel()));

    Http2FrameReader reader = new DefaultHttp2FrameReader(true);
    Http2FrameWriter writer = new DefaultHttp2FrameWriter();

    Http2ConnectionEncoder encoder = new DefaultHttp2ConnectionEncoder(conn, writer);
    Http2ConnectionDecoder decoder = new DefaultHttp2ConnectionDecoder(conn, encoder, reader);

    final Http2ConnectionHandler handler = new Http2ServerConnectionHandler(decoder, encoder,
            new Http2Settings());

    // Setup post build options
    final Http2RequestDecoder listener = new Http2RequestDecoder(pipeline.channel(), handler.encoder());

    handler.connection().addListener(listener);
    handler.decoder().frameListener(listener);
    handler.gracefulShutdownTimeoutMillis(config.idleTimeoutMillis());

    return handler;
}

From source file:com.linecorp.armeria.server.HttpServerPipelineConfigurator.java

License:Apache License

private Http2ConnectionHandler newHttp2ConnectionHandler(ChannelPipeline pipeline) {

    final Http2Connection conn = new DefaultHttp2Connection(true);
    conn.addListener(new Http2GoAwayListener(pipeline.channel()));

    final Http2FrameReader reader = new DefaultHttp2FrameReader(true);
    final Http2FrameWriter writer = new DefaultHttp2FrameWriter();

    final Http2ConnectionEncoder encoder = new DefaultHttp2ConnectionEncoder(conn, writer);
    final Http2ConnectionDecoder decoder = new DefaultHttp2ConnectionDecoder(conn, encoder, reader);

    final Http2ConnectionHandler handler = new Http2ServerConnectionHandler(decoder, encoder,
            new Http2Settings());

    // Setup post build options
    final Http2RequestDecoder listener = new Http2RequestDecoder(config, pipeline.channel(), handler.encoder());

    handler.connection().addListener(listener);
    handler.decoder().frameListener(listener);
    handler.gracefulShutdownTimeoutMillis(config.idleTimeoutMillis());

    return handler;
}

From source file:com.linecorp.armeria.server.ServerInitializer.java

License:Apache License

private Http2ConnectionHandler createHttp2ConnectionHandler(ChannelPipeline pipeline,
        ChannelHandler... toRemove) {/*www.ja v  a  2  s . c o m*/
    final boolean validateHeaders = true;
    final Http2Connection conn = new DefaultHttp2Connection(true);
    conn.addListener(new Http2GoAwayListener(pipeline.channel()));

    final Http2FrameListener listener = new InboundHttp2ToHttpAdapterBuilder(conn).propagateSettings(true)
            .validateHttpHeaders(validateHeaders).maxContentLength(config.maxFrameLength()).build();

    Http2FrameReader reader = new DefaultHttp2FrameReader(validateHeaders);
    Http2FrameWriter writer = new DefaultHttp2FrameWriter();

    Http2ConnectionEncoder encoder = new DefaultHttp2ConnectionEncoder(conn, writer);
    Http2ConnectionDecoder decoder = new DefaultHttp2ConnectionDecoder(conn, encoder, reader);

    final HttpToHttp2ServerConnectionHandler handler = new HttpToHttp2ServerConnectionHandler(pipeline, decoder,
            encoder, new Http2Settings(), validateHeaders, toRemove);

    // Setup post build options
    handler.gracefulShutdownTimeoutMillis(config.idleTimeoutMillis());
    handler.decoder().frameListener(listener);

    return handler;
}

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());
    }/*from   ww w.ja  v a2  s  .  c o m*/

    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.grpc.alts.internal.AltsProtocolNegotiatorTest.java

License:Apache License

private CapturingGrpcHttp2ConnectionHandler capturingGrpcHandler() {
    // Netty Boilerplate.  We don't really need any of this, but there is a tight coupling
    // between an Http2ConnectionHandler and its dependencies.
    Http2Connection connection = new DefaultHttp2Connection(true);
    Http2FrameWriter frameWriter = new DefaultHttp2FrameWriter();
    Http2FrameReader frameReader = new DefaultHttp2FrameReader(false);
    DefaultHttp2ConnectionEncoder encoder = new DefaultHttp2ConnectionEncoder(connection, frameWriter);
    DefaultHttp2ConnectionDecoder decoder = new DefaultHttp2ConnectionDecoder(connection, encoder, frameReader);

    return new CapturingGrpcHttp2ConnectionHandler(decoder, encoder, new Http2Settings());
}

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

License:Apache License

static NettyClientHandler newHandler(ClientTransportLifecycleManager lifecycleManager,
        @Nullable KeepAliveManager keepAliveManager, int flowControlWindow, int maxHeaderListSize,
        Supplier<Stopwatch> stopwatchFactory, Runnable tooManyPingsRunnable, TransportTracer transportTracer,
        Attributes eagAttributes, String authority) {
    Preconditions.checkArgument(maxHeaderListSize > 0, "maxHeaderListSize must be positive");
    Http2HeadersDecoder headersDecoder = new GrpcHttp2ClientHeadersDecoder(maxHeaderListSize);
    Http2FrameReader frameReader = new DefaultHttp2FrameReader(headersDecoder);
    Http2FrameWriter frameWriter = new DefaultHttp2FrameWriter();
    Http2Connection connection = new DefaultHttp2Connection(false);
    WeightedFairQueueByteDistributor dist = new WeightedFairQueueByteDistributor(connection);
    dist.allocationQuantum(16 * 1024); // Make benchmarks fast again.
    DefaultHttp2RemoteFlowController controller = new DefaultHttp2RemoteFlowController(connection, dist);
    connection.remote().flowController(controller);

    return newHandler(connection, frameReader, frameWriter, lifecycleManager, keepAliveManager,
            flowControlWindow, maxHeaderListSize, stopwatchFactory, tooManyPingsRunnable, transportTracer,
            eagAttributes, authority);/*from w ww. ja  v  a  2 s  .c om*/
}

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

License:Apache License

/**
 * Must be called by subclasses to initialize the handler and channel.
 *//*from  w ww .j  a  va  2s.  co m*/
protected final void initChannel(Http2HeadersDecoder headersDecoder) throws Exception {
    content = Unpooled.copiedBuffer("hello world", UTF_8);
    frameWriter = mock(Http2FrameWriter.class, delegatesTo(new DefaultHttp2FrameWriter()));
    frameReader = new DefaultHttp2FrameReader(headersDecoder);

    channel = new FakeClockSupportedChanel();
    handler = newHandler();
    channel.pipeline().addLast(handler);
    ctx = channel.pipeline().context(handler);

    writeQueue = initWriteQueue();
}