Home / Class/ Http2ClientStreamFrameResponseHandler Class — netty Architecture

Http2ClientStreamFrameResponseHandler Class — netty Architecture

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

Entity Profile

Dependency Diagram

graph TD
  e780a298_dbb8_27d4_fbac_7bf8e51a4fa6["Http2ClientStreamFrameResponseHandler"]
  c423a81e_bd03_db20_4734_53f9fba58c2d["Http2ClientStreamFrameResponseHandler.java"]
  e780a298_dbb8_27d4_fbac_7bf8e51a4fa6 -->|defined in| c423a81e_bd03_db20_4734_53f9fba58c2d
  ef5a4952_7fe0_ad2b_2d0f_dafc48ec1f49["channelRead0()"]
  e780a298_dbb8_27d4_fbac_7bf8e51a4fa6 -->|method| ef5a4952_7fe0_ad2b_2d0f_dafc48ec1f49
  245a7153_17f4_87d5_2f30_adcfbb835f0f["responseSuccessfullyCompleted()"]
  e780a298_dbb8_27d4_fbac_7bf8e51a4fa6 -->|method| 245a7153_17f4_87d5_2f30_adcfbb835f0f

Relationship Graph

Source Code

example/src/main/java/io/netty/example/http2/helloworld/frame/client/Http2ClientStreamFrameResponseHandler.java lines 31–61

public final class Http2ClientStreamFrameResponseHandler extends SimpleChannelInboundHandler<Http2StreamFrame> {

    private final CountDownLatch latch = new CountDownLatch(1);

    @Override
    protected void channelRead0(ChannelHandlerContext ctx, Http2StreamFrame msg) throws Exception {
        System.out.println("Received HTTP/2 'stream' frame: " + msg);

        // isEndStream() is not from a common interface, so we currently must check both
        if (msg instanceof Http2DataFrame && ((Http2DataFrame) msg).isEndStream()) {
            latch.countDown();
        } else if (msg instanceof Http2HeadersFrame && ((Http2HeadersFrame) msg).isEndStream()) {
            latch.countDown();
        }
    }

    /**
     * Waits for the latch to be decremented (i.e. for an end of stream message to be received), or for
     * the latch to expire after 5 seconds.
     * @return true if a successful HTTP/2 end of stream message was received.
     */
    public boolean responseSuccessfullyCompleted() {
        try {
            return latch.await(5, TimeUnit.SECONDS);
        } catch (InterruptedException ie) {
            System.err.println("Latch exception: " + ie.getMessage());
            return false;
        }
    }

}

Frequently Asked Questions

What is the Http2ClientStreamFrameResponseHandler class?
Http2ClientStreamFrameResponseHandler is a class in the netty codebase, defined in example/src/main/java/io/netty/example/http2/helloworld/frame/client/Http2ClientStreamFrameResponseHandler.java.
Where is Http2ClientStreamFrameResponseHandler defined?
Http2ClientStreamFrameResponseHandler is defined in example/src/main/java/io/netty/example/http2/helloworld/frame/client/Http2ClientStreamFrameResponseHandler.java at line 31.

Analyze Your Own Codebase

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

Try Supermodel Free