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 ¶
GetPodFullName returns a name that uniquely identifies a pod.
func GetPodPriority ¶
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 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
NewHeap returns a Heap which can be used to queue up items to process.
func (*Heap) Add ¶ added in v1.14.0
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
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) 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 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.
func (*SortableList) Len ¶
func (l *SortableList) Len() int
func (*SortableList) Less ¶
func (l *SortableList) Less(i, j int) bool
func (*SortableList) Sort ¶
func (l *SortableList) Sort()
Sort sorts the items in the list using the given CompFunc. Item1 is placed before Item2 when CompFunc(Item1, Item2) returns true.
func (*SortableList) Swap ¶
func (l *SortableList) Swap(i, j int)