func()

in internal/controller/cache_controller.go [72:95]


func (r *CacheReconciler) reconcileHandler(ctx context.Context, h handler.CacheHandlerInterface) (ctrl.Result, error) {
	logger := log.FromContext(ctx)

	operations := []reconciler.ReconcileOperation{
		h.CheckCacheExpiry,
		h.EnsureCacheInitialized,
		h.CalculateKeepAliveCount,
		h.AdjustCache,
	}

	for _, operation := range operations {
		result, err := operation(ctx)
		if err != nil || result.RequeueRequest {
			logger.Error(err, "cache operation failed")
			return ctrl.Result{RequeueAfter: result.RequeueDelay}, err
		}
		if result.CancelRequest {
			logger.Info("cache reconcile canceled, requeue after 60 seconds")
			return ctrl.Result{RequeueAfter: defaultCacheCheckInterval}, nil
		}
	}
	logger.Info("cache reconcile completed, requeue after 60 seconds")
	return ctrl.Result{RequeueAfter: defaultCacheCheckInterval}, nil
}