Class: RepomdParser::ZstdReader
- Inherits:
-
Object
- Object
- RepomdParser::ZstdReader
- Defined in:
- lib/repomd_parser/zstd_reader.rb
Instance Method Summary collapse
- #close ⇒ Object
-
#initialize(io_object) ⇒ ZstdReader
constructor
A new instance of ZstdReader.
- #read(len = nil, out = nil) ⇒ Object
Constructor Details
#initialize(io_object) ⇒ ZstdReader
Returns a new instance of ZstdReader.
21 22 23 24 25 |
# File 'lib/repomd_parser/zstd_reader.rb', line 21 def initialize(io_object) @io = io_object @stream = Zstd::StreamingDecompress.new @buffer = '' end |
Instance Method Details
#close ⇒ Object
41 42 43 |
# File 'lib/repomd_parser/zstd_reader.rb', line 41 def close @io.close end |
#read(len = nil, out = nil) ⇒ Object
27 28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/repomd_parser/zstd_reader.rb', line 27 def read(len = nil, out = nil) @buffer << @stream.decompress(@io.read(len)) while @buffer.size < len && !@io.eof if @buffer.size > len out = @buffer[0..len] @buffer = @buffer[len..-1] else out = @buffer @buffer = '' end out end |