## org.apache.cassandra.io.compress
Class CompressedRandomAccessReader

    java.lang.Object
      java.io.RandomAccessFile
          org.apache.cassandra.io.util.RandomAccessReader
              org.apache.cassandra.io.compress.CompressedRandomAccessReader

All Implemented Interfaces:
  java.io.Closeable, java.io.DataInput, java.io.DataOutput, FileDataInput

    public class CompressedRandomAccessReader

extends RandomAccessReader

CRAR extends RAR to transparently uncompress blocks from the file into RAR.buffer. Most of the RAR "read bytes from the buffer, rebuffering when necessary" machinery works unchanged after that.

Nested Class Summary

Nested classes/interfaces inherited from class org.apache.cassandra.io.util.RandomAccessReader
`RandomAccessReader.BufferedRandomAccessFileMark`

Field Summary

Fields inherited from class org.apache.cassandra.io.util.RandomAccessReader
`buffer, bufferOffset, CACHE_FLUSH_INTERVAL_IN_BYTES, channel, current, DEFAULT_BUFFER_SIZE, markedPointer, validBufferBytes`

Constructor Summary
`CompressedRandomAccessReader(java.lang.String dataFilePath, CompressionMetadata metadata, boolean skipIOCache)`

Method Summary
`long` `length()`
`static RandomAccessReader` `open(java.lang.String dataFilePath, CompressionMetadata metadata)`
`static RandomAccessReader` `open(java.lang.String dataFilePath, CompressionMetadata metadata, boolean skipIOCache)`
`protected void` `reBuffer()` Read data from file starting from current currentOffset to populate buffer.
`java.lang.String` `toString()`

Methods inherited from class org.apache.cassandra.io.util.RandomAccessReader
`bufferCursor, bytesPastMark, bytesPastMark, bytesRemaining, close, getFilePointer, getPath, isEOF, mark, open, open, open, open, open, read, read, read, readBytes, reset, reset, resetBuffer, seek, write, write, write`

Methods inherited from class java.io.RandomAccessFile
`getChannel, getFD, readBoolean, readByte, readChar, readDouble, readFloat, readFully, readFully, readInt, readLine, readLong, readShort, readUnsignedByte, readUnsignedShort, readUTF, setLength, skipBytes, writeBoolean, writeByte, writeBytes, writeChar, writeChars, writeDouble, writeFloat, writeInt, writeLong, writeShort, writeUTF`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Methods inherited from interface java.io.DataInput
`readBoolean, readByte, readChar, readDouble, readFloat, readFully, readFully, readInt, readLine, readLong, readShort, readUnsignedByte, readUnsignedShort, readUTF, skipBytes`

Constructor Detail

### CompressedRandomAccessReader

    public CompressedRandomAccessReader(java.lang.String dataFilePath,
                                        CompressionMetadata metadata,
                                        boolean skipIOCache)
                                 throws java.io.IOException

Throws:
  `java.io.IOException`

Method Detail

### open

    public static RandomAccessReader open(java.lang.String dataFilePath,
                                          CompressionMetadata metadata)
                                   throws java.io.IOException

  Throws:
    `java.io.IOException`

### open

    public static RandomAccessReader open(java.lang.String dataFilePath,
                                          CompressionMetadata metadata,
                                          boolean skipIOCache)
                                   throws java.io.IOException

  Throws:
    `java.io.IOException`

### reBuffer

    protected void reBuffer()
                     throws java.io.IOException

  Description copied from class: `RandomAccessReader`
  Read data from file starting from current currentOffset to populate buffer.

  Overrides:
    `reBuffer` in class `RandomAccessReader`
  Throws:
    `java.io.IOException` - on any I/O error.

### length

    public long length()
                throws java.io.IOException

  Overrides:
    `length` in class `RandomAccessReader`
  Throws:
    `java.io.IOException`

### toString

    public java.lang.String toString()

  Overrides:
    `toString` in class `RandomAccessReader`

Copyright © 2013 The Apache Software Foundation