combined

package
v1.48.0 Latest Latest
Warning

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

Go to latest
Published: Dec 9, 2025 License: Apache-2.0 Imports: 17 Imported by: 0

Documentation

Overview

Package combined implements a dispatcher that combines caching, redispatching and optional cluster dispatching.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewDispatcher

func NewDispatcher(options ...Option) (dispatch.Dispatcher, error)

NewDispatcher initializes a Dispatcher that caches and redispatches optionally to the provided upstream.

Types

type Option

type Option func(*optionState)

Option is a function-style option for configuring a combined Dispatcher.

func Cache added in v1.13.0

Cache sets the cache for the dispatcher.

func CaveatTypeSet added in v1.43.0

func CaveatTypeSet(caveatTypeSet *caveattypes.TypeSet) Option

CaveatTypeSet sets the type set to use for caveats. If not specified, the default type set is used.

func ConcurrencyLimits added in v1.16.0

func ConcurrencyLimits(limits graph.ConcurrencyLimits) Option

ConcurrencyLimits sets the max number of goroutines per operation

func DispatchChunkSize added in v1.35.0

func DispatchChunkSize(dispatchChunkSize uint16) Option

DispatchChunkSize sets the maximum number of items to be dispatched in a single dispatch request

func GrpcDialOpts

func GrpcDialOpts(opts ...grpc.DialOption) Option

GrpcDialOpts sets the default DialOptions used for gRPC clients connecting to the optional cluster dispatching.

func GrpcPresharedKey

func GrpcPresharedKey(key string) Option

GrpcPresharedKey sets the preshared key used to authenticate for optional cluster dispatching.

func MetricsEnabled added in v1.17.0

func MetricsEnabled(enabled bool) Option

MetricsEnabled enables issuing prometheus metrics

func PrometheusSubsystem added in v1.5.0

func PrometheusSubsystem(name string) Option

PrometheusSubsystem sets the subsystem name for the prometheus metrics

func RelationshipChunkCache added in v1.46.0

func RelationshipChunkCache(cache cache.Cache[cache.StringKey, any]) Option

RelationshipChunkCache sets the cache for LR3 relationship chunks.

func RelationshipChunkCacheConfig added in v1.46.0

func RelationshipChunkCacheConfig(config *cache.Config) Option

RelationshipChunkCacheConfig sets the cache config for LR3 relationship chunks.

func RemoteDispatchTimeout added in v1.16.2

func RemoteDispatchTimeout(remoteDispatchTimeout time.Duration) Option

RemoteDispatchTimeout sets the maximum timeout for a remote dispatch. Defaults to 60s (as defined in the remote dispatcher).

func SecondaryMaximumPrimaryHedgingDelays added in v1.44.3

func SecondaryMaximumPrimaryHedgingDelays(delays map[string]string) Option

SecondaryMaximumPrimaryHedgingDelays sets a named map from dispatch type to the maximum primary hedging delay to use for that dispatch type. This is used to determine how long to delay a primary dispatch when invoking the secondary dispatch. The default is 5ms.

func SecondaryUpstreamAddrs added in v1.27.0

func SecondaryUpstreamAddrs(addrs map[string]string) Option

SecondaryUpstreamAddrs sets a named map of upstream addresses for secondary dispatching.

func SecondaryUpstreamExprs added in v1.27.0

func SecondaryUpstreamExprs(addrs map[string]string) Option

SecondaryUpstreamExprs sets a named map from dispatch type to the associated CEL expression to run to determine which secondary dispatch addresses (if any) to use for that incoming request.

func StartingPrimaryHedgingDelay added in v1.42.0

func StartingPrimaryHedgingDelay(startingPrimaryHedgingDelay time.Duration) Option

StartingPrimaryHedgingDelay sets the starting delay for primary hedging for a remote dispatch. Defaults to 0, which uses the default defined in the remote dispatcher.

func UpstreamAddr

func UpstreamAddr(addr string) Option

UpstreamAddr sets the optional cluster dispatching upstream address.

func UpstreamCAPath

func UpstreamCAPath(path string) Option

UpstreamCAPath sets the optional cluster dispatching upstream certificate authority.

Jump to

Keyboard shortcuts

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