| Interface | Description | 
|---|---|
| BytesReadTracker | |
| ChunkReader | RandomFileReader component that reads data from a file into a provided buffer and may have requirements over the
 size and alignment of reads. | 
| DataInputPlus | Extension to DataInput that provides support for reading varints | 
| DataOutputPlus | Extension to DataOutput that provides for writing ByteBuffer and Memory, potentially with an efficient
 implementation that is zero copy or at least has reduced bounds checking overhead. | 
| DataPosition | |
| DiskOptimizationStrategy | |
| FileDataInput | |
| ReaderFileProxy | Base class for the RandomAccessReader components that implement reading. | 
| Rebufferer | Rebufferer for reading data by a RandomAccessReader. | 
| Rebufferer.BufferHolder | |
| RebuffererFactory | Interface for the classes that can be used to instantiate rebufferers over a given file. | 
| RewindableDataInput | 
| Class | Description | 
|---|---|
| AbstractReaderFileProxy | |
| BufferedDataOutputStreamPlus | An implementation of the DataOutputStreamPlus interface using a ByteBuffer to stage writes
 before flushing them to an underlying channel. | 
| BufferManagingRebufferer | Buffer manager used for reading from a ChunkReader when cache is not in use. | 
| BufferManagingRebufferer.Aligned | |
| BufferManagingRebufferer.Unaligned | |
| ChannelProxy | A proxy of a FileChannel that:
 - implements reference counting
 - exports only thread safe FileChannel operations
 - wraps IO exceptions into runtime exceptions
 Tested by RandomAccessReaderTest. | 
| ChecksummedRandomAccessReader | |
| ChecksummedSequentialWriter | |
| ChecksumWriter | |
| CompressedChunkReader | |
| CompressedChunkReader.Mmap | |
| CompressedChunkReader.Standard | |
| DataInputBuffer | Input stream around a single ByteBuffer. | 
| DataInputPlus.DataInputStreamPlus | Wrapper around an InputStream that provides no buffering but can decode varints | 
| DataIntegrityMetadata | |
| DataIntegrityMetadata.ChecksumValidator | |
| DataIntegrityMetadata.FileDigestValidator | |
| DataOutputBuffer | An implementation of the DataOutputStream interface using a FastByteArrayOutputStream and exposing
 its buffer so copies can be avoided. | 
| DataOutputBufferFixed | An implementation of the DataOutputStream interface using a FastByteArrayOutputStream and exposing
 its buffer so copies can be avoided. | 
| DataOutputStreamPlus | Abstract base class for DataOutputStreams that accept writes from ByteBuffer or Memory and also provide
 access to the underlying WritableByteChannel associated with their output stream. | 
| FastByteArrayInputStream | A specialized  InputStreamfor reading the contents of a byte array. | 
| FileHandle | FileHandleprovides access to a file for reading, including the ones written by variousSequentialWriterinstances, and it is typically used bySSTableReader. | 
| FileHandle.Builder | Configures how the file will be read (compressed, mmapped, use cache etc.) | 
| FileSegmentInputStream | This is the same as DataInputBuffer, i.e. | 
| FileUtils | |
| LengthAvailableInputStream | a FilterInputStream that returns the remaining bytes to read from available()
 regardless of whether the device is ready to provide them. | 
| LimitingRebufferer | Rebufferer wrapper that applies rate limiting. | 
| Memory | An off-heap region of memory that must be manually free'd when no longer needed. | 
| MemoryInputStream | |
| MemoryOutputStream | This class provides a way to stream the writes into the  Memory | 
| MmappedRegions | |
| MmappedRegions.Region | |
| MmappedRegions.Tidier | |
| NIODataInputStream | Rough equivalent of BufferedInputStream and DataInputStream wrapping the input stream of a File or Socket
 Created to work around the fact that when BIS + DIS delegate to NIO for socket IO they will allocate large
 thread local direct byte buffers when a large array is used to read. | 
| RandomAccessReader | |
| RebufferingInputStream | Rough equivalent of BufferedInputStream and DataInputStream wrapping a ByteBuffer that can be refilled
 via rebuffer. | 
| RewindableDataInputStreamPlus | Adds mark/reset functionality to another input stream by caching read bytes to a memory buffer and
 spilling to disk if necessary. | 
| RewindableDataInputStreamPlus.RewindableDataInputPlusMark | |
| SafeMemory | |
| SafeMemoryWriter | |
| SequentialWriter | Adds buffering, mark, and fsyncing to OutputStream. | 
| SequentialWriter.BufferedFileWriterMark | Class to hold a mark to the position of the file | 
| SequentialWriterOption | SequentialWriter option | 
| SequentialWriterOption.Builder | |
| SpinningDiskOptimizationStrategy | |
| SsdDiskOptimizationStrategy | |
| TrackedDataInputPlus | This class is to track bytes read from given DataInput | 
| TrackedInputStream | This class is to track bytes read from given DataInputStream | 
| UnbufferedDataOutputStreamPlus | Base class for DataOutput implementations that does not have an optimized implementations of Plus methods
 and does no buffering. | 
| WrappedDataOutputStreamPlus | When possible use  WrappedDataOutputStreamPlusinstead of this class, as it will
 be more efficient when using Plus methods. | 
| Exception | Description | 
|---|---|
| CorruptFileException | 
Copyright © 2018 The Apache Software Foundation