Class: StringIO

Inherits:
Object
  • Object
show all
Defined in:
lib/em/protocols/postgres3.rb

Overview

:nodoc:

Instance Method Summary collapse

Instance Method Details

#readbytes(n) ⇒ Object Also known as: read_exactly_n_bytes

Reads exactly n bytes.

If the data read is nil an EOFError is raised.

If the data read is too short a TruncatedDataError is raised and the read data is obtainable via its #data method.



39
40
41
42
43
44
45
46
47
48
# File 'lib/em/protocols/postgres3.rb', line 39

def readbytes(n)
  str = read(n)
  if str == nil
    raise EOFError, "End of file reached"
  end
  if str.size < n
    raise TruncatedDataError.new("data truncated", str) 
  end
  str
end