class BinData::Transform::Zstd
gem install zstd-ruby
Transforms a zstd compressed data stream.
def after_read_transform
def after_read_transform raise IOError, "didn't read all data" unless @read.empty? end
def after_write_transform
def after_write_transform chain_write(::Zstd::compress(@write)) end
def initialize(read_length)
def initialize(read_length) super() @length = read_length end
def read(n)
def read(n) @read ||= ::Zstd::decompress(chain_read(@length)) @read.slice!(0...n) end
def write(data)
def write(data) @write ||= create_empty_binary_string @write << data end