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 {
|
||||
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
|
||||
}
|
||||
}
|
||||
}()
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user