func()

in pkg/noderesourcetopology/score.go [161:185]


func (tm *TopologyMatch) scoringHandlerFromTopologyManagerConfig(conf TopologyManagerConfig) scoringFn {
	if tm.scoreStrategyType == apiconfig.LeastNUMANodes {
		if conf.Scope == kubeletconfig.PodTopologyManagerScope {
			return leastNUMAPodScopeScore
		}
		if conf.Scope == kubeletconfig.ContainerTopologyManagerScope {
			return leastNUMAContainerScopeScore
		}
		return nil // cannot happen
	}
	if conf.Policy != kubeletconfig.SingleNumaNodeTopologyManagerPolicy {
		return nil
	}
	if conf.Scope == kubeletconfig.PodTopologyManagerScope {
		return func(lh logr.Logger, pod *v1.Pod, zones topologyv1alpha2.ZoneList) (int64, *framework.Status) {
			return podScopeScore(lh, pod, zones, tm.scoreStrategyFunc, tm.resourceToWeightMap)
		}
	}
	if conf.Scope == kubeletconfig.ContainerTopologyManagerScope {
		return func(lh logr.Logger, pod *v1.Pod, zones topologyv1alpha2.ZoneList) (int64, *framework.Status) {
			return containerScopeScore(lh, pod, zones, tm.scoreStrategyFunc, tm.resourceToWeightMap)
		}
	}
	return nil // cannot happen
}