Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ErrCacheRecursiveCall = fmt.Errorf("recursive call detected")
Functions ¶
This section is empty.
Types ¶
type Cache ¶ added in v0.16.3
type Cache[K comparable, V any] interface { // Using the given key, either return an already cached value for that key or initialize // an entry in the cache with the given value for that key. GetOrInitializeValue(context.Context, K, V) (Result[K, V], error) // Using the given key, either return an already cached value for that key or initialize a // new value using the given function. If the function returns an error, the error is returned. GetOrInitialize( context.Context, K, func(context.Context) (V, error), ) (Result[K, V], error) // Using the given key, either return an already cached value for that key or initialize a // new value using the given function. If the function returns an error, the error is returned. // The function can also return an optional post call function that will be set on the returned // result so callers of this function can call it when post-processing of all results (cached or // not) is needed. GetOrInitializeWithPostCall( context.Context, K, func(context.Context) (V, PostCallFunc, error), ) (Result[K, V], error) }
func NewCache ¶ added in v0.16.3
func NewCache[K comparable, V any]() Cache[K, V]
type PostCallFunc ¶ added in v0.16.3
Click to show internal directories.
Click to hide internal directories.