mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-12 21:36:24 +00:00
Refactor WaitUntilFreshAndList to split out filtering to separate function
This commit is contained in:
parent
eebc897e4f
commit
7400d57943
@ -506,19 +506,10 @@ func (w *watchCache) WaitUntilFreshAndList(ctx context.Context, resourceVersion
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, 0, "", err
|
return nil, 0, "", err
|
||||||
}
|
}
|
||||||
|
result, err := filterPrefix(key, items)
|
||||||
var result []interface{}
|
if err != nil {
|
||||||
for _, item := range items {
|
return nil, 0, "", err
|
||||||
elem, ok := item.(*storeElement)
|
|
||||||
if !ok {
|
|
||||||
return nil, 0, "", fmt.Errorf("non *storeElement returned from storage: %v", item)
|
|
||||||
}
|
}
|
||||||
if !hasPathPrefix(elem.Key, key) {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
result = append(result, item)
|
|
||||||
}
|
|
||||||
|
|
||||||
sort.Sort(sortableStoreElements(result))
|
sort.Sort(sortableStoreElements(result))
|
||||||
return result, rv, index, nil
|
return result, rv, index, nil
|
||||||
}
|
}
|
||||||
@ -554,6 +545,21 @@ func (w *watchCache) waitUntilFreshAndListItems(ctx context.Context, resourceVer
|
|||||||
return result, rv, index, err
|
return result, rv, index, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func filterPrefix(prefix string, items []interface{}) ([]interface{}, error) {
|
||||||
|
var result []interface{}
|
||||||
|
for _, item := range items {
|
||||||
|
elem, ok := item.(*storeElement)
|
||||||
|
if !ok {
|
||||||
|
return nil, fmt.Errorf("non *storeElement returned from storage: %v", item)
|
||||||
|
}
|
||||||
|
if !hasPathPrefix(elem.Key, prefix) {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
result = append(result, item)
|
||||||
|
}
|
||||||
|
return result, nil
|
||||||
|
}
|
||||||
|
|
||||||
func (w *watchCache) notFresh(resourceVersion uint64) bool {
|
func (w *watchCache) notFresh(resourceVersion uint64) bool {
|
||||||
w.RLock()
|
w.RLock()
|
||||||
defer w.RUnlock()
|
defer w.RUnlock()
|
||||||
|
Loading…
Reference in New Issue
Block a user