Class UnsafeChunkEncoderBE

  • All Implemented Interfaces:
    java.io.Closeable, java.lang.AutoCloseable

    public final class UnsafeChunkEncoderBE
    extends UnsafeChunkEncoder
    Implementation to use on Big-Endian architectures.
    • Constructor Detail

      • UnsafeChunkEncoderBE

        public UnsafeChunkEncoderBE​(int totalLength)
      • UnsafeChunkEncoderBE

        public UnsafeChunkEncoderBE​(int totalLength,
                                    boolean bogus)
      • UnsafeChunkEncoderBE

        public UnsafeChunkEncoderBE​(int totalLength,
                                    BufferRecycler bufferRecycler)
      • UnsafeChunkEncoderBE

        public UnsafeChunkEncoderBE​(int totalLength,
                                    BufferRecycler bufferRecycler,
                                    boolean bogus)
    • Method Detail

      • tryCompress

        protected int tryCompress​(byte[] in,
                                  int inPos,
                                  int inEnd,
                                  byte[] out,
                                  int outPos)
        Description copied from class: ChunkEncoder
        Main workhorse method that will try to compress given chunk, and return end position (offset to byte after last included byte). Result will be "raw" encoded contents without chunk header information: caller is responsible for prepending header, if it chooses to use encoded data; it may also choose to instead create an uncompressed chunk.
        Specified by:
        tryCompress in class ChunkEncoder
        Returns:
        Output pointer after handling content, such that result - originalOutPost is the actual length of compressed chunk (without header)
      • _getInt

        private static final int _getInt​(byte[] in,
                                         int inPos)
      • _findMatchLength

        private static final int _findMatchLength​(byte[] in,
                                                  int ptr1,
                                                  int ptr2,
                                                  int maxPtr1)
      • _findLongMatchLength

        private static final int _findLongMatchLength​(byte[] in,
                                                      int ptr1,
                                                      int ptr2,
                                                      int maxPtr1)
      • _leadingBytes

        private static final int _leadingBytes​(int i1,
                                               int i2)
      • _leadingBytes

        private static final int _leadingBytes​(long l1,
                                               long l2)