mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-03 01:06:27 +00:00
Simplify fake controller lock
This commit is contained in:
parent
d49ca164ef
commit
011db554e5
@ -37,7 +37,7 @@ func NewFakeControllerSource() *FakeControllerSource {
|
|||||||
|
|
||||||
// FakeControllerSource implements listing/watching for testing.
|
// FakeControllerSource implements listing/watching for testing.
|
||||||
type FakeControllerSource struct {
|
type FakeControllerSource struct {
|
||||||
lock sync.RWMutex
|
sync.RWMutex
|
||||||
items map[nnu]runtime.Object
|
items map[nnu]runtime.Object
|
||||||
changes []watch.Event // one change per resourceVersion
|
changes []watch.Event // one change per resourceVersion
|
||||||
broadcaster *watch.Broadcaster
|
broadcaster *watch.Broadcaster
|
||||||
@ -95,8 +95,8 @@ func (f *FakeControllerSource) key(meta *api.ObjectMeta) nnu {
|
|||||||
// Change records the given event (setting the object's resource version) and
|
// Change records the given event (setting the object's resource version) and
|
||||||
// sends a watch event with the specified probability.
|
// sends a watch event with the specified probability.
|
||||||
func (f *FakeControllerSource) Change(e watch.Event, watchProbability float64) {
|
func (f *FakeControllerSource) Change(e watch.Event, watchProbability float64) {
|
||||||
f.lock.Lock()
|
f.Lock()
|
||||||
defer f.lock.Unlock()
|
defer f.Unlock()
|
||||||
|
|
||||||
objMeta, err := api.ObjectMetaFor(e.Object)
|
objMeta, err := api.ObjectMetaFor(e.Object)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -121,8 +121,8 @@ func (f *FakeControllerSource) Change(e watch.Event, watchProbability float64) {
|
|||||||
|
|
||||||
// List returns a list object, with its resource version set.
|
// List returns a list object, with its resource version set.
|
||||||
func (f *FakeControllerSource) List() (runtime.Object, error) {
|
func (f *FakeControllerSource) List() (runtime.Object, error) {
|
||||||
f.lock.RLock()
|
f.RLock()
|
||||||
defer f.lock.RUnlock()
|
defer f.RUnlock()
|
||||||
list := make([]runtime.Object, 0, len(f.items))
|
list := make([]runtime.Object, 0, len(f.items))
|
||||||
for _, obj := range f.items {
|
for _, obj := range f.items {
|
||||||
// Must make a copy to allow clients to modify the object.
|
// Must make a copy to allow clients to modify the object.
|
||||||
@ -151,8 +151,8 @@ func (f *FakeControllerSource) List() (runtime.Object, error) {
|
|||||||
// Watch returns a watch, which will be pre-populated with all changes
|
// Watch returns a watch, which will be pre-populated with all changes
|
||||||
// after resourceVersion.
|
// after resourceVersion.
|
||||||
func (f *FakeControllerSource) Watch(resourceVersion string) (watch.Interface, error) {
|
func (f *FakeControllerSource) Watch(resourceVersion string) (watch.Interface, error) {
|
||||||
f.lock.RLock()
|
f.RLock()
|
||||||
defer f.lock.RUnlock()
|
defer f.RUnlock()
|
||||||
rc, err := strconv.Atoi(resourceVersion)
|
rc, err := strconv.Atoi(resourceVersion)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
|
Loading…
Reference in New Issue
Block a user