Documentation
¶
Overview ¶
Package server provides a set of struct definitions for the resource group, can be imported.
Index ¶
- Variables
- func NewService(svr *server.Server) registry.RegistrableService
- type GroupTokenBucket
- type Manager
- func (m *Manager) AddResourceGroup(group *ResourceGroup) error
- func (m *Manager) DeleteResourceGroup(name string) error
- func (m *Manager) GetResourceGroup(name string) *ResourceGroup
- func (m *Manager) GetResourceGroupList() []*ResourceGroup
- func (m *Manager) Init()
- func (m *Manager) ModifyResourceGroup(group *rmpb.ResourceGroup) error
- type NativeResourceSettings
- type RequestUnitSettings
- type ResourceGroup
- type Service
- func (s *Service) AcquireTokenBuckets(stream rmpb.ResourceManager_AcquireTokenBucketsServer) error
- func (s *Service) AddResourceGroup(ctx context.Context, req *rmpb.PutResourceGroupRequest) (*rmpb.PutResourceGroupResponse, error)
- func (s *Service) DeleteResourceGroup(ctx context.Context, req *rmpb.DeleteResourceGroupRequest) (*rmpb.DeleteResourceGroupResponse, error)
- func (s *Service) GetManager() *Manager
- func (s *Service) GetResourceGroup(ctx context.Context, req *rmpb.GetResourceGroupRequest) (*rmpb.GetResourceGroupResponse, error)
- func (s *Service) ListResourceGroups(ctx context.Context, req *rmpb.ListResourceGroupsRequest) (*rmpb.ListResourceGroupsResponse, error)
- func (s *Service) ModifyResourceGroup(ctx context.Context, req *rmpb.PutResourceGroupRequest) (*rmpb.PutResourceGroupResponse, error)
- func (s *Service) RegisterGRPCService(g *grpc.Server)
- func (s *Service) RegisterRESTHandler(userDefineHandlers map[string]http.Handler)
Constants ¶
This section is empty.
Variables ¶
var SetUpRestHandler = func(srv *Service) (http.Handler, server.APIServiceGroup) { return dummyRestService{}, server.APIServiceGroup{} }
SetUpRestHandler is a hook to sets up the REST service.
Functions ¶
func NewService ¶
func NewService(svr *server.Server) registry.RegistrableService
NewService creates a new resource manager service.
Types ¶
type GroupTokenBucket ¶
type GroupTokenBucket struct {
*rmpb.TokenBucket `json:"token_bucket,omitempty"`
Consumption *rmpb.TokenBucketsRequest `json:"consumption,omitempty"`
LastUpdate *time.Time `json:"last_update,omitempty"`
Initialized bool `json:"initialized"`
}
GroupTokenBucket is a token bucket for a resource group.
func (*GroupTokenBucket) Request ¶
func (t *GroupTokenBucket) Request( neededTokens float64, targetPeriodMs uint64, ) *rmpb.TokenBucket
Request requests tokens from the token bucket.
func (*GroupTokenBucket) Update ¶
func (t *GroupTokenBucket) Update(now time.Time)
Update updates the token bucket.
type Manager ¶
Manager is the manager of resource group.
func (*Manager) AddResourceGroup ¶
func (m *Manager) AddResourceGroup(group *ResourceGroup) error
AddResourceGroup puts a resource group.
func (*Manager) DeleteResourceGroup ¶
DeleteResourceGroup deletes a resource group.
func (*Manager) GetResourceGroup ¶
func (m *Manager) GetResourceGroup(name string) *ResourceGroup
GetResourceGroup returns a copy of a resource group.
func (*Manager) GetResourceGroupList ¶
func (m *Manager) GetResourceGroupList() []*ResourceGroup
GetResourceGroupList returns copies of resource group list.
func (*Manager) ModifyResourceGroup ¶
func (m *Manager) ModifyResourceGroup(group *rmpb.ResourceGroup) error
ModifyResourceGroup modifies an existing resource group.
type NativeResourceSettings ¶
type NativeResourceSettings struct {
CPU GroupTokenBucket `json:"cpu,omitempty"`
IOReadBandwidth GroupTokenBucket `json:"io_read_bandwidth,omitempty"`
IOWriteBandwidth GroupTokenBucket `json:"io_write_bandwidth,omitempty"`
}
NativeResourceSettings is the definition of the native resource settings.
type RequestUnitSettings ¶
type RequestUnitSettings struct {
RRU GroupTokenBucket `json:"rru,omitempty"`
WRU GroupTokenBucket `json:"wru,omitempty"`
}
RequestUnitSettings is the definition of the RU settings.
type ResourceGroup ¶
type ResourceGroup struct {
sync.RWMutex
Name string `json:"name"`
Mode rmpb.GroupMode `json:"mode"`
// RU settings
RUSettings *RequestUnitSettings `json:"r_u_settings,omitempty"`
// Native resource settings
ResourceSettings *NativeResourceSettings `json:"resource_settings,omitempty"`
}
ResourceGroup is the definition of a resource group, for REST API.
func FromProtoResourceGroup ¶
func FromProtoResourceGroup(group *rmpb.ResourceGroup) *ResourceGroup
FromProtoResourceGroup converts a rmpb.ResourceGroup to a ResourceGroup.
func (*ResourceGroup) CheckAndInit ¶
func (rg *ResourceGroup) CheckAndInit() error
CheckAndInit checks the validity of the resource group and initializes the default values if not setting. Only used to initialize the resource group when creating.
func (*ResourceGroup) Copy ¶
func (rg *ResourceGroup) Copy() *ResourceGroup
Copy copies the resource group.
func (*ResourceGroup) IntoProtoResourceGroup ¶
func (rg *ResourceGroup) IntoProtoResourceGroup() *rmpb.ResourceGroup
IntoProtoResourceGroup converts a ResourceGroup to a rmpb.ResourceGroup.
func (*ResourceGroup) PatchSettings ¶
func (rg *ResourceGroup) PatchSettings(metaGroup *rmpb.ResourceGroup) error
PatchSettings patches the resource group settings. Only used to patch the resource group when updating. Note: the tokens is the delta value to patch.
func (*ResourceGroup) String ¶
func (rg *ResourceGroup) String() string
type Service ¶
type Service struct {
// contains filtered or unexported fields
}
Service is the gRPC service for resource manager.
func (*Service) AcquireTokenBuckets ¶
func (s *Service) AcquireTokenBuckets(stream rmpb.ResourceManager_AcquireTokenBucketsServer) error
AcquireTokenBuckets implements ResourceManagerServer.AcquireTokenBuckets.
func (*Service) AddResourceGroup ¶
func (s *Service) AddResourceGroup(ctx context.Context, req *rmpb.PutResourceGroupRequest) (*rmpb.PutResourceGroupResponse, error)
AddResourceGroup implements ResourceManagerServer.AddResourceGroup.
func (*Service) DeleteResourceGroup ¶
func (s *Service) DeleteResourceGroup(ctx context.Context, req *rmpb.DeleteResourceGroupRequest) (*rmpb.DeleteResourceGroupResponse, error)
DeleteResourceGroup implements ResourceManagerServer.DeleteResourceGroup.
func (*Service) GetManager ¶
GetManager returns the resource manager.
func (*Service) GetResourceGroup ¶
func (s *Service) GetResourceGroup(ctx context.Context, req *rmpb.GetResourceGroupRequest) (*rmpb.GetResourceGroupResponse, error)
GetResourceGroup implements ResourceManagerServer.GetResourceGroup.
func (*Service) ListResourceGroups ¶
func (s *Service) ListResourceGroups(ctx context.Context, req *rmpb.ListResourceGroupsRequest) (*rmpb.ListResourceGroupsResponse, error)
ListResourceGroups implements ResourceManagerServer.ListResourceGroups.
func (*Service) ModifyResourceGroup ¶
func (s *Service) ModifyResourceGroup(ctx context.Context, req *rmpb.PutResourceGroupRequest) (*rmpb.PutResourceGroupResponse, error)
ModifyResourceGroup implements ResourceManagerServer.ModifyResourceGroup.
func (*Service) RegisterGRPCService ¶
RegisterGRPCService registers the service to gRPC server.