Class NoopCompressor

  • All Implemented Interfaces:
    ICompressor

    public class NoopCompressor
    extends java.lang.Object
    implements ICompressor
    A Compressor which doesn't actually compress any data. This is useful for either non-compressible data (typically already compressed or encrypted) that you still want block checksums for or for fast writing. Some relevant tickets:

    • CASSANDRA-12682: Non compressed SSTables can silently corrupt data
    • CASSANDRA-9264: Non compressed SSTables are written without checksums

    • Constructor Summary

      Constructors 
      Constructor Description
      NoopCompressor()  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void compress​(java.nio.ByteBuffer input, java.nio.ByteBuffer output)
      Compression for ByteBuffers.
      static NoopCompressor create​(java.util.Map<java.lang.String,​java.lang.String> ignored)  
      int initialCompressedBufferLength​(int chunkLength)  
      BufferType preferredBufferType()
      Returns the preferred (most efficient) buffer type for this compressor.
      java.util.Set<java.lang.String> supportedOptions()  
      boolean supports​(BufferType bufferType)
      Checks if the given buffer would be supported by the compressor.
      int uncompress​(byte[] input, int inputOffset, int inputLength, byte[] output, int outputOffset)  
      void uncompress​(java.nio.ByteBuffer input, java.nio.ByteBuffer output)
      Decompression for DirectByteBuffers.
      • Methods inherited from class java.lang.Object

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

      • NoopCompressor

        public NoopCompressor()
    • Method Detail

      • create

        public static NoopCompressor create​(java.util.Map<java.lang.String,​java.lang.String> ignored)
      • uncompress

        public int uncompress​(byte[] input,
                              int inputOffset,
                              int inputLength,
                              byte[] output,
                              int outputOffset)
                       throws java.io.IOException
        Specified by:
        uncompress in interface ICompressor
        Throws:
        java.io.IOException
      • compress

        public void compress​(java.nio.ByteBuffer input,
                             java.nio.ByteBuffer output)
                      throws java.io.IOException
        Description copied from interface: ICompressor
        Compression for ByteBuffers. The data between input.position() and input.limit() is compressed and placed into output starting from output.position(). Positions in both buffers are moved to reflect the bytes read and written. Limits are not changed.
        Specified by:
        compress in interface ICompressor
        Throws:
        java.io.IOException
      • uncompress

        public void uncompress​(java.nio.ByteBuffer input,
                               java.nio.ByteBuffer output)
                        throws java.io.IOException
        Description copied from interface: ICompressor
        Decompression for DirectByteBuffers. The data between input.position() and input.limit() is uncompressed and placed into output starting from output.position(). Positions in both buffers are moved to reflect the bytes read and written. Limits are not changed.
        Specified by:
        uncompress in interface ICompressor
        Throws:
        java.io.IOException
      • supports

        public boolean supports​(BufferType bufferType)
        Description copied from interface: ICompressor
        Checks if the given buffer would be supported by the compressor. If a type is supported, the compressor must be able to use it in combination with all other supported types. Direct and memory-mapped buffers must be supported by all compressors.
        Specified by:
        supports in interface ICompressor
      • supportedOptions

        public java.util.Set<java.lang.String> supportedOptions()
        Specified by:
        supportedOptions in interface ICompressor