mirror of https://github.com/hashicorp/consul
Update Serf to include `serf.NumNodes()`
parent
74bcbc63f8
commit
bf8c860663
|
@ -1,27 +0,0 @@
|
||||||
package coordinate
|
|
||||||
|
|
||||||
import (
|
|
||||||
"math"
|
|
||||||
"testing"
|
|
||||||
)
|
|
||||||
|
|
||||||
// verifyEqualFloats will compare f1 and f2 and fail if they are not
|
|
||||||
// "equal" within a threshold.
|
|
||||||
func verifyEqualFloats(t *testing.T, f1 float64, f2 float64) {
|
|
||||||
const zeroThreshold = 1.0e-6
|
|
||||||
if math.Abs(f1-f2) > zeroThreshold {
|
|
||||||
t.Fatalf("equal assertion fail, %9.6f != %9.6f", f1, f2)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// verifyEqualVectors will compare vec1 and vec2 and fail if they are not
|
|
||||||
// "equal" within a threshold.
|
|
||||||
func verifyEqualVectors(t *testing.T, vec1 []float64, vec2 []float64) {
|
|
||||||
if len(vec1) != len(vec2) {
|
|
||||||
t.Fatalf("vector length mismatch, %d != %d", len(vec1), len(vec2))
|
|
||||||
}
|
|
||||||
|
|
||||||
for i, _ := range vec1 {
|
|
||||||
verifyEqualFloats(t, vec1[i], vec2[i])
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1680,3 +1680,13 @@ func (s *Serf) GetCachedCoordinate(name string) (coord *coordinate.Coordinate, o
|
||||||
|
|
||||||
return nil, false
|
return nil, false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// NumNodes returns the number of nodes in the serf cluster, regardless of
|
||||||
|
// their health or status.
|
||||||
|
func (s *Serf) NumNodes() (numNodes int) {
|
||||||
|
s.memberLock.RLock()
|
||||||
|
numNodes = len(s.members)
|
||||||
|
s.memberLock.RUnlock()
|
||||||
|
|
||||||
|
return numNodes
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue