refreshcache0

package
v0.0.0-...-9e88244 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 17, 2025 License: MIT Imports: 4 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

View Source
var OldValKey = oldVal{}

Functions

This section is empty.

Types

type ClearFunc

type ClearFunc[T any] func(ctx context.Context) error

type RefreshCache

type RefreshCache[T any] struct {
	*RefreshData[T]
	RefreshFunc atomic.Pointer[RefreshFunc[T]]
	ClearFunc   atomic.Pointer[ClearFunc[T]]
}

func NewRefreshCache

func NewRefreshCache[T any](refreshFunc RefreshFunc[T], maxAge time.Duration, opts ...RefreshDataOption[T]) *RefreshCache[T]

func (*RefreshCache[T]) Clear

func (r *RefreshCache[T]) Clear(ctx context.Context) error

func (*RefreshCache[T]) Data

func (r *RefreshCache[T]) Data() *RefreshData[T]

func (*RefreshCache[T]) Get

func (r *RefreshCache[T]) Get(ctx context.Context) (data T, err error)

func (*RefreshCache[T]) GetClearFunc

func (r *RefreshCache[T]) GetClearFunc() ClearFunc[T]

func (*RefreshCache[T]) GetRefreshFunc

func (r *RefreshCache[T]) GetRefreshFunc() RefreshFunc[T]

func (*RefreshCache[T]) Refresh

func (r *RefreshCache[T]) Refresh(ctx context.Context) (data T, err error)

func (*RefreshCache[T]) SetClearFunc

func (r *RefreshCache[T]) SetClearFunc(clearFunc ClearFunc[T])

func (*RefreshCache[T]) SetRefreshFunc

func (r *RefreshCache[T]) SetRefreshFunc(refreshFunc RefreshFunc[T])

type RefreshData

type RefreshData[T any] struct {
	// contains filtered or unexported fields
}

func NewRefreshData

func NewRefreshData[T any](maxAge time.Duration, opts ...RefreshDataOption[T]) *RefreshData[T]

func (*RefreshData[T]) Clear

func (r *RefreshData[T]) Clear(ctx context.Context, clearFunc ClearFunc[T]) error

func (*RefreshData[T]) Get

func (r *RefreshData[T]) Get(ctx context.Context, refreshFunc RefreshFunc[T]) (data T, err error)

func (*RefreshData[T]) Last

func (r *RefreshData[T]) Last() int64

func (*RefreshData[T]) LastErr

func (r *RefreshData[T]) LastErr() int64

func (*RefreshData[T]) LastErrTime

func (r *RefreshData[T]) LastErrTime() time.Time

func (*RefreshData[T]) LastTime

func (r *RefreshData[T]) LastTime() time.Time

func (*RefreshData[T]) MaxAge

func (r *RefreshData[T]) MaxAge() int64

func (*RefreshData[T]) MaxErrAge

func (r *RefreshData[T]) MaxErrAge() int64

func (*RefreshData[T]) Raw

func (r *RefreshData[T]) Raw() (data T, err error)

func (*RefreshData[T]) Refresh

func (r *RefreshData[T]) Refresh(ctx context.Context, refreshFunc RefreshFunc[T]) (data T, err error)

type RefreshDataOption

type RefreshDataOption[T any] func(*RefreshData[T])

func WithErrAge

func WithErrAge[T any](age time.Duration) RefreshDataOption[T]

type RefreshFunc

type RefreshFunc[T any] func(ctx context.Context) (T, error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL