...
1
16
17 package driver
18
19
20 type labels map[string]string
21
22 func (lbs *labels) init() { *lbs = labels(make(map[string]string)) }
23 func (lbs labels) get(key string) string { return lbs[key] }
24 func (lbs labels) set(key, val string) { lbs[key] = val }
25
26 func (lbs labels) keys() (ls []string) {
27 for key := range lbs {
28 ls = append(ls, key)
29 }
30 return
31 }
32
33 func (lbs labels) match(set labels) bool {
34 for _, key := range set.keys() {
35 if lbs.get(key) != set.get(key) {
36 return false
37 }
38 }
39 return true
40 }
41
42 func (lbs labels) toMap() map[string]string { return lbs }
43
44 func (lbs *labels) fromMap(kvs map[string]string) {
45 for k, v := range kvs {
46 lbs.set(k, v)
47 }
48 }
49
View as plain text