master
go 18 lines 347 Bytes
Raw
1 // SPDX-License-Identifier: GPL-3.0-or-later
2
3 package cache
4
5 func retainSeenEntries[T any](
6 bucket []routeCacheEntry[T],
7 buildSeq uint64,
8 ) []routeCacheEntry[T] {
9 kept := bucket[:0]
10 for i := range bucket {
11 if bucket[i].lastSeenBuild != buildSeq {
12 continue
13 }
14 kept = append(kept, bucket[i])
15 }
16 clear(bucket[len(kept):])
17 return kept
18 }