diff options
author | 2017-08-28 17:49:28 +0200 | |
---|---|---|
committer | 2017-08-28 08:49:28 -0700 | |
commit | 7e63bdbee8340d3ce2d2488f93d0fb1d4d16a201 (patch) | |
tree | 2734029ca19d1a21794ffc65299c0d57254f5352 /vendor/cloud.google.com/go/internal/retry.go | |
parent | 558f4bea41e0493dd4b0e6d0f73b0220a39d1e67 (diff) | |
download | coredns-7e63bdbee8340d3ce2d2488f93d0fb1d4d16a201.tar.gz coredns-7e63bdbee8340d3ce2d2488f93d0fb1d4d16a201.tar.zst coredns-7e63bdbee8340d3ce2d2488f93d0fb1d4d16a201.zip |
dep ensure -update (#1001)
* dep ensure -update
Run "dep ensure -update` to update all dependencies.
No code changes; just the dependencies.
* dep prune
* add new venderod
Diffstat (limited to 'vendor/cloud.google.com/go/internal/retry.go')
-rw-r--r-- | vendor/cloud.google.com/go/internal/retry.go | 55 |
1 files changed, 0 insertions, 55 deletions
diff --git a/vendor/cloud.google.com/go/internal/retry.go b/vendor/cloud.google.com/go/internal/retry.go deleted file mode 100644 index 79995be4c..000000000 --- a/vendor/cloud.google.com/go/internal/retry.go +++ /dev/null @@ -1,55 +0,0 @@ -// Copyright 2016 Google Inc. All Rights Reserved. -// -// 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 internal - -import ( - "fmt" - "time" - - gax "github.com/googleapis/gax-go" - - "golang.org/x/net/context" -) - -// Retry calls the supplied function f repeatedly according to the provided -// backoff parameters. It returns when one of the following occurs: -// When f's first return value is true, Retry immediately returns with f's second -// return value. -// When the provided context is done, Retry returns with ctx.Err(). -func Retry(ctx context.Context, bo gax.Backoff, f func() (stop bool, err error)) error { - return retry(ctx, bo, f, gax.Sleep) -} - -func retry(ctx context.Context, bo gax.Backoff, f func() (stop bool, err error), - sleep func(context.Context, time.Duration) error) error { - var lastErr error - for { - stop, err := f() - if stop { - return err - } - // Remember the last "real" error from f. - if err != nil && err != context.Canceled && err != context.DeadlineExceeded { - lastErr = err - } - p := bo.Pause() - if cerr := sleep(ctx, p); cerr != nil { - if lastErr != nil { - return fmt.Errorf("%v; last function err: %v", cerr, lastErr) - } - return cerr - } - } -} |