mirror of
https://github.com/etcd-io/etcd.git
synced 2024-09-27 06:25:44 +00:00
vendor: upgrade "go.uber.org/atomic"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
This commit is contained in:
parent
d5db59ffb6
commit
0c147bd8e0
4
Gopkg.lock
generated
4
Gopkg.lock
generated
@ -241,8 +241,8 @@
|
|||||||
[[projects]]
|
[[projects]]
|
||||||
name = "go.uber.org/atomic"
|
name = "go.uber.org/atomic"
|
||||||
packages = ["."]
|
packages = ["."]
|
||||||
revision = "8474b86a5a6f79c443ce4b2992817ff32cf208b8"
|
revision = "1ea20fb1cbb1cc08cbd0d913a96dead89aa18289"
|
||||||
version = "v1.3.1"
|
version = "v1.3.2"
|
||||||
|
|
||||||
[[projects]]
|
[[projects]]
|
||||||
name = "go.uber.org/multierr"
|
name = "go.uber.org/multierr"
|
||||||
|
42
vendor/go.uber.org/atomic/atomic.go
generated
vendored
42
vendor/go.uber.org/atomic/atomic.go
generated
vendored
@ -25,6 +25,7 @@ package atomic
|
|||||||
import (
|
import (
|
||||||
"math"
|
"math"
|
||||||
"sync/atomic"
|
"sync/atomic"
|
||||||
|
"time"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Int32 is an atomic wrapper around an int32.
|
// Int32 is an atomic wrapper around an int32.
|
||||||
@ -304,6 +305,47 @@ func (f *Float64) CAS(old, new float64) bool {
|
|||||||
return atomic.CompareAndSwapUint64(&f.v, math.Float64bits(old), math.Float64bits(new))
|
return atomic.CompareAndSwapUint64(&f.v, math.Float64bits(old), math.Float64bits(new))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Duration is an atomic wrapper around time.Duration
|
||||||
|
// https://godoc.org/time#Duration
|
||||||
|
type Duration struct {
|
||||||
|
v Int64
|
||||||
|
}
|
||||||
|
|
||||||
|
// NewDuration creates a Duration.
|
||||||
|
func NewDuration(d time.Duration) *Duration {
|
||||||
|
return &Duration{v: *NewInt64(int64(d))}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Load atomically loads the wrapped value.
|
||||||
|
func (d *Duration) Load() time.Duration {
|
||||||
|
return time.Duration(d.v.Load())
|
||||||
|
}
|
||||||
|
|
||||||
|
// Store atomically stores the passed value.
|
||||||
|
func (d *Duration) Store(n time.Duration) {
|
||||||
|
d.v.Store(int64(n))
|
||||||
|
}
|
||||||
|
|
||||||
|
// Add atomically adds to the wrapped time.Duration and returns the new value.
|
||||||
|
func (d *Duration) Add(n time.Duration) time.Duration {
|
||||||
|
return time.Duration(d.v.Add(int64(n)))
|
||||||
|
}
|
||||||
|
|
||||||
|
// Sub atomically subtracts from the wrapped time.Duration and returns the new value.
|
||||||
|
func (d *Duration) Sub(n time.Duration) time.Duration {
|
||||||
|
return time.Duration(d.v.Sub(int64(n)))
|
||||||
|
}
|
||||||
|
|
||||||
|
// Swap atomically swaps the wrapped time.Duration and returns the old value.
|
||||||
|
func (d *Duration) Swap(n time.Duration) time.Duration {
|
||||||
|
return time.Duration(d.v.Swap(int64(n)))
|
||||||
|
}
|
||||||
|
|
||||||
|
// CAS is an atomic compare-and-swap.
|
||||||
|
func (d *Duration) CAS(old, new time.Duration) bool {
|
||||||
|
return d.v.CAS(int64(old), int64(new))
|
||||||
|
}
|
||||||
|
|
||||||
// Value shadows the type of the same name from sync/atomic
|
// Value shadows the type of the same name from sync/atomic
|
||||||
// https://godoc.org/sync/atomic#Value
|
// https://godoc.org/sync/atomic#Value
|
||||||
type Value struct{ atomic.Value }
|
type Value struct{ atomic.Value }
|
||||||
|
Loading…
x
Reference in New Issue
Block a user