Class: Lz4rip::BlockCodec

Inherits:
Object
  • Object
show all
Defined in:
lib/lz4rip/block_codec.rb

Overview

Raw LZ4 block-format codec.

BlockCodec keeps mutable native scratch state and is intended to be used per Ractor.

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

._native_new(dict) ⇒ BlockCodec

Native constructor used by .new.

Parameters:

  • dict (String, nil)

    dictionary bytes

Returns:



45
46
47
48
49
50
51
52
53
54
# File 'lib/lz4rip/block_codec.rb', line 45

class BlockCodec
  def self.new(dict: nil)
    _native_new(Dictionary === dict ? dict.bytes : dict)
  end


  def decompress(bytes, decompressed_size:)
    _decompress(bytes, decompressed_size)
  end
end

.new(dict: nil) ⇒ BlockCodec

Create a block codec.

Parameters:

  • dict (Dictionary, String, nil) (defaults to: nil)

    optional LZ4 dictionary

Returns:



45
46
47
48
49
50
51
52
53
54
# File 'lib/lz4rip/block_codec.rb', line 45

class BlockCodec
  def self.new(dict: nil)
    _native_new(Dictionary === dict ? dict.bytes : dict)
  end


  def decompress(bytes, decompressed_size:)
    _decompress(bytes, decompressed_size)
  end
end

Instance Method Details

#_decompress(bytes, decompressed_size) ⇒ String

Native decompression entry used by #decompress.

Parameters:

  • bytes (String)

    compressed LZ4 block

  • decompressed_size (Integer)

    original byte size

Returns:

  • (String)

Raises:



45
46
47
48
49
50
51
52
53
54
# File 'lib/lz4rip/block_codec.rb', line 45

class BlockCodec
  def self.new(dict: nil)
    _native_new(Dictionary === dict ? dict.bytes : dict)
  end


  def decompress(bytes, decompressed_size:)
    _decompress(bytes, decompressed_size)
  end
end

#compress(bytes) ⇒ String

Compress bytes to a raw LZ4 block.

Parameters:

  • bytes (String)

    uncompressed bytes

Returns:

  • (String)


45
46
47
48
49
50
51
52
53
54
# File 'lib/lz4rip/block_codec.rb', line 45

class BlockCodec
  def self.new(dict: nil)
    _native_new(Dictionary === dict ? dict.bytes : dict)
  end


  def decompress(bytes, decompressed_size:)
    _decompress(bytes, decompressed_size)
  end
end

#decompress(bytes, decompressed_size:) ⇒ String

Decompress a raw LZ4 block.

Parameters:

  • bytes (String)

    compressed LZ4 block

  • decompressed_size (Integer)

    original byte size

Returns:

  • (String)

Raises:



45
46
47
48
49
50
51
52
53
54
# File 'lib/lz4rip/block_codec.rb', line 45

class BlockCodec
  def self.new(dict: nil)
    _native_new(Dictionary === dict ? dict.bytes : dict)
  end


  def decompress(bytes, decompressed_size:)
    _decompress(bytes, decompressed_size)
  end
end

#has_dict?Boolean

Returns:

  • (Boolean)


45
46
47
48
49
50
51
52
53
54
# File 'lib/lz4rip/block_codec.rb', line 45

class BlockCodec
  def self.new(dict: nil)
    _native_new(Dictionary === dict ? dict.bytes : dict)
  end


  def decompress(bytes, decompressed_size:)
    _decompress(bytes, decompressed_size)
  end
end

#sizeInteger

Returns internal state size in bytes.

Returns:

  • (Integer)

    internal state size in bytes



45
46
47
48
49
50
51
52
53
54
# File 'lib/lz4rip/block_codec.rb', line 45

class BlockCodec
  def self.new(dict: nil)
    _native_new(Dictionary === dict ? dict.bytes : dict)
  end


  def decompress(bytes, decompressed_size:)
    _decompress(bytes, decompressed_size)
  end
end