| 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 | } |