Simplify converge checker
Not sure why I didn't write it this way before...
This commit is contained in:
11
main.go
11
main.go
@@ -171,24 +171,20 @@ func run(c *cli.Context) {
|
|||||||
|
|
||||||
if i := c.Int("converged-timeout"); i >= 0 {
|
if i := c.Int("converged-timeout"); i >= 0 {
|
||||||
go func() {
|
go func() {
|
||||||
|
ConvergedLoop:
|
||||||
for {
|
for {
|
||||||
isConverged := true
|
|
||||||
<-converged // when anyone says they have converged
|
<-converged // when anyone says they have converged
|
||||||
|
|
||||||
if etcdO.GetState() != etcdConvergedTimeout {
|
if etcdO.GetState() != etcdConvergedTimeout {
|
||||||
isConverged = false
|
continue
|
||||||
goto ConvergedCheck // efficiency boost
|
|
||||||
}
|
}
|
||||||
for v := range G.GetVerticesChan() {
|
for v := range G.GetVerticesChan() {
|
||||||
if v.Type.GetState() != typeConvergedTimeout {
|
if v.Type.GetState() != typeConvergedTimeout {
|
||||||
isConverged = false
|
continue ConvergedLoop
|
||||||
break
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ConvergedCheck:
|
|
||||||
// if all have converged, exit
|
// if all have converged, exit
|
||||||
if isConverged {
|
|
||||||
log.Printf("Converged for %d seconds, exiting!", i)
|
log.Printf("Converged for %d seconds, exiting!", i)
|
||||||
exit <- true
|
exit <- true
|
||||||
for {
|
for {
|
||||||
@@ -196,7 +192,6 @@ func run(c *cli.Context) {
|
|||||||
} // unblock/drain
|
} // unblock/drain
|
||||||
//return
|
//return
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}()
|
}()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user