module HrrRbSsh::Transport::CompressionAlgorithm::Functionable

Public Class Methods

new(direction, logger: nil) click to toggle source
# File lib/hrr_rb_ssh/transport/compression_algorithm/functionable.rb, line 13
def initialize direction, logger: nil
  self.logger = logger
  case direction
  when Direction::OUTGOING
    @deflator = ::Zlib::Deflate.new
  when Direction::INCOMING
    @inflator = ::Zlib::Inflate.new
  end
end

Public Instance Methods

close() click to toggle source
# File lib/hrr_rb_ssh/transport/compression_algorithm/functionable.rb, line 31
def close
  @deflator.close if @deflator && @deflator.closed?.!
  @inflator.close if @inflator && @inflator.closed?.!
end
deflate(data) click to toggle source
# File lib/hrr_rb_ssh/transport/compression_algorithm/functionable.rb, line 23
def deflate data
  @deflator.deflate(data, ::Zlib::SYNC_FLUSH)
end
inflate(data) click to toggle source
# File lib/hrr_rb_ssh/transport/compression_algorithm/functionable.rb, line 27
def inflate data
  @inflator.inflate(data)
end