class GQTP::Backend::Synchronous::IO

Public Class Methods

new(real_io) click to toggle source
# File lib/gqtp/backend/synchronous.rb, line 32
def initialize(real_io)
  @real_io = real_io
end

Public Instance Methods

close() click to toggle source
# File lib/gqtp/backend/synchronous.rb, line 54
def close
  @real_io.close
end
read(size=nil) { |data| ... } click to toggle source
# File lib/gqtp/backend/synchronous.rb, line 48
def read(size=nil)
  data = @real_io.read(size)
  yield(data) if block_given?
  Request.new(data)
end
write(*chunks) { || ... } click to toggle source
# File lib/gqtp/backend/synchronous.rb, line 36
def write(*chunks)
  chunks.each do |chunk|
    until chunk.empty?
      written_bytes = @real_io.write(chunk)
      break if chunk.bytesize == written_bytes
      chunk = chunk[written_bytes..-1]
    end
  end
  yield if block_given?
  Request.new(nil)
end