Class: Cql::Compression::Compressor

Inherits:
Object
  • Object
show all
Defined in:
lib/cql/compression.rb

Overview

Note:

Compressors given to Cql::Client.connect as the :compressor option don't need to be subclasses of this class, but need to implement the same methods. This class exists only for documentation purposes.

Instance Method Summary collapse

Instance Method Details

#algorithmString

Returns the name of the algorithm this compressor supports, e.g. "snappy" or "lz4".



# File 'lib/cql/compression.rb', line 12


#compressString

Compresses the raw bytes of a frame.



# File 'lib/cql/compression.rb', line 37


#compress?true, false

Before compressing a frame the compressor will be asked if it wants to compress it or not. One reason it could say no is if the frame is small enough that compression would be unlikely to decrease its size.

If your operations consist mostly of small prepared statement executions it might not be useful to compress the frames being sent to Cassandra, but enabling compression can still be useful on the frames coming from Cassandra. Making this method always return false disables request compression, but will still make the client tell Cassandra that it supports compressed frames.

The bytes given to #compress? are the same as to #compress



# File 'lib/cql/compression.rb', line 19


#decompressString

Decompresses the raw bytes of a compressed frame.



# File 'lib/cql/compression.rb', line 44