Class HPackEncoder


  • @Internal
    public final class HPackEncoder
    extends java.lang.Object
    HPACK encoder.
    Since:
    5.0
    • Field Detail

      • charsetEncoder

        private final java.nio.charset.CharsetEncoder charsetEncoder
      • tmpBuf

        private java.nio.ByteBuffer tmpBuf
      • maxTableSize

        private int maxTableSize
    • Constructor Detail

      • HPackEncoder

        HPackEncoder​(OutboundDynamicTable dynamicTable,
                     java.nio.charset.CharsetEncoder charsetEncoder)
      • HPackEncoder

        HPackEncoder​(OutboundDynamicTable dynamicTable,
                     java.nio.charset.Charset charset)
      • HPackEncoder

        public HPackEncoder​(java.nio.charset.Charset charset)
      • HPackEncoder

        public HPackEncoder​(java.nio.charset.CharsetEncoder charsetEncoder)
    • Method Detail

      • encodeInt

        static void encodeInt​(ByteArrayBuffer dst,
                              int n,
                              int i,
                              int mask)
      • encodeHuffman

        static void encodeHuffman​(ByteArrayBuffer dst,
                                  java.nio.ByteBuffer src)
      • encodeString

        void encodeString​(ByteArrayBuffer dst,
                          java.nio.ByteBuffer src,
                          boolean huffman)
      • clearState

        private void clearState()
      • expandCapacity

        private void expandCapacity​(int capacity)
      • ensureCapacity

        private void ensureCapacity​(int extra)
      • encodeString

        int encodeString​(ByteArrayBuffer dst,
                         java.lang.CharSequence charSequence,
                         int off,
                         int len,
                         boolean huffman)
                  throws java.nio.charset.CharacterCodingException
        Throws:
        java.nio.charset.CharacterCodingException
      • encodeString

        int encodeString​(ByteArrayBuffer dst,
                         java.lang.String s,
                         boolean huffman)
                  throws java.nio.charset.CharacterCodingException
        Throws:
        java.nio.charset.CharacterCodingException
      • encodeLiteralHeader

        void encodeLiteralHeader​(ByteArrayBuffer dst,
                                 HPackEntry existing,
                                 Header header,
                                 HPackRepresentation representation,
                                 boolean useHuffman)
                          throws java.nio.charset.CharacterCodingException
        Throws:
        java.nio.charset.CharacterCodingException
      • encodeLiteralHeader

        void encodeLiteralHeader​(ByteArrayBuffer dst,
                                 HPackEntry existing,
                                 java.lang.String key,
                                 java.lang.String value,
                                 boolean sensitive,
                                 HPackRepresentation representation,
                                 boolean useHuffman)
                          throws java.nio.charset.CharacterCodingException
        Throws:
        java.nio.charset.CharacterCodingException
      • findFullMatch

        private int findFullMatch​(java.util.List<HPackEntry> entries,
                                  java.lang.String value)
      • encodeHeader

        void encodeHeader​(ByteArrayBuffer dst,
                          Header header,
                          boolean noIndexing,
                          boolean useHuffman)
                   throws java.nio.charset.CharacterCodingException
        Throws:
        java.nio.charset.CharacterCodingException
      • encodeHeader

        void encodeHeader​(ByteArrayBuffer dst,
                          java.lang.String name,
                          java.lang.String value,
                          boolean sensitive,
                          boolean noIndexing,
                          boolean useHuffman)
                   throws java.nio.charset.CharacterCodingException
        Throws:
        java.nio.charset.CharacterCodingException
      • encodeHeaders

        void encodeHeaders​(ByteArrayBuffer dst,
                           java.util.List<? extends Header> headers,
                           boolean noIndexing,
                           boolean useHuffman)
                    throws java.nio.charset.CharacterCodingException
        Throws:
        java.nio.charset.CharacterCodingException
      • encodeHeader

        public void encodeHeader​(ByteArrayBuffer dst,
                                 Header header)
                          throws java.nio.charset.CharacterCodingException
        Throws:
        java.nio.charset.CharacterCodingException
      • encodeHeader

        public void encodeHeader​(ByteArrayBuffer dst,
                                 java.lang.String name,
                                 java.lang.String value,
                                 boolean sensitive)
                          throws java.nio.charset.CharacterCodingException
        Throws:
        java.nio.charset.CharacterCodingException
      • encodeHeaders

        public void encodeHeaders​(ByteArrayBuffer dst,
                                  java.util.List<? extends Header> headers,
                                  boolean useHuffman)
                           throws java.nio.charset.CharacterCodingException
        Throws:
        java.nio.charset.CharacterCodingException
      • getMaxTableSize

        public int getMaxTableSize()
      • setMaxTableSize

        public void setMaxTableSize​(int maxTableSize)