Extend multiChanTicker with GetDuration

This commit is contained in:
Thomas Gruber
2026-07-31 16:36:26 +02:00
parent 4c1f810f53
commit 80dbd41b91
+7
View File
@@ -17,17 +17,20 @@ type multiChanTicker struct {
ticker *time.Ticker ticker *time.Ticker
channels []chan time.Time channels []chan time.Time
done chan bool done chan bool
duration time.Duration
} }
type MultiChanTicker interface { type MultiChanTicker interface {
Init(duration time.Duration) Init(duration time.Duration)
AddChannel(channel chan time.Time) AddChannel(channel chan time.Time)
GetDuration() time.Duration
Close() Close()
} }
func (t *multiChanTicker) Init(duration time.Duration) { func (t *multiChanTicker) Init(duration time.Duration) {
t.ticker = time.NewTicker(duration) t.ticker = time.NewTicker(duration)
t.done = make(chan bool) t.done = make(chan bool)
t.duration = duration
go func() { go func() {
done := func() { done := func() {
close(t.done) close(t.done)
@@ -53,6 +56,10 @@ func (t *multiChanTicker) Init(duration time.Duration) {
}() }()
} }
func (t *multiChanTicker) GetDuration() time.Duration {
return t.duration
}
func (t *multiChanTicker) AddChannel(channel chan time.Time) { func (t *multiChanTicker) AddChannel(channel chan time.Time) {
t.channels = append(t.channels, channel) t.channels = append(t.channels, channel)
} }