kubernetes: k8s.io/kubernetes/pkg/scheduler/internal/heap Index | Files

package heap

import "k8s.io/kubernetes/pkg/scheduler/internal/heap"


Package Files


type Heap Uses

type Heap struct {
    // contains filtered or unexported fields

Heap is a producer/consumer queue that implements a heap data structure. It can be used to implement priority queues and similar data structures.

func New Uses

func New(keyFn KeyFunc, lessFn lessFunc) *Heap

New returns a Heap which can be used to queue up items to process.

func NewWithRecorder Uses

func NewWithRecorder(keyFn KeyFunc, lessFn lessFunc, metricRecorder metrics.MetricRecorder) *Heap

NewWithRecorder wraps an optional metricRecorder to compose a Heap object.

func (*Heap) Add Uses

func (h *Heap) Add(obj interface{}) error

Add inserts an item, and puts it in the queue. The item is updated if it already exists.

func (*Heap) AddIfNotPresent Uses

func (h *Heap) AddIfNotPresent(obj interface{}) error

AddIfNotPresent inserts an item, and puts it in the queue. If an item with the key is present in the map, no changes is made to the item.

func (*Heap) Delete Uses

func (h *Heap) Delete(obj interface{}) error

Delete removes an item.

func (*Heap) Get Uses

func (h *Heap) Get(obj interface{}) (interface{}, bool, error)

Get returns the requested item, or sets exists=false.

func (*Heap) GetByKey Uses

func (h *Heap) GetByKey(key string) (interface{}, bool, error)

GetByKey returns the requested item, or sets exists=false.

func (*Heap) Len Uses

func (h *Heap) Len() int

Len returns the number of items in the heap.

func (*Heap) List Uses

func (h *Heap) List() []interface{}

List returns a list of all the items.

func (*Heap) Peek Uses

func (h *Heap) Peek() interface{}

Peek returns the head of the heap without removing it.

func (*Heap) Pop Uses

func (h *Heap) Pop() (interface{}, error)

Pop returns the head of the heap and removes it.

func (*Heap) Update Uses

func (h *Heap) Update(obj interface{}) error

Update is the same as Add in this implementation. When the item does not exist, it is added.

type KeyFunc Uses

type KeyFunc func(obj interface{}) (string, error)

KeyFunc is a function type to get the key from an object.

Package heap imports 4 packages (graph) and is imported by 1 packages. Updated 2019-10-05. Refresh now. Tools for package owners.