From 6db41d5a269c79bd04b18dbfa171cc241a6cdcc9 Mon Sep 17 00:00:00 2001 From: Mathias Hall-Andersen Date: Sat, 5 May 2018 02:20:52 +0200 Subject: Initial version of migration to new event model - Begin move away from global timer state. - Made logging format more consistent --- timer.go | 65 ---------------------------------------------------------------- 1 file changed, 65 deletions(-) delete mode 100644 timer.go (limited to 'timer.go') diff --git a/timer.go b/timer.go deleted file mode 100644 index 74e3a4e..0000000 --- a/timer.go +++ /dev/null @@ -1,65 +0,0 @@ -package main - -import ( - "sync" - "time" -) - -type Timer struct { - mutex sync.Mutex - pending bool - timer *time.Timer -} - -/* Starts the timer if not already pending - */ -func (t *Timer) Start(dur time.Duration) bool { - t.mutex.Lock() - defer t.mutex.Unlock() - - started := !t.pending - if started { - t.timer.Reset(dur) - } - return started -} - -func (t *Timer) Stop() { - t.mutex.Lock() - defer t.mutex.Unlock() - - t.timer.Stop() - select { - case <-t.timer.C: - default: - } - t.pending = false -} - -func (t *Timer) Pending() bool { - t.mutex.Lock() - defer t.mutex.Unlock() - - return t.pending -} - -func (t *Timer) Reset(dur time.Duration) { - t.mutex.Lock() - defer t.mutex.Unlock() - t.timer.Reset(dur) -} - -func (t *Timer) Wait() <-chan time.Time { - return t.timer.C -} - -func NewTimer() (t Timer) { - t.pending = false - t.timer = time.NewTimer(time.Hour) - t.timer.Stop() - select { - case <-t.timer.C: - default: - } - return -} -- cgit v1.2.3