...
1
16
17 package state
18
19 import (
20 "k8s.io/utils/cpuset"
21 )
22
23
24 type ContainerCPUAssignments map[string]map[string]cpuset.CPUSet
25
26
27 func (as ContainerCPUAssignments) Clone() ContainerCPUAssignments {
28 ret := make(ContainerCPUAssignments, len(as))
29 for pod := range as {
30 ret[pod] = make(map[string]cpuset.CPUSet, len(as[pod]))
31 for container, cset := range as[pod] {
32 ret[pod][container] = cset
33 }
34 }
35 return ret
36 }
37
38
39 type Reader interface {
40 GetCPUSet(podUID string, containerName string) (cpuset.CPUSet, bool)
41 GetDefaultCPUSet() cpuset.CPUSet
42 GetCPUSetOrDefault(podUID string, containerName string) cpuset.CPUSet
43 GetCPUAssignments() ContainerCPUAssignments
44 }
45
46 type writer interface {
47 SetCPUSet(podUID string, containerName string, cpuset cpuset.CPUSet)
48 SetDefaultCPUSet(cpuset cpuset.CPUSet)
49 SetCPUAssignments(ContainerCPUAssignments)
50 Delete(podUID string, containerName string)
51 ClearState()
52 }
53
54
55 type State interface {
56 Reader
57 writer
58 }
59
View as plain text