# Package org.apache.cassandra.io.util

- Interface Summary
  Interface | Description
  --- | ---
  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.
  FileDataInput |
  FileMark |
  ICompressedFile |

- Class Summary
  Class | Description
  --- | ---
  AbstractDataInput |
  BufferedDataOutputStreamPlus | An implementation of the DataOutputStreamPlus interface using a ByteBuffer to stage writes before flushing them to an underlying channel.
  BufferedPoolingSegmentedFile |
  BufferedPoolingSegmentedFile.Builder |
  BufferedSegmentedFile |
  BufferedSegmentedFile.Builder |
  ByteBufferDataInput |
  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 |
  CompressedPoolingSegmentedFile |
  CompressedPoolingSegmentedFile.Builder |
  CompressedPoolingSegmentedFile.Cleanup |
  CompressedSegmentedFile |
  CompressedSegmentedFile.Builder |
  DataIntegrityMetadata |
  DataIntegrityMetadata.ChecksumValidator |
  DataIntegrityMetadata.ChecksumWriter |
  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 `InputStream` for reading the contents of a byte array.
  FileUtils |
  LengthAvailableInputStream | a FilterInputStream that returns the remaining bytes to read from available() regardless of whether the device is ready to provide them.
  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`
  MmappedSegmentedFile |
  MmappedSegmentedFile.Builder | Overrides the default behaviour to create segments of a maximum size.
  MmappedSegmentedFile.Builder.Boundaries |
  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.
  PoolingSegmentedFile |
  PoolingSegmentedFile.Cleanup |
  RandomAccessReader |
  RandomAccessReader.BufferedRandomAccessFileMark | Class to hold a mark to the position of the file
  SafeMemory |
  SafeMemoryWriter |
  SegmentedFile | Abstracts a read-only file that has been split into segments, each of which can be represented by an independent FileDataInput.
  SegmentedFile.Builder | Collects potential segmentation points in an underlying file, and builds a SegmentedFile to represent it.
  SegmentedFile.Cleanup |
  SequentialWriter | Adds buffering, mark, and fsyncing to OutputStream.
  SequentialWriter.BufferedFileWriterMark | Class to hold a mark to the position of the file
  ThrottledReader |
  UnbufferedDataOutputStreamPlus | Base class for DataOutput implementations that does not have an optimized implementations of Plus methods and does no buffering.
  WrappedDataOutputStreamPlus | When possible use `WrappedDataOutputStreamPlus` instead of this class, as it will be more efficient when using Plus methods.

- Exception Summary
  Exception | Description
  --- | ---
  ChecksummedRandomAccessReader.CorruptFileException |

Copyright © 2018 The Apache Software Foundation