阶段性提交

This commit is contained in:
GoEdgeLab
2020-09-13 20:37:28 +08:00
parent 84868c1a0b
commit dc79c661d7
89 changed files with 1364 additions and 12899 deletions

34
internal/utils/ticker.go Normal file
View File

@@ -0,0 +1,34 @@
package utils
import "time"
type Ticker struct {
raw *time.Ticker
isDone bool
done chan bool
}
func NewTicker(duration time.Duration) *Ticker {
return &Ticker{
raw: time.NewTicker(duration),
done: make(chan bool),
}
}
func (this *Ticker) Wait() bool {
select {
case <-this.raw.C:
return true
case <-this.done:
this.isDone = true
return false
}
}
func (this *Ticker) Stop() {
if this.isDone {
return
}
this.done <- true
this.raw.Stop()
}