Files
webrtc/atomicbool.go
brian 883973804d Add swap function to atomicBool
PeerConnection setting to closed was not an atomic operation before
2021-11-20 13:44:43 -05:00

29 lines
414 B
Go

package webrtc
import "sync/atomic"
type atomicBool struct {
val int32
}
func (b *atomicBool) set(value bool) { // nolint: unparam
var i int32
if value {
i = 1
}
atomic.StoreInt32(&(b.val), i)
}
func (b *atomicBool) get() bool {
return atomic.LoadInt32(&(b.val)) != 0
}
func (b *atomicBool) swap(value bool) bool {
var i int32 = 0
if value {
i = 1
}
return atomic.SwapInt32(&(b.val), i) != 0
}