summaryrefslogtreecommitdiff
path: root/timer.go
diff options
context:
space:
mode:
authorJason A. Donenfeld <Jason@zx2c4.com>2018-05-05 04:20:16 +0200
committerJason A. Donenfeld <Jason@zx2c4.com>2018-05-05 04:20:16 +0200
commitbeab52258ae22c6901b769123ae1c8d64fea294c (patch)
tree3fa3a3aa30a0666886a02bcf41b6617926b8665d /timer.go
parent36659454ceadf2f323150cbe02e9d5f52a98582d (diff)
parentd8d592787df648dfa1043cfd23e842d53f3b3f27 (diff)
downloadwireguard-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.go70
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
-}