# File ../lib/roller/BinaryIO/BinaryReader.rb, line 35
        def _read(n, size, format)
                bytes = n * size

    begin
      str = @handle.read(bytes)
    rescue IOError => exception
      raise BinaryReadError, exception.message
    end

    unless str.length == bytes
      raise BinaryReadError, "Read #{str.size} bytes when expecting #{bytes} bytes"
    end
    
                val = str.unpack(format * n)

                if n == 1
                        val.first
                else
                        val
                end
        end