Module: HrrRbSsh::Transport::CompressionAlgorithm::Functionable

Included in:
Zlib
Defined in:
lib/hrr_rb_ssh/transport/compression_algorithm/functionable.rb

Instance Method Summary collapse

Instance Method Details

#closeObject



29
30
31
32
# File 'lib/hrr_rb_ssh/transport/compression_algorithm/functionable.rb', line 29

def close
  @deflator.close if @deflator && @deflator.closed?.!
  @inflator.close if @inflator && @inflator.closed?.!
end

#deflate(data) ⇒ Object



21
22
23
# File 'lib/hrr_rb_ssh/transport/compression_algorithm/functionable.rb', line 21

def deflate data
  @deflator.deflate(data, ::Zlib::SYNC_FLUSH)
end

#inflate(data) ⇒ Object



25
26
27
# File 'lib/hrr_rb_ssh/transport/compression_algorithm/functionable.rb', line 25

def inflate data
  @inflator.inflate(data)
end

#initialize(direction) ⇒ Object



11
12
13
14
15
16
17
18
19
# File 'lib/hrr_rb_ssh/transport/compression_algorithm/functionable.rb', line 11

def initialize direction
  @logger = Logger.new(self.class.name)
  case direction
  when Direction::OUTGOING
    @deflator = ::Zlib::Deflate.new
  when Direction::INCOMING
    @inflator = ::Zlib::Inflate.new
  end
end