Simplify converge checker

Not sure why I didn't write it this way before...
This commit is contained in:
James Shubin
2016-01-10 02:40:31 -05:00
parent 1c49bbc487
commit 8ea8ef8d0e

11
main.go
View File

@@ -171,24 +171,20 @@ func run(c *cli.Context) {
if i := c.Int("converged-timeout"); i >= 0 {
go func() {
ConvergedLoop:
for {
isConverged := true
<-converged // when anyone says they have converged
if etcdO.GetState() != etcdConvergedTimeout {
isConverged = false
goto ConvergedCheck // efficiency boost
continue
}
for v := range G.GetVerticesChan() {
if v.Type.GetState() != typeConvergedTimeout {
isConverged = false
break
continue ConvergedLoop
}
}
ConvergedCheck:
// if all have converged, exit
if isConverged {
log.Printf("Converged for %d seconds, exiting!", i)
exit <- true
for {
@@ -196,7 +192,6 @@ func run(c *cli.Context) {
} // unblock/drain
//return
}
}
}()
}