Documentation ¶
Index ¶
- Variables
- func CacheModule() fx.Option
- func EngineModule() fx.Option
- func Module() fx.Option
- func NewCache(dc *distcache.DistCache, lc fx.Lifecycle) (iface.Cache, error)
- func NewEngine(agentInfo *agentinfo.AgentInfo) iface.Engine
- func ProvideEngine(cache iface.Cache, agentInfo *agentinfo.AgentInfo) iface.Engine
- type Cache
- type Engine
- func (e *Engine) GetAgentInfo() *agentinfo.AgentInfo
- func (e *Engine) GetFluxMeter(fluxMeterName string) iface.FluxMeter
- func (e *Engine) GetRateLimiter(limiterID iface.LimiterID) iface.RateLimiter
- func (e *Engine) GetSampler(limiterID iface.LimiterID) iface.Limiter
- func (e *Engine) GetScheduler(limiterID iface.LimiterID) iface.Scheduler
- func (e *Engine) ProcessRequest(ctx context.Context, requestContext iface.RequestContext) (response *flowcontrolv1.CheckResponse)
- func (e *Engine) RegisterCache(cache iface.Cache)
- func (e *Engine) RegisterFluxMeter(fm iface.FluxMeter) error
- func (e *Engine) RegisterLabelPreview(lp iface.LabelPreview) error
- func (e *Engine) RegisterRateLimiter(rl iface.RateLimiter) error
- func (e *Engine) RegisterSampler(l iface.Limiter) error
- func (e *Engine) RegisterScheduler(cl iface.Scheduler) error
- func (e *Engine) UnregisterFluxMeter(fm iface.FluxMeter) error
- func (e *Engine) UnregisterLabelPreview(lp iface.LabelPreview) error
- func (e *Engine) UnregisterRateLimiter(rl iface.RateLimiter) error
- func (e *Engine) UnregisterSampler(rl iface.Limiter) error
- func (e *Engine) UnregisterScheduler(cl iface.Scheduler) error
Constants ¶
This section is empty.
Variables ¶
var ( // ErrCacheKeyEmpty is the error returned when the cache key is empty. ErrCacheKeyEmpty = errors.New("cache key cannot be empty") // ErrCacheControlPointEmpty is the error returned when the cache control point is empty. ErrCacheControlPointEmpty = errors.New("cache control_point cannot be empty") // ErrCacheNotReady is the error returned when the cache is not ready to be used. ErrCacheNotReady = errors.New("cache is not ready") // ErrCacheKeyNotFound is the error returned when the key is not found in the cache. This is copied from the internal olric package. ErrCacheKeyNotFound = errors.New("key not found") )
var CacheFxTag = config.NameTag("cache")
CacheFxTag is the Fx tag for cache's dmap.
Functions ¶
func CacheModule ¶ added in v2.24.0
CacheModule returns the fx options for the cache.
func EngineModule ¶ added in v2.24.0
EngineModule returns the fx options for the engine.
Types ¶
type Cache ¶ added in v2.24.0
type Cache struct {
// contains filtered or unexported fields
}
Cache for saving responses at flow end.
type Engine ¶
type Engine struct {
// contains filtered or unexported fields
}
Engine APIs to (1) Get schedulers given a service, control point and set of labels. (2) Get flux meter histogram given a metric id.
func (*Engine) GetAgentInfo ¶
GetAgentInfo returns the agent info.
func (*Engine) GetFluxMeter ¶
GetFluxMeter Lookup function for getting flux meter.
func (*Engine) GetRateLimiter ¶
func (e *Engine) GetRateLimiter(limiterID iface.LimiterID) iface.RateLimiter
GetRateLimiter Lookup function for getting rate limiter.
func (*Engine) GetSampler ¶ added in v2.5.0
GetSampler Lookup function for getting sampler.
func (*Engine) GetScheduler ¶ added in v2.2.0
GetScheduler Lookup function for getting scheduler.
func (*Engine) ProcessRequest ¶
func (e *Engine) ProcessRequest(ctx context.Context, requestContext iface.RequestContext) (response *flowcontrolv1.CheckResponse)
ProcessRequest .
func (*Engine) RegisterCache ¶ added in v2.24.0
RegisterCache .
func (*Engine) RegisterFluxMeter ¶
RegisterFluxMeter adds fluxmeter to histogram map and multimatcher.
func (*Engine) RegisterLabelPreview ¶
func (e *Engine) RegisterLabelPreview(lp iface.LabelPreview) error
RegisterLabelPreview adds label preview to multimatcher.
func (*Engine) RegisterRateLimiter ¶
func (e *Engine) RegisterRateLimiter(rl iface.RateLimiter) error
RegisterRateLimiter adds limiter actuator to multimatcher.
func (*Engine) RegisterSampler ¶ added in v2.5.0
RegisterSampler adds limiter actuator to multimatcher.
func (*Engine) RegisterScheduler ¶ added in v2.2.0
RegisterScheduler adds scheduler to multimatcher.
func (*Engine) UnregisterFluxMeter ¶
UnregisterFluxMeter removes fluxmeter from histogram map and multimatcher.
func (*Engine) UnregisterLabelPreview ¶
func (e *Engine) UnregisterLabelPreview(lp iface.LabelPreview) error
UnregisterLabelPreview removes label preview from multimatcher.
func (*Engine) UnregisterRateLimiter ¶
func (e *Engine) UnregisterRateLimiter(rl iface.RateLimiter) error
UnregisterRateLimiter removes limiter actuator from multimatcher.
func (*Engine) UnregisterSampler ¶ added in v2.5.0
UnregisterSampler removes limiter actuator from multimatcher.
Directories ¶
Path | Synopsis |
---|---|
resources
|
|
Companion package for github.com/fluxninja/aperture/api/gen/proto/go/aperture/policy/language/v1 containing conversions of proto-generated struct into golang ones and other helpers.
|
Companion package for github.com/fluxninja/aperture/api/gen/proto/go/aperture/policy/language/v1 containing conversions of proto-generated struct into golang ones and other helpers. |
preview/config
+kubebuilder:validation:Optional
|
+kubebuilder:validation:Optional |