Class DefaultHttp2FrameReader.HeadersBlockBuilder

  • Enclosing class:
    DefaultHttp2FrameReader

    protected class DefaultHttp2FrameReader.HeadersBlockBuilder
    extends java.lang.Object
    Utility class to help with construction of the headers block that may potentially span multiple frames.
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      protected HeadersBlockBuilder()  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      (package private) void addFragment​(ByteBuf fragment, int len, ByteBufAllocator alloc, boolean endOfHeaders)
      Adds a fragment to the block.
      (package private) void close()
      Closes this builder and frees any resources.
      (package private) Http2Headers headers()
      Builds the headers from the completed headers block.
      private void headerSizeExceeded()
      The local header size maximum has been exceeded while accumulating bytes.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • headerBlock

        private ByteBuf headerBlock
    • Constructor Detail

      • HeadersBlockBuilder

        protected HeadersBlockBuilder()
    • Method Detail

      • headerSizeExceeded

        private void headerSizeExceeded()
                                 throws Http2Exception
        The local header size maximum has been exceeded while accumulating bytes.
        Throws:
        Http2Exception - A connection error indicating too much data has been received.
      • addFragment

        final void addFragment​(ByteBuf fragment,
                               int len,
                               ByteBufAllocator alloc,
                               boolean endOfHeaders)
                        throws Http2Exception
        Adds a fragment to the block.
        Parameters:
        fragment - the fragment of the headers block to be added.
        alloc - allocator for new blocks if needed.
        endOfHeaders - flag indicating whether the current frame is the end of the headers. This is used for an optimization for when the first fragment is the full block. In that case, the buffer is used directly without copying.
        Throws:
        Http2Exception
      • close

        void close()
        Closes this builder and frees any resources.