24 lines
525 B
Go
Raw Normal View History

2024-01-03 17:57:33 -04:00
// 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
}