- )
-
- // ResourceGroupKVInterceptor is used as quota limit controller for resource group using kv store.
- type ResourceGroupKVInterceptor interface {
- // OnRequestWait is used to check whether resource group has enough tokens. It maybe needs to wait some time.
- OnRequestWait(ctx context.Context, resourceGroupName string, info RequestInfo) (*rmpb.Consumption, *rmpb.Consumption, error)
- // OnResponse is used to consume tokens after receiving response
- OnResponse(resourceGroupName string, req RequestInfo, resp ResponseInfo) (*rmpb.Consumption, error)
- }
-
- // ResourceGroupProvider provides some api to interact with resource manager server。
- type ResourceGroupProvider interface {
- ListResourceGroups(ctx context.Context) ([]*rmpb.ResourceGroup, error)
- GetResourceGroup(ctx context.Context, resourceGroupName string) (*rmpb.ResourceGroup, error)
- AddResourceGroup(ctx context.Context, metaGroup *rmpb.ResourceGroup) (string, error)
- ModifyResourceGroup(ctx context.Context, metaGroup *rmpb.ResourceGroup) (string, error)
- DeleteResourceGroup(ctx context.Context, resourceGroupName string) (string, error)
- AcquireTokenBuckets(ctx context.Context, request *rmpb.TokenBucketsRequest) ([]*rmpb.TokenBucketResponse, error)
- LoadGlobalConfig(ctx context.Context, names []string, configPath string) ([]pd.GlobalConfigItem, int64, error)
- }
-