Class SnappyFramedOutputStream

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

    public final class SnappyFramedOutputStream
    extends AbstractSnappyOutputStream
    Implements the x-snappy-framed as an OutputStream.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected void writeBlock​(java.io.OutputStream out, byte[] data, int offset, int length, boolean compressed, int crc32c)
      Each chunk consists first a single byte of chunk identifier, then a three-byte little-endian length of the chunk in bytes (from 0 to 16777215, inclusive), and then the data if any.
      protected void writeHeader​(java.io.OutputStream out)
      Writes the implementation specific header or "marker bytes" to out.
      • Methods inherited from class java.io.OutputStream

        nullOutputStream, write
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • MAX_BLOCK_SIZE

        public static final int MAX_BLOCK_SIZE
        We place an additional restriction that the uncompressed data in a chunk must be no longer than 65536 bytes. This allows consumers to easily use small fixed-size buffers.
        See Also:
        Constant Field Values
      • DEFAULT_MIN_COMPRESSION_RATIO

        public static final double DEFAULT_MIN_COMPRESSION_RATIO
        See Also:
        Constant Field Values
    • Constructor Detail

      • SnappyFramedOutputStream

        public SnappyFramedOutputStream​(java.io.OutputStream out)
                                 throws java.io.IOException
        Throws:
        java.io.IOException
      • SnappyFramedOutputStream

        public SnappyFramedOutputStream​(java.io.OutputStream out,
                                        int blockSize,
                                        double minCompressionRatio)
                                 throws java.io.IOException
        Throws:
        java.io.IOException
    • Method Detail

      • writeHeader

        protected void writeHeader​(java.io.OutputStream out)
                            throws java.io.IOException
        Description copied from class: AbstractSnappyOutputStream
        Writes the implementation specific header or "marker bytes" to out.
        Specified by:
        writeHeader in class AbstractSnappyOutputStream
        Parameters:
        out - The underlying OutputStream.
        Throws:
        java.io.IOException
      • writeBlock

        protected void writeBlock​(java.io.OutputStream out,
                                  byte[] data,
                                  int offset,
                                  int length,
                                  boolean compressed,
                                  int crc32c)
                           throws java.io.IOException
        Each chunk consists first a single byte of chunk identifier, then a three-byte little-endian length of the chunk in bytes (from 0 to 16777215, inclusive), and then the data if any. The four bytes of chunk header is not counted in the data length.
        Specified by:
        writeBlock in class AbstractSnappyOutputStream
        Parameters:
        out - The OutputStream to write to.
        data - The data to write.
        offset - The offset in data to start at.
        length - The length of data to use.
        compressed - Indicates if data is the compressed or raw content. This is based on whether the compression ratio desired is reached.
        crc32c - The calculated checksum.
        Throws:
        java.io.IOException