mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-23 11:50:44 +00:00
Address comments: watch.Until return private error errWatchClosed on channel closed
This commit is contained in:
parent
51c7570ae1
commit
5a7929dc2d
@ -129,9 +129,6 @@ func Jitter(duration time.Duration, maxFactor float64) time.Duration {
|
||||
// ErrWaitTimeout is returned when the condition exited without success.
|
||||
var ErrWaitTimeout = errors.New("timed out waiting for the condition")
|
||||
|
||||
// ErrChannelClosed is returned when the watch channel is closed.
|
||||
var ErrChannelClosed = errors.New("watch channel closed")
|
||||
|
||||
// ConditionFunc returns true if the condition is satisfied, or an error
|
||||
// if the loop should be aborted.
|
||||
type ConditionFunc func() (done bool, err error)
|
||||
|
@ -17,6 +17,7 @@ limitations under the License.
|
||||
package watch
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"time"
|
||||
|
||||
"k8s.io/apimachinery/pkg/util/wait"
|
||||
@ -28,6 +29,9 @@ import (
|
||||
// from false to true).
|
||||
type ConditionFunc func(event Event) (bool, error)
|
||||
|
||||
// errWatchClosed is returned when the watch channel is closed before timeout in Until.
|
||||
var errWatchClosed = errors.New("watch closed before Until timeout")
|
||||
|
||||
// Until reads items from the watch until each provided condition succeeds, and then returns the last watch
|
||||
// encountered. The first condition that returns an error terminates the watch (and the event is also returned).
|
||||
// If no event has been received, the returned event will be nil.
|
||||
@ -61,7 +65,7 @@ func Until(timeout time.Duration, watcher Interface, conditions ...ConditionFunc
|
||||
select {
|
||||
case event, ok := <-ch:
|
||||
if !ok {
|
||||
return lastEvent, wait.ErrChannelClosed
|
||||
return lastEvent, errWatchClosed
|
||||
}
|
||||
lastEvent = &event
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user