mirror of
https://github.com/cmz0228/hysteria-dev.git
synced 2025-06-08 21:39:53 +00:00
25 lines
316 B
Go
25 lines
316 B
Go
package utils
|
|
|
|
import (
|
|
"sync/atomic"
|
|
"time"
|
|
)
|
|
|
|
type AtomicTime struct {
|
|
v atomic.Value
|
|
}
|
|
|
|
func NewAtomicTime(t time.Time) *AtomicTime {
|
|
a := &AtomicTime{}
|
|
a.Set(t)
|
|
return a
|
|
}
|
|
|
|
func (t *AtomicTime) Set(new time.Time) {
|
|
t.v.Store(new)
|
|
}
|
|
|
|
func (t *AtomicTime) Get() time.Time {
|
|
return t.v.Load().(time.Time)
|
|
}
|