class RedisClient::SentinelConfig

def resolve_master

def resolve_master
  each_sentinel do |sentinel_client|
    host, port = sentinel_client.call("SENTINEL", "get-master-addr-by-name", @name)
    next unless host && port
    refresh_sentinels(sentinel_client)
    return Config.new(host: host, port: Integer(port), **@client_config)
  end
rescue ConnectionError
  raise ConnectionError, "No sentinels available"
else
  raise ConnectionError, "Couldn't locate a replica for role: #{@name}"
end