Class BytesStore

    • Field Detail

      • BASE_RAM_BYTES_USED

        private static final long BASE_RAM_BYTES_USED
      • blocks

        private final java.util.List<byte[]> blocks
      • blockSize

        private final int blockSize
      • blockBits

        private final int blockBits
      • blockMask

        private final int blockMask
      • current

        private byte[] current
      • nextWrite

        private int nextWrite
    • Constructor Detail

      • BytesStore

        public BytesStore​(int blockBits)
      • BytesStore

        public BytesStore​(DataInput in,
                          long numBytes,
                          int maxBlockSize)
                   throws java.io.IOException
        Pulls bytes from the provided IndexInput.
        Throws:
        java.io.IOException
    • Method Detail

      • writeByte

        public void writeByte​(long dest,
                              byte b)
        Absolute write byte; you must ensure dest is < max position written so far.
      • writeByte

        public void writeByte​(byte b)
        Description copied from class: DataOutput
        Writes a single byte.

        The most primitive data type is an eight-bit byte. Files are accessed as sequences of bytes. All other data types are defined as sequences of bytes, so file formats are byte-order independent.

        Specified by:
        writeByte in class DataOutput
        See Also:
        DataInput.readByte()
      • writeBytes

        public void writeBytes​(byte[] b,
                               int offset,
                               int len)
        Description copied from class: DataOutput
        Writes an array of bytes.
        Specified by:
        writeBytes in class DataOutput
        Parameters:
        b - the bytes to write
        offset - the offset in the byte array
        len - the number of bytes to write
        See Also:
        DataInput.readBytes(byte[],int,int)
      • getBlockBits

        int getBlockBits()
      • writeBytes

        void writeBytes​(long dest,
                        byte[] b,
                        int offset,
                        int len)
        Absolute writeBytes without changing the current position. Note: this cannot "grow" the bytes, so you must only call it on already written parts.
      • copyBytes

        public void copyBytes​(long src,
                              long dest,
                              int len)
        Absolute copy bytes self to self, without changing the position. Note: this cannot "grow" the bytes, so must only call it on already written parts.
      • copyBytes

        public void copyBytes​(long src,
                              byte[] dest,
                              int offset,
                              int len)
        Copies bytes from this store to a target byte array.
      • writeInt

        public void writeInt​(long pos,
                             int value)
        Writes an int at the absolute position without changing the current pointer.
      • reverse

        public void reverse​(long srcPos,
                            long destPos)
        Reverse from srcPos, inclusive, to destPos, inclusive.
      • skipBytes

        public void skipBytes​(int len)
      • getPosition

        public long getPosition()
      • truncate

        public void truncate​(long newLen)
        Pos must be less than the max position written so far! Ie, you cannot "grow" the file with this!
      • finish

        public void finish()
      • writeTo

        public void writeTo​(DataOutput out)
                     throws java.io.IOException
        Writes all of our bytes to the target DataOutput.
        Throws:
        java.io.IOException
      • getReverseReader

        FST.BytesReader getReverseReader​(boolean allowSingle)
      • ramBytesUsed

        public long ramBytesUsed()
        Description copied from interface: Accountable
        Return the memory usage of this object in bytes. Negative values are illegal.
        Specified by:
        ramBytesUsed in interface Accountable
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object