# File lib/memcache.rb, line 573
  def cache_get_multi(server, cache_keys)
    values = {}
    socket = server.socket
    socket.write "get #{cache_keys}\r\n"

    while keyline = socket.gets do
      return values if keyline == "END\r\n"

      unless keyline =~ /^VALUE (.+) (.+) (.+)/ then
        server.close
        raise MemCacheError, "unexpected response #{keyline.inspect}"
      end

      key, data_length = $1, $3
      values[$1] = socket.read data_length.to_i
      socket.read(2) # "\r\n"
    end

    server.close
    raise MemCacheError, "lost connection to #{server.host}:#{server.port}"
  end