diff --git a/internal/utils/timer.go b/internal/utils/timer.go index 3502d68ec..2e8a77667 100644 --- a/internal/utils/timer.go +++ b/internal/utils/timer.go @@ -1,7 +1,6 @@ package utils import ( - "sync" "time" ) @@ -20,7 +19,6 @@ type Timeout struct { state TimeoutState d time.Duration start time.Time - mu sync.Mutex } // NewTimeout creates a new timeout class @@ -31,24 +29,18 @@ func NewTimeout(d time.Duration) *Timeout { // Start starts the timeout clock func (timeout *Timeout) Start() { - timeout.mu.Lock() timeout.state = Active timeout.start = time.Now() - timeout.mu.Unlock() } // Stop stops the timeout clock func (timeout *Timeout) Stop() { - timeout.mu.Lock() timeout.state = Inactive timeout.start = time.Now() - timeout.mu.Unlock() } // CheckExpire checks whether the timeout is reached/expired func (timeout *Timeout) CheckExpire() bool { - timeout.mu.Lock() - defer timeout.mu.Unlock() if timeout.state == Active && time.Since(timeout.start) > timeout.d { timeout.state = Expired } @@ -60,23 +52,17 @@ func (timeout *Timeout) CheckExpire() bool { // Duration returns the duration period of timeout func (timeout *Timeout) Duration() time.Duration { - timeout.mu.Lock() - defer timeout.mu.Unlock() return timeout.d } // SetDuration set new duration for the timer func (timeout *Timeout) SetDuration(nd time.Duration) { - timeout.mu.Lock() timeout.d = nd - timeout.mu.Unlock() } // IsActive checks whether timeout clock is active; // A timeout is active means it's not stopped caused by stop // and also not expired with time elapses longer than duration from start func (timeout *Timeout) IsActive() bool { - timeout.mu.Lock() - defer timeout.mu.Unlock() return timeout.state == Active }