Something went wrong on our end
Select Git revision
build-cover-report.nix
-
Volker Schukai authoredVolker Schukai authored
runnable-counter.go 624 B
package jobqueue
import (
"sync"
)
// CounterResult is a result of a counter
type CounterResult struct {
Count int
}
// CounterRunnable is a runnable that counts
type CounterRunnable struct {
Count int
mu sync.Mutex
}
// GetCount returns the current count
func (c *CounterRunnable) GetCount() int {
c.mu.Lock()
defer c.mu.Unlock()
return c.Count
}
// Run runs the counter
func (c *CounterRunnable) Run() (RunResult[CounterResult], error) {
c.mu.Lock()
defer c.mu.Unlock()
c.Count++
return RunResult[CounterResult]{
Status: ResultStatusSuccess,
Data: CounterResult{
Count: c.Count,
},
}, nil
}