class BinaryParser::BufferedStream

Public Class Methods

new(stream, buffer_size) click to toggle source
# File lib/binary_parser/general_class/buffered_stream.rb, line 5
def initialize(stream, buffer_size)
  @stream, @buffer_size = stream, buffer_size
end

Public Instance Methods

close() click to toggle source
# File lib/binary_parser/general_class/buffered_stream.rb, line 17
def close
  @stream.close
end
read(length) click to toggle source
# File lib/binary_parser/general_class/buffered_stream.rb, line 9
def read(length)
  if !@buffer || @buffer.eof?
    return nil unless next_buffer = @stream.read(@buffer_size)
    @buffer = StringIO.new(next_buffer)
  end
  return @buffer.read(length)
end