package cache

import "github.com/open-policy-agent/opa/topdown/cache"

Package cache defines the inter-query cache interface that can cache data across queries

Index

Types

type Config

type Config struct {
	InterQueryBuiltinCache InterQueryBuiltinCacheConfig `json:"inter_query_builtin_cache"`
}

Config represents the configuration of the inter-query cache.

func ParseCachingConfig

func ParseCachingConfig(raw []byte) (*Config, error)

ParseCachingConfig returns the config for the inter-query cache.

type InterQueryBuiltinCacheConfig

type InterQueryBuiltinCacheConfig struct {
	MaxSizeBytes *int64 `json:"max_size_bytes,omitempty"`
}

InterQueryBuiltinCacheConfig represents the configuration of the inter-query cache that built-in functions can utilize.

type InterQueryCache

type InterQueryCache interface {
	Get(key ast.Value) (value InterQueryCacheValue, found bool)
	Insert(key ast.Value, value InterQueryCacheValue) int
	Delete(key ast.Value)
	UpdateConfig(config *Config)
}

InterQueryCache defines the interface for the inter-query cache.

func NewInterQueryCache

func NewInterQueryCache(config *Config) InterQueryCache

NewInterQueryCache returns a new inter-query cache.

type InterQueryCacheValue

type InterQueryCacheValue interface {
	SizeInBytes() int64
}

InterQueryCacheValue defines the interface for the data that the inter-query cache holds.

Source Files

cache.go

Version
v0.50.2
Published
Mar 21, 2023
Platform
js/wasm
Imports
4 packages
Last checked
17 minutes ago

Tools for package owners.