hosts

in lib/elastic/transport/transport/sniffer.rb [44:67]


        def hosts
          Timeout::timeout(timeout, SnifferTimeoutError) do
            nodes = perform_sniff_request.body

            hosts = nodes['nodes'].map do |id, info|
              next unless info[PROTOCOL]
              host, port = parse_publish_address(info[PROTOCOL]['publish_address'])

              {
                id: id,
                name: info['name'],
                version: info['version'],
                host: host,
                port: port,
                roles: info['roles'],
                attributes: info['attributes']
              }
            end.compact

            hosts.shuffle! if transport.options[:randomize_hosts]
            hosts
          end
        end