summaryrefslogtreecommitdiffhomepage
path: root/src/timer.go
diff options
context:
space:
mode:
Diffstat (limited to 'src/timer.go')
-rw-r--r--src/timer.go59
1 files changed, 0 insertions, 59 deletions
diff --git a/src/timer.go b/src/timer.go
deleted file mode 100644
index f00ca49..0000000
--- a/src/timer.go
+++ /dev/null
@@ -1,59 +0,0 @@
-package main
-
-import (
- "time"
-)
-
-type Timer struct {
- pending AtomicBool
- timer *time.Timer
-}
-
-/* Starts the timer if not already pending
- */
-func (t *Timer) Start(dur time.Duration) bool {
- set := t.pending.Swap(true)
- if !set {
- t.timer.Reset(dur)
- return true
- }
- return false
-}
-
-/* Stops the timer
- */
-func (t *Timer) Stop() {
- set := t.pending.Swap(true)
- if set {
- t.timer.Stop()
- select {
- case <-t.timer.C:
- default:
- }
- }
- t.pending.Set(false)
-}
-
-func (t *Timer) Pending() bool {
- return t.pending.Get()
-}
-
-func (t *Timer) Reset(dur time.Duration) {
- t.pending.Set(false)
- t.Start(dur)
-}
-
-func (t *Timer) Wait() <-chan time.Time {
- return t.timer.C
-}
-
-func NewTimer() (t Timer) {
- t.pending.Set(false)
- t.timer = time.NewTimer(0)
- t.timer.Stop()
- select {
- case <-t.timer.C:
- default:
- }
- return
-}