update cadvisor to v0.31.0
This commit is contained in:
95
vendor/github.com/mesos/mesos-go/api/v1/lib/labels.go
generated
vendored
Normal file
95
vendor/github.com/mesos/mesos-go/api/v1/lib/labels.go
generated
vendored
Normal file
@@ -0,0 +1,95 @@
|
||||
package mesos
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"io"
|
||||
)
|
||||
|
||||
type labelList []Label // convenience type, for working with unwrapped Label slices
|
||||
|
||||
// Equivalent returns true if left and right have the same labels. Order is not important.
|
||||
func (left *Labels) Equivalent(right *Labels) bool {
|
||||
return labelList(left.GetLabels()).Equivalent(labelList(right.GetLabels()))
|
||||
}
|
||||
|
||||
// Equivalent returns true if left and right have the same labels. Order is not important.
|
||||
func (left labelList) Equivalent(right labelList) bool {
|
||||
if len(left) != len(right) {
|
||||
return false
|
||||
} else {
|
||||
for i := range left {
|
||||
found := false
|
||||
for j := range right {
|
||||
if left[i].Equivalent(right[j]) {
|
||||
found = true
|
||||
break
|
||||
}
|
||||
}
|
||||
if !found {
|
||||
return false
|
||||
}
|
||||
}
|
||||
return true
|
||||
}
|
||||
}
|
||||
|
||||
// Equivalent returns true if left and right represent the same Label.
|
||||
func (left Label) Equivalent(right Label) bool {
|
||||
if left.Key != right.Key {
|
||||
return false
|
||||
}
|
||||
if left.Value == nil {
|
||||
return right.Value == nil
|
||||
} else {
|
||||
return right.Value != nil && *left.Value == *right.Value
|
||||
}
|
||||
}
|
||||
|
||||
func (left Label) writeTo(w io.Writer) (n int64, err error) {
|
||||
write := func(s string) {
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
var n2 int
|
||||
n2, err = io.WriteString(w, s)
|
||||
n += int64(n2)
|
||||
}
|
||||
write(left.Key)
|
||||
if s := left.GetValue(); s != "" {
|
||||
write("=")
|
||||
write(s)
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
func (left *Labels) writeTo(w io.Writer) (n int64, err error) {
|
||||
var (
|
||||
lab = left.GetLabels()
|
||||
n2 int
|
||||
n3 int64
|
||||
)
|
||||
for i := range lab {
|
||||
if i > 0 {
|
||||
n2, err = io.WriteString(w, ",")
|
||||
n += int64(n2)
|
||||
if err != nil {
|
||||
break
|
||||
}
|
||||
}
|
||||
n3, err = lab[i].writeTo(w)
|
||||
n += n3
|
||||
if err != nil {
|
||||
break
|
||||
}
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
func (left *Labels) Format() string {
|
||||
if left == nil {
|
||||
return ""
|
||||
}
|
||||
var b bytes.Buffer
|
||||
left.writeTo(&b)
|
||||
return b.String()
|
||||
}
|
Reference in New Issue
Block a user