Sha256: 24ccbb481f6165484fd698496e2c5c0b1e244f21eafdd7089fc066c3b05b9762
Contents?: true
Size: 783 Bytes
Versions: 3
Compression:
Stored size: 783 Bytes
Contents
module FileWithBufferedRead require 'stringio' READ_BUFFER_SIZE = 1 << 22 def buffered_read size output = read_buffer.read(size) until output.nil? or output.size == size or self.eof? output << read_buffer.read(size - output.size) end return output end private def buffer_left read_buffer.size - read_buffer.pos end def read_buffer if @read_buffer.nil? or @read_buffer.eof? # logger.debug{ "Buffering #{READ_BUFFER_SIZE} from #{self.inspect} current position: #{self.pos}" } @read_buffer = StringIO.new(read(READ_BUFFER_SIZE) || '') # logger.debug{ "Buffered #{@read_buffer.size}, EOF:#{self.eof?} current position: #{self.pos}" } @buffer_left = @read_buffer.size end @read_buffer end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
elia-2.4.2.pre | lib/file_with_read_buffer.rb |
elia-2.4.1 | lib/file_with_read_buffer.rb |
elia-2.3.2 | lib/file_with_read_buffer.rb |