func()

in internal/loader/configuration_setting_loader.go [322:350]


func (csl *ConfigurationSettingLoader) CheckAndRefreshSentinels(
	ctx context.Context,
	provider *acpv1.AzureAppConfigurationProvider,
	eTags map[acpv1.Sentinel]*azcore.ETag) (bool, map[acpv1.Sentinel]*azcore.ETag, error) {
	sentinelChanged := false
	refreshedETags := make(map[acpv1.Sentinel]*azcore.ETag)
	for sentinel, currentETag := range eTags {
		refreshedETags[sentinel] = currentETag
		settingsClient := csl.SettingsClient
		if settingsClient == nil {
			settingsClient = &SentinelSettingsClient{
				sentinel:        sentinel,
				etag:            currentETag,
				refreshInterval: provider.Spec.Configuration.Refresh.Interval,
			}
		}
		response, err := csl.ExecuteFailoverPolicy(ctx, settingsClient)
		if err != nil {
			return false, eTags, err
		}

		if response != nil && response.Settings != nil && response.Settings[0].ETag != nil {
			sentinelChanged = true
			refreshedETags[sentinel] = response.Settings[0].ETag
		}
	}

	return sentinelChanged, refreshedETags, nil
}