summaryrefslogtreecommitdiff
path: root/vendor/k8s.io/client-go/util
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/k8s.io/client-go/util')
-rw-r--r--vendor/k8s.io/client-go/util/buffer/ring_growing.go72
-rw-r--r--vendor/k8s.io/client-go/util/retry/util.go79
2 files changed, 0 insertions, 151 deletions
diff --git a/vendor/k8s.io/client-go/util/buffer/ring_growing.go b/vendor/k8s.io/client-go/util/buffer/ring_growing.go
deleted file mode 100644
index 86965a513..000000000
--- a/vendor/k8s.io/client-go/util/buffer/ring_growing.go
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
-Copyright 2017 The Kubernetes Authors.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-package buffer
-
-// RingGrowing is a growing ring buffer.
-// Not thread safe.
-type RingGrowing struct {
- data []interface{}
- n int // Size of Data
- beg int // First available element
- readable int // Number of data items available
-}
-
-// NewRingGrowing constructs a new RingGrowing instance with provided parameters.
-func NewRingGrowing(initialSize int) *RingGrowing {
- return &RingGrowing{
- data: make([]interface{}, initialSize),
- n: initialSize,
- }
-}
-
-// ReadOne reads (consumes) first item from the buffer if it is available, otherwise returns false.
-func (r *RingGrowing) ReadOne() (data interface{}, ok bool) {
- if r.readable == 0 {
- return nil, false
- }
- r.readable--
- element := r.data[r.beg]
- r.data[r.beg] = nil // Remove reference to the object to help GC
- if r.beg == r.n-1 {
- // Was the last element
- r.beg = 0
- } else {
- r.beg++
- }
- return element, true
-}
-
-// WriteOne adds an item to the end of the buffer, growing it if it is full.
-func (r *RingGrowing) WriteOne(data interface{}) {
- if r.readable == r.n {
- // Time to grow
- newN := r.n * 2
- newData := make([]interface{}, newN)
- to := r.beg + r.readable
- if to <= r.n {
- copy(newData, r.data[r.beg:to])
- } else {
- copied := copy(newData, r.data[r.beg:])
- copy(newData[copied:], r.data[:(to%r.n)])
- }
- r.beg = 0
- r.data = newData
- r.n = newN
- }
- r.data[(r.readable+r.beg)%r.n] = data
- r.readable++
-}
diff --git a/vendor/k8s.io/client-go/util/retry/util.go b/vendor/k8s.io/client-go/util/retry/util.go
deleted file mode 100644
index 3ac0840ad..000000000
--- a/vendor/k8s.io/client-go/util/retry/util.go
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
-Copyright 2016 The Kubernetes Authors.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-package retry
-
-import (
- "time"
-
- "k8s.io/apimachinery/pkg/api/errors"
- "k8s.io/apimachinery/pkg/util/wait"
-)
-
-// DefaultRetry is the recommended retry for a conflict where multiple clients
-// are making changes to the same resource.
-var DefaultRetry = wait.Backoff{
- Steps: 5,
- Duration: 10 * time.Millisecond,
- Factor: 1.0,
- Jitter: 0.1,
-}
-
-// DefaultBackoff is the recommended backoff for a conflict where a client
-// may be attempting to make an unrelated modification to a resource under
-// active management by one or more controllers.
-var DefaultBackoff = wait.Backoff{
- Steps: 4,
- Duration: 10 * time.Millisecond,
- Factor: 5.0,
- Jitter: 0.1,
-}
-
-// RetryConflict executes the provided function repeatedly, retrying if the server returns a conflicting
-// write. Callers should preserve previous executions if they wish to retry changes. It performs an
-// exponential backoff.
-//
-// var pod *api.Pod
-// err := RetryOnConflict(DefaultBackoff, func() (err error) {
-// pod, err = c.Pods("mynamespace").UpdateStatus(podStatus)
-// return
-// })
-// if err != nil {
-// // may be conflict if max retries were hit
-// return err
-// }
-// ...
-//
-// TODO: Make Backoff an interface?
-func RetryOnConflict(backoff wait.Backoff, fn func() error) error {
- var lastConflictErr error
- err := wait.ExponentialBackoff(backoff, func() (bool, error) {
- err := fn()
- switch {
- case err == nil:
- return true, nil
- case errors.IsConflict(err):
- lastConflictErr = err
- return false, nil
- default:
- return false, err
- }
- })
- if err == wait.ErrWaitTimeout {
- err = lastConflictErr
- }
- return err
-}