Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Loader ¶
Loader loads a fresh value when the cache is stale. Prev is the last successfully cached value, read immediately before the load runs.
type ReuseEvaluator ¶
ReuseEvaluator reports whether a cached value may still be used.
type SingleFlightCache ¶
type SingleFlightCache[T any] struct { // contains filtered or unexported fields }
func NewSingleFlightCache ¶
func NewSingleFlightCache[T any](metricsPrefix string) *SingleFlightCache[T]
func (*SingleFlightCache[T]) Collectors ¶
func (c *SingleFlightCache[T]) Collectors() []prometheus.Collector
func (*SingleFlightCache[T]) PeekOrLoad ¶
func (c *SingleFlightCache[T]) PeekOrLoad(ctx context.Context, canReuse ReuseEvaluator[T], loader Loader[T]) (T, error)
PeekOrLoad returns the cached value when canReuse allows it. Otherwise it loads a new value via loader, passing the current cache entry as prev.
func (*SingleFlightCache[T]) Set ¶
func (c *SingleFlightCache[T]) Set(value T)
Click to show internal directories.
Click to hide internal directories.