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