forked from quic-go/quic-go
use atomic.Bool from the standard library
This commit is contained in:
@@ -1,22 +0,0 @@
|
||||
package utils
|
||||
|
||||
import "sync/atomic"
|
||||
|
||||
// An AtomicBool is an atomic bool
|
||||
type AtomicBool struct {
|
||||
v int32
|
||||
}
|
||||
|
||||
// Set sets the value
|
||||
func (a *AtomicBool) Set(value bool) {
|
||||
var n int32
|
||||
if value {
|
||||
n = 1
|
||||
}
|
||||
atomic.StoreInt32(&a.v, n)
|
||||
}
|
||||
|
||||
// Get gets the value
|
||||
func (a *AtomicBool) Get() bool {
|
||||
return atomic.LoadInt32(&a.v) != 0
|
||||
}
|
||||
@@ -1,29 +0,0 @@
|
||||
package utils
|
||||
|
||||
import (
|
||||
. "github.com/onsi/ginkgo/v2"
|
||||
. "github.com/onsi/gomega"
|
||||
)
|
||||
|
||||
var _ = Describe("Atomic Bool", func() {
|
||||
var a *AtomicBool
|
||||
|
||||
BeforeEach(func() {
|
||||
a = &AtomicBool{}
|
||||
})
|
||||
|
||||
It("has the right default value", func() {
|
||||
Expect(a.Get()).To(BeFalse())
|
||||
})
|
||||
|
||||
It("sets the value to true", func() {
|
||||
a.Set(true)
|
||||
Expect(a.Get()).To(BeTrue())
|
||||
})
|
||||
|
||||
It("sets the value to false", func() {
|
||||
a.Set(true)
|
||||
a.Set(false)
|
||||
Expect(a.Get()).To(BeFalse())
|
||||
})
|
||||
})
|
||||
Reference in New Issue
Block a user