From e11a988e1cb825b47fa95ee55401bdfd078c4622 Mon Sep 17 00:00:00 2001 From: Alexander Zielenski <351783+alexzielenski@users.noreply.github.com> Date: Mon, 29 Aug 2022 11:52:35 -0700 Subject: [PATCH] simplify control flow Kubernetes-commit: ee24648300f8575f503156f45b44034054c2e49d --- tools/cache/shared_informer.go | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/tools/cache/shared_informer.go b/tools/cache/shared_informer.go index c7d6d1f1..d65dba77 100644 --- a/tools/cache/shared_informer.go +++ b/tools/cache/shared_informer.go @@ -726,8 +726,15 @@ func (p *sharedProcessor) distribute(obj interface{}, sync bool) { defer p.listenersLock.RUnlock() for listener, isSyncing := range p.listeners { - if !sync || isSyncing { + switch { + case !sync: + // non-sync messages are delivered to every listener 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 } } }