Class Http2DataChunkedInput

  • All Implemented Interfaces:
    io.netty.handler.stream.ChunkedInput<Http2DataFrame>

    public final class Http2DataChunkedInput
    extends Object
    implements io.netty.handler.stream.ChunkedInput<Http2DataFrame>
    A ChunkedInput that fetches data chunk by chunk for use with HTTP/2 Data Frames.

    Each chunk from the input data will be wrapped within a Http2DataFrame. At the end of the input data, Http2DataFrame.isEndStream() will be set to true and will be written.

    
         public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception {
             if (msg instanceof Http2HeadersFrame) {
                 Http2HeadersFrame http2HeadersFrame = (Http2HeadersFrame) msg;
    
                 Http2HeadersFrame response = new DefaultHttp2HeadersFrame(new DefaultHttp2Headers().status("200"));
                 response.stream(http2HeadersFrame.stream());
                 ctx.write(response);
    
                 ChannelFuture sendFileFuture = ctx.writeAndFlush(new Http2DataChunkedInput(
                         new ChunkedFile(new File(("/home/meow/cats.mp4"))), http2HeadersFrame.stream()));
             }
         }
     
    • Constructor Detail

      • Http2DataChunkedInput

        public Http2DataChunkedInput​(io.netty.handler.stream.ChunkedInput<io.netty.buffer.ByteBuf> input,
                                     Http2FrameStream stream)
        Creates a new instance using the specified input.
        Parameters:
        input - ChunkedInput containing data to write
        stream - Http2FrameStream holding stream info
    • Method Detail

      • isEndOfInput

        public boolean isEndOfInput()
                             throws Exception
        Specified by:
        isEndOfInput in interface io.netty.handler.stream.ChunkedInput<Http2DataFrame>
        Throws:
        Exception
      • length

        public long length()
        Specified by:
        length in interface io.netty.handler.stream.ChunkedInput<Http2DataFrame>
      • progress

        public long progress()
        Specified by:
        progress in interface io.netty.handler.stream.ChunkedInput<Http2DataFrame>