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 ¶
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 (*Heap) Add ¶
Add inserts an item, and puts it in the queue. The item is updated if it already exists.
func (*Heap) AddIfNotPresent ¶
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) Peek ¶
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 ¶
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 ¶
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 ¶
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 ¶
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)