Documentation ¶
Overview ¶
Package combined implements a dispatcher that combines caching, redispatching and optional cluster dispatching.
Index ¶
- func NewDispatcher(options ...Option) (dispatch.Dispatcher, error)
- type Option
- func Cache(c cache.Cache[keys.DispatchCacheKey, any]) Option
- func ConcurrencyLimits(limits graph.ConcurrencyLimits) Option
- func DispatchChunkSize(dispatchChunkSize uint16) Option
- func GrpcDialOpts(opts ...grpc.DialOption) Option
- func GrpcPresharedKey(key string) Option
- func MetricsEnabled(enabled bool) Option
- func PrometheusSubsystem(name string) Option
- func RemoteDispatchTimeout(remoteDispatchTimeout time.Duration) Option
- func SecondaryUpstreamAddrs(addrs map[string]string) Option
- func SecondaryUpstreamExprs(addrs map[string]string) Option
- func UpstreamAddr(addr string) Option
- func UpstreamCAPath(path string) Option
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 ConcurrencyLimits ¶
func ConcurrencyLimits(limits graph.ConcurrencyLimits) Option
ConcurrencyLimits sets the max number of goroutines per operation
func DispatchChunkSize ¶ added in v0.0.3
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 ¶
GrpcPresharedKey sets the preshared key used to authenticate for optional cluster dispatching.
func MetricsEnabled ¶
MetricsEnabled enables issuing prometheus metrics
func PrometheusSubsystem ¶
PrometheusSubsystem sets the subsystem name for the prometheus metrics
func RemoteDispatchTimeout ¶
RemoteDispatchTimeout sets the maximum timeout for a remote dispatch. Defaults to 60s (as defined in the remote dispatcher).
func SecondaryUpstreamAddrs ¶
SecondaryUpstreamAddrs sets a named map of upstream addresses for secondary dispatching.
func SecondaryUpstreamExprs ¶
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 UpstreamAddr ¶
UpstreamAddr sets the optional cluster dispatching upstream address.
func UpstreamCAPath ¶
UpstreamCAPath sets the optional cluster dispatching upstream certificate authority.