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() 

Source Link

Document

Create a new instance.

Usage

From source file:Http2ClientConnectionHandler.java

License:Apache License

private Http2ClientConnectionHandler(ChannelPromise initPromise, Http2Connection connection) {
    super(connection, new DefaultHttp2FrameReader(), new DefaultHttp2FrameWriter(),
            new DefaultHttp2InboundFlowController(connection),
            new DefaultHttp2OutboundFlowController(connection));
    this.initPromise = initPromise;
}

From source file:HelloWorldHttp2Handler.java

License:Apache License

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

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

License:Apache License

@Test
public void maxFrameSize() throws Exception {

    try (ServerSocket ss = new ServerSocket(0)) {
        final int port = ss.getLocalPort();

        final ClientFactory clientFactory = new ClientFactoryBuilder().useHttp2Preface(true)
                .http2MaxFrameSize(DEFAULT_MAX_FRAME_SIZE * 2) // == 16384 * 2
                .build();//from   w  ww.ja  v a 2s.c o m

        final HttpClient client = HttpClient.of(clientFactory, "http://127.0.0.1:" + port);
        final CompletableFuture<AggregatedHttpMessage> future = client.get("/").aggregate();

        try (Socket s = ss.accept()) {
            final InputStream in = s.getInputStream();
            final BufferedOutputStream bos = new BufferedOutputStream(s.getOutputStream());

            readBytes(in, connectionPrefaceBuf().capacity()); // Read the connection preface and discard it.

            // Read a SETTINGS frame and validate it.
            assertSettingsFrameOfMaxFrameSize(in);

            sendEmptySettingsAndAckFrame(bos);

            readBytes(in, 9); // Read a SETTINGS_ACK frame and discard it.
            readHeadersFrame(in); // Read a HEADERS frame and discard it.

            sendHeaderFrame(bos);

            ////////////////////////////////////////
            // Transmission of data gets started. //
            ////////////////////////////////////////

            // Send a DATA frame that indicates sending data as much as 0x8000 for stream id 03.
            bos.write(new byte[] { 0x00, (byte) 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03 });
            bos.write(EMPTY_DATA);
            bos.write(EMPTY_DATA);
            bos.flush();

            readBytes(in, 13); // Read a WINDOW_UPDATE frame for connection and discard it.
            readBytes(in, 13); // Read a WINDOW_UPDATE frame for stream id 03 and discard it.

            // Send a DATA frame that exceed MAX_FRAME_SIZE by 1.
            bos.write(new byte[] { 0x00, (byte) 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03 });
            bos.flush(); // Triggers the client to send a GOAWAY frame for the connection.

            // The client send a GOAWAY frame and the server read it.
            final ByteBuf buffer = readGoAwayFrame(in);
            final DefaultHttp2FrameReader frameReader = new DefaultHttp2FrameReader();

            final CountDownLatch latch = new CountDownLatch(1);
            frameReader.readFrame(null, buffer, new Http2EventAdapter() {
                @Override
                public void onGoAwayRead(ChannelHandlerContext ctx, int lastStreamId, long errorCode,
                        ByteBuf debugData) throws Http2Exception {
                    assertThat(lastStreamId).isZero(); // 0: connection error
                    assertThat(errorCode).isEqualTo(Http2Error.FRAME_SIZE_ERROR.code());
                    latch.countDown();
                }
            });
            latch.await();
            buffer.release();
        }
    }
}

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: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);
}