util/cache: fix missing interface methods (#11275)

Updates #cleanup


Change-Id: Ib3a33a7609530ef8c9f3f58fc607a61e8655c4b5

Signed-off-by: Andrew Dunham <andrew@du.nham.ca>
This commit is contained in:
Andrew Dunham 2024-02-27 23:03:49 -05:00 committed by GitHub
parent 23e9447871
commit a20e46a80f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 8 additions and 1 deletions

7
util/cache/none.go vendored
View File

@ -8,6 +8,8 @@
// It is safe for concurrent use if the underlying FillFunc is.
type None[K comparable, V any] struct{}
var _ Cache[int, int] = None[int, int]{}
// Get always calls the provided FillFunc and returns what it does.
func (c None[K, V]) Get(_ K, f FillFunc[V]) (V, error) {
v, _, e := f()
@ -15,4 +17,7 @@ func (c None[K, V]) Get(_ K, f FillFunc[V]) (V, error) {
}
// Forget implements Cache.
func (c None[K, V]) Forget() {}
func (None[K, V]) Forget(K) {}
// Empty implements Cache.
func (None[K, V]) Empty() {}

View File

@ -25,6 +25,8 @@ type Single[K comparable, V any] struct {
ServeExpired bool
}
var _ Cache[int, int] = (*Single[int, int])(nil)
// Get will return the cached value, if any, or fill the cache by calling f and
// return the corresponding value. If f returns an error and c.ServeExpired is
// true, then a previous expired value can be returned with no error.