Documentation
¶
Index ¶
- func GetContainerPorts(pods ...*v1.Pod) []*v1.ContainerPort
- func GetPodFullName(pod *v1.Pod) string
- func GetPodPriority(pod *v1.Pod) int32
- func HigherPriorityPod(pod1, pod2 interface{}) bool
- func PodPriorityEnabled() bool
- type Clock
- type Heap
- func (h *Heap) Add(obj interface{}) error
- func (h *Heap) AddIfNotPresent(obj interface{}) error
- func (h *Heap) Delete(obj interface{}) error
- func (h *Heap) Get(obj interface{}) (interface{}, bool, error)
- func (h *Heap) GetByKey(key string) (interface{}, bool, error)
- func (h *Heap) Len() int
- func (h *Heap) List() []interface{}
- func (h *Heap) Peek() interface{}
- func (h *Heap) Pop() (interface{}, error)
- func (h *Heap) Update(obj interface{}) error
- type KeyFunc
- type LessFunc
- type PodBackoff
- func (p *PodBackoff) BackoffPod(podID ktypes.NamespacedName) time.Duration
- func (p *PodBackoff) ClearPodBackoff(podID ktypes.NamespacedName) bool
- func (p *PodBackoff) Gc()
- func (p *PodBackoff) GetBackoffTime(podID ktypes.NamespacedName) (time.Time, bool)
- func (p *PodBackoff) MaxDuration() time.Duration
- func (p *PodBackoff) TryBackoffAndWait(podID ktypes.NamespacedName, stop <-chan struct{}) bool
- type RealClock
- type SortableList
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetContainerPorts ¶
func GetContainerPorts(pods ...*v1.Pod) []*v1.ContainerPort
GetContainerPorts returns the used host ports of Pods: if 'port' was used, a 'port:true' pair will be in the result; but it does not resolve port conflict.
func GetPodFullName ¶
func GetPodFullName(pod *v1.Pod) string
GetPodFullName returns a name that uniquely identifies a pod.
func GetPodPriority ¶
func GetPodPriority(pod *v1.Pod) int32
GetPodPriority return priority of the given pod.
func HigherPriorityPod ¶
func HigherPriorityPod(pod1, pod2 interface{}) bool
HigherPriorityPod return true when priority of the first pod is higher than the second one. It takes arguments of the type "interface{}" to be used with SortableList, but expects those arguments to be *v1.Pod.
func PodPriorityEnabled ¶
func PodPriorityEnabled() bool
PodPriorityEnabled indicates whether pod priority feature is enabled.
Types ¶
type Clock ¶ added in v1.11.8
type Clock interface {
Now() time.Time
}
Clock provides an interface for getting the current time
type Heap ¶ added in v1.14.0
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 NewHeap ¶ added in v1.14.0
func NewHeap(keyFn KeyFunc, lessFn LessFunc) *Heap
NewHeap returns a Heap which can be used to queue up items to process.
func (*Heap) Add ¶ added in v1.14.0
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 ¶ added in v1.14.0
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 ¶ added in v1.14.0
func (h *Heap) Delete(obj interface{}) error
Delete removes an item.
func (*Heap) Get ¶ added in v1.14.0
func (h *Heap) Get(obj interface{}) (interface{}, bool, error)
Get returns the requested item, or sets exists=false.
func (*Heap) GetByKey ¶ added in v1.14.0
func (h *Heap) GetByKey(key string) (interface{}, bool, error)
GetByKey returns the requested item, or sets exists=false.
func (*Heap) Len ¶ added in v1.14.0
func (h *Heap) Len() int
Len returns the number of items in the heap.
func (*Heap) List ¶ added in v1.14.0
func (h *Heap) List() []interface{}
List returns a list of all the items.
func (*Heap) Peek ¶ added in v1.14.0
func (h *Heap) Peek() interface{}
Peek returns the head of the heap without removing it.
type KeyFunc ¶ added in v1.14.0
type KeyFunc func(obj interface{}) (string, error)
KeyFunc is a function type to get the key from an object.
type LessFunc ¶
type LessFunc func(item1, item2 interface{}) bool
LessFunc is a function that receives two items and returns true if the first item should be placed before the second one when the list is sorted.
type PodBackoff ¶
type PodBackoff struct {
// contains filtered or unexported fields
}
PodBackoff is used to restart a pod with back-off delay.
func CreateDefaultPodBackoff ¶
func CreateDefaultPodBackoff() *PodBackoff
CreateDefaultPodBackoff creates a default pod back-off object.
func CreatePodBackoff ¶
func CreatePodBackoff(defaultDuration, maxDuration time.Duration) *PodBackoff
CreatePodBackoff creates a pod back-off object by default duration and max duration.
func CreatePodBackoffWithClock ¶
func CreatePodBackoffWithClock(defaultDuration, maxDuration time.Duration, clock clock) *PodBackoff
CreatePodBackoffWithClock creates a pod back-off object by default duration, max duration and clock.
func (*PodBackoff) BackoffPod ¶ added in v1.14.0
func (p *PodBackoff) BackoffPod(podID ktypes.NamespacedName) time.Duration
BackoffPod updates the backoff for a podId and returns the duration until backoff completion
func (*PodBackoff) ClearPodBackoff ¶ added in v1.14.0
func (p *PodBackoff) ClearPodBackoff(podID ktypes.NamespacedName) bool
ClearPodBackoff removes all tracking information for podID (clears expiry)
func (*PodBackoff) Gc ¶
func (p *PodBackoff) Gc()
Gc execute garbage collection on the pod back-off.
func (*PodBackoff) GetBackoffTime ¶ added in v1.14.0
func (p *PodBackoff) GetBackoffTime(podID ktypes.NamespacedName) (time.Time, bool)
GetBackoffTime returns the time that podID completes backoff
func (*PodBackoff) MaxDuration ¶
func (p *PodBackoff) MaxDuration() time.Duration
MaxDuration returns the max time duration of the back-off.
func (*PodBackoff) TryBackoffAndWait ¶ added in v1.14.0
func (p *PodBackoff) TryBackoffAndWait(podID ktypes.NamespacedName, stop <-chan struct{}) bool
TryBackoffAndWait tries to acquire the backoff lock
type SortableList ¶
type SortableList struct {
Items []interface{}
CompFunc LessFunc
}
SortableList is a list that implements sort.Interface.