Documentation
¶
Index ¶
- func PolicyModule() fx.Option
- func ProvideEngineAPI() iface.Engine
- type Engine
- func (e *Engine) GetFluxMeterHist(fluxMeterName, statusCode string, decisionType flowcontrolv1.DecisionType) prometheus.Observer
- func (e *Engine) ProcessRequest(controlPoint selectors.ControlPoint, serviceIDs []services.ServiceID, ...) (response *flowcontrolv1.CheckResponse)
- func (e *Engine) RegisterConcurrencyLimiter(cl iface.Limiter) error
- func (e *Engine) RegisterFluxMeter(fm iface.FluxMeter) error
- func (e *Engine) RegisterRateLimiter(rl iface.RateLimiter) error
- func (e *Engine) UnregisterConcurrencyLimiter(cl iface.Limiter) error
- func (e *Engine) UnregisterFluxMeter(fm iface.FluxMeter) error
- func (e *Engine) UnregisterRateLimiter(rl iface.RateLimiter) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func PolicyModule ¶
PolicyModule returns the fx options for dataplane side pieces of policy.
Types ¶
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) GetFluxMeterHist ¶
func (e *Engine) GetFluxMeterHist(fluxMeterName, statusCode string, decisionType flowcontrolv1.DecisionType) prometheus.Observer
GetFluxMeterHist Lookup function for getting histogram.
func (*Engine) ProcessRequest ¶
func (e *Engine) ProcessRequest(controlPoint selectors.ControlPoint, serviceIDs []services.ServiceID, labels selectors.Labels) (response *flowcontrolv1.CheckResponse)
ProcessRequest .
func (*Engine) RegisterConcurrencyLimiter ¶
RegisterConcurrencyLimiter adds concurrency limiter to multimatcher.
func (*Engine) RegisterFluxMeter ¶
RegisterFluxMeter adds fluxmeter to histogram map and multimatcher.
func (*Engine) RegisterRateLimiter ¶
func (e *Engine) RegisterRateLimiter(rl iface.RateLimiter) error
RegisterRateLimiter adds limiter actuator to multimatcher.
func (*Engine) UnregisterConcurrencyLimiter ¶
UnregisterConcurrencyLimiter removes concurrency limiter from multimatcher.
func (*Engine) UnregisterFluxMeter ¶
UnregisterFluxMeter removes fluxmeter from histogram map and multimatcher.
func (*Engine) UnregisterRateLimiter ¶
func (e *Engine) UnregisterRateLimiter(rl iface.RateLimiter) error
UnregisterRateLimiter removes limiter actuator from multimatcher.