status-go/vendor/github.com/pion/ice/v2/internal/atomic/atomic.go

24 lines
525 B
Go

// SPDX-FileCopyrightText: 2023 The Pion community <https://pion.ly>
// SPDX-License-Identifier: MIT
// Package atomic contains custom atomic types
package atomic
import "sync/atomic"
// Error is an atomic error
type Error struct {
v atomic.Value
}
// Store updates the value of the atomic variable
func (a *Error) Store(err error) {
a.v.Store(struct{ error }{err})
}
// Load retrieves the current value of the atomic variable
func (a *Error) Load() error {
err, _ := a.v.Load().(struct{ error })
return err.error
}