...
1
16
17 package topologymanager
18
19 type bestEffortPolicy struct {
20
21 numaInfo *NUMAInfo
22 opts PolicyOptions
23 }
24
25 var _ Policy = &bestEffortPolicy{}
26
27
28 const PolicyBestEffort string = "best-effort"
29
30
31 func NewBestEffortPolicy(numaInfo *NUMAInfo, opts PolicyOptions) Policy {
32 return &bestEffortPolicy{numaInfo: numaInfo, opts: opts}
33 }
34
35 func (p *bestEffortPolicy) Name() string {
36 return PolicyBestEffort
37 }
38
39 func (p *bestEffortPolicy) canAdmitPodResult(hint *TopologyHint) bool {
40 return true
41 }
42
43 func (p *bestEffortPolicy) Merge(providersHints []map[string][]TopologyHint) (TopologyHint, bool) {
44 filteredHints := filterProvidersHints(providersHints)
45 merger := NewHintMerger(p.numaInfo, filteredHints, p.Name(), p.opts)
46 bestHint := merger.Merge()
47 admit := p.canAdmitPodResult(&bestHint)
48 return bestHint, admit
49 }
50
View as plain text