Documentation ¶
Index ¶
- func NewResourceBaseMap(m map[string]int64) map[string]*ResourceBase
- func NewResourceGroupMap(m map[string]int64) map[string]*ResourceGroup
- type ResourceBase
- type ResourceGroup
- type ResourceHandle
- type ResourceManager
- func (rm *ResourceManager) Acquire(name string, ctx context.Context, n int64) error
- func (rm *ResourceManager) GetCount(name string) int64
- func (rm *ResourceManager) GetHeld(name string) int64
- func (rm *ResourceManager) Release(name string, n int64)
- func (rm *ResourceManager) ReleaseHandle(id uuid.UUID)
- func (rm *ResourceManager) TryAcquire(name string, n int64) bool
- func (rm *ResourceManager) TryAcquireRequest(request *ResourceRequest) (uuid.UUID, error)
- func (r *ResourceManager) UnmarshalJSON(data []byte) error
- func (r *ResourceManager) UnmarshalYAML(node *yaml.Node) error
- type ResourceRequest
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewResourceBaseMap ¶
func NewResourceBaseMap(m map[string]int64) map[string]*ResourceBase
func NewResourceGroupMap ¶
func NewResourceGroupMap(m map[string]int64) map[string]*ResourceGroup
Types ¶
type ResourceBase ¶
type ResourceGroup ¶
type ResourceGroup struct { ResourceBase Held int64 `json:"held"` // contains filtered or unexported fields }
func NewResourceGroup ¶
func NewResourceGroup(name string, count int64) *ResourceGroup
func (*ResourceGroup) GetCount ¶
func (r *ResourceGroup) GetCount() int64
func (*ResourceGroup) GetHeld ¶
func (r *ResourceGroup) GetHeld() int64
func (*ResourceGroup) Release ¶
func (r *ResourceGroup) Release(n int64)
func (*ResourceGroup) TryAcquire ¶
func (r *ResourceGroup) TryAcquire(n int64) bool
type ResourceHandle ¶
type ResourceHandle struct { Request *ResourceRequest `json:"request"` Created time.Time `json:"created"` // contains filtered or unexported fields }
type ResourceManager ¶
type ResourceManager struct { Groups map[string]*ResourceGroup `json:"groups"` Active map[uuid.UUID]*ResourceHandle `json:"active"` }
func NewResourceManager ¶
func NewResourceManager(m map[string]int64) *ResourceManager
func (*ResourceManager) GetCount ¶
func (rm *ResourceManager) GetCount(name string) int64
func (*ResourceManager) GetHeld ¶
func (rm *ResourceManager) GetHeld(name string) int64
func (*ResourceManager) Release ¶
func (rm *ResourceManager) Release(name string, n int64)
func (*ResourceManager) ReleaseHandle ¶
func (rm *ResourceManager) ReleaseHandle(id uuid.UUID)
func (*ResourceManager) TryAcquire ¶
func (rm *ResourceManager) TryAcquire(name string, n int64) bool
func (*ResourceManager) TryAcquireRequest ¶
func (rm *ResourceManager) TryAcquireRequest(request *ResourceRequest) (uuid.UUID, error)
func (*ResourceManager) UnmarshalJSON ¶
func (r *ResourceManager) UnmarshalJSON(data []byte) error
func (*ResourceManager) UnmarshalYAML ¶
func (r *ResourceManager) UnmarshalYAML(node *yaml.Node) error
type ResourceRequest ¶
type ResourceRequest struct {
Resources map[string]*ResourceBase `json:"resources"`
}
func (*ResourceRequest) UnmarshalJSON ¶
func (r *ResourceRequest) UnmarshalJSON(data []byte) error
func (*ResourceRequest) UnmarshalYAML ¶
func (r *ResourceRequest) UnmarshalYAML(node *yaml.Node) error
Click to show internal directories.
Click to hide internal directories.