mirror of
https://github.com/kubernetes/client-go.git
synced 2025-08-12 12:41:47 +00:00
simplify control flow
Kubernetes-commit: ee24648300f8575f503156f45b44034054c2e49d
This commit is contained in:
parent
ac7f6579ff
commit
e11a988e1c
9
tools/cache/shared_informer.go
vendored
9
tools/cache/shared_informer.go
vendored
@ -726,8 +726,15 @@ func (p *sharedProcessor) distribute(obj interface{}, sync bool) {
|
|||||||
defer p.listenersLock.RUnlock()
|
defer p.listenersLock.RUnlock()
|
||||||
|
|
||||||
for listener, isSyncing := range p.listeners {
|
for listener, isSyncing := range p.listeners {
|
||||||
if !sync || isSyncing {
|
switch {
|
||||||
|
case !sync:
|
||||||
|
// non-sync messages are delivered to every listener
|
||||||
listener.add(obj)
|
listener.add(obj)
|
||||||
|
case isSyncing:
|
||||||
|
// sync messages are delivered to every syncing listenter
|
||||||
|
listener.add(obj)
|
||||||
|
default:
|
||||||
|
// skipping a sync obj for a non-syncing listener
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user