mirror of
				https://github.com/tailscale/tailscale.git
				synced 2025-11-04 02:01:14 +01:00 
			
		
		
		
	This package allows caching arbitrary key/value pairs in-memory, along with an interface implemented by the cache types. Extracted from #7493 Signed-off-by: Andrew Dunham <andrew@du.nham.ca> Change-Id: Ic8ca820927c456721cf324a0c8f3882a57752cc9
		
			
				
	
	
		
			19 lines
		
	
	
		
			491 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			19 lines
		
	
	
		
			491 B
		
	
	
	
		
			Go
		
	
	
	
	
	
// Copyright (c) Tailscale Inc & AUTHORS
 | 
						|
// SPDX-License-Identifier: BSD-3-Clause
 | 
						|
 | 
						|
package cache
 | 
						|
 | 
						|
// None provides no caching and always calls the provided FillFunc.
 | 
						|
//
 | 
						|
// It is safe for concurrent use if the underlying FillFunc is.
 | 
						|
type None[K comparable, V any] struct{}
 | 
						|
 | 
						|
// 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()
 | 
						|
	return v, e
 | 
						|
}
 | 
						|
 | 
						|
// Forget implements Cache.
 | 
						|
func (c None[K, V]) Forget() {}
 |