diff options
author | Jason A. Donenfeld <Jason@zx2c4.com> | 2018-05-05 04:20:16 +0200 |
---|---|---|
committer | Jason A. Donenfeld <Jason@zx2c4.com> | 2018-05-05 04:20:16 +0200 |
commit | beab52258ae22c6901b769123ae1c8d64fea294c (patch) | |
tree | 3fa3a3aa30a0666886a02bcf41b6617926b8665d /timer.go | |
parent | 36659454ceadf2f323150cbe02e9d5f52a98582d (diff) | |
parent | d8d592787df648dfa1043cfd23e842d53f3b3f27 (diff) | |
download | wireguard-go-beab52258ae22c6901b769123ae1c8d64fea294c.tar.gz wireguard-go-beab52258ae22c6901b769123ae1c8d64fea294c.zip |
Merge branch 'master' of ssh://git.zx2c4.com/wireguard-go
Diffstat (limited to 'timer.go')
-rw-r--r-- | timer.go | 70 |
1 files changed, 0 insertions, 70 deletions
diff --git a/timer.go b/timer.go deleted file mode 100644 index aeab5d9..0000000 --- a/timer.go +++ /dev/null @@ -1,70 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0 - * - * Copyright (C) 2017-2018 Jason A. Donenfeld <Jason@zx2c4.com>. All Rights Reserved. - */ - -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 -} |