cleanup: import from k8s.io/utils/clock instead
Signed-off-by: haoyun <yun.hao@daocloud.io>
This commit is contained in:
		
							
								
								
									
										2
									
								
								go.mod
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								go.mod
									
									
									
									
									
								
							| @@ -73,7 +73,7 @@ require ( | |||||||
| 	k8s.io/component-base v0.22.0 | 	k8s.io/component-base v0.22.0 | ||||||
| 	k8s.io/cri-api v0.22.0 | 	k8s.io/cri-api v0.22.0 | ||||||
| 	k8s.io/klog/v2 v2.9.0 | 	k8s.io/klog/v2 v2.9.0 | ||||||
| 	k8s.io/utils v0.0.0-20210707171843-4b05e18ac7d9 | 	k8s.io/utils v0.0.0-20210930125809-cb0fa318a74b | ||||||
| ) | ) | ||||||
|  |  | ||||||
| // When updating replace rules, make sure to also update the rules in integration/client/go.mod and api/go.mod | // When updating replace rules, make sure to also update the rules in integration/client/go.mod and api/go.mod | ||||||
|   | |||||||
							
								
								
									
										3
									
								
								go.sum
									
									
									
									
									
								
							
							
						
						
									
										3
									
								
								go.sum
									
									
									
									
									
								
							| @@ -936,8 +936,9 @@ k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE= | |||||||
| k8s.io/klog/v2 v2.9.0 h1:D7HV+n1V57XeZ0m6tdRkfknthUaM06VFbWldOFh8kzM= | k8s.io/klog/v2 v2.9.0 h1:D7HV+n1V57XeZ0m6tdRkfknthUaM06VFbWldOFh8kzM= | ||||||
| k8s.io/klog/v2 v2.9.0/go.mod h1:hy9LJ/NvuK+iVyP4Ehqva4HxZG/oXyIS3n3Jmire4Ec= | k8s.io/klog/v2 v2.9.0/go.mod h1:hy9LJ/NvuK+iVyP4Ehqva4HxZG/oXyIS3n3Jmire4Ec= | ||||||
| k8s.io/kube-openapi v0.0.0-20210421082810-95288971da7e/go.mod h1:vHXdDvt9+2spS2Rx9ql3I8tycm3H9FDfdUoIuKCefvw= | k8s.io/kube-openapi v0.0.0-20210421082810-95288971da7e/go.mod h1:vHXdDvt9+2spS2Rx9ql3I8tycm3H9FDfdUoIuKCefvw= | ||||||
| k8s.io/utils v0.0.0-20210707171843-4b05e18ac7d9 h1:imL9YgXQ9p7xmPzHFm/vVd/cF78jad+n4wK1ABwYtMM= |  | ||||||
| k8s.io/utils v0.0.0-20210707171843-4b05e18ac7d9/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= | k8s.io/utils v0.0.0-20210707171843-4b05e18ac7d9/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= | ||||||
|  | k8s.io/utils v0.0.0-20210930125809-cb0fa318a74b h1:wxEMGetGMur3J1xuGLQY7GEQYg9bZxKn3tKo5k/eYcs= | ||||||
|  | k8s.io/utils v0.0.0-20210930125809-cb0fa318a74b/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= | ||||||
| rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= | rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= | ||||||
| rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= | rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= | ||||||
| rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= | rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= | ||||||
|   | |||||||
| @@ -872,6 +872,7 @@ k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE= | |||||||
| k8s.io/klog/v2 v2.9.0/go.mod h1:hy9LJ/NvuK+iVyP4Ehqva4HxZG/oXyIS3n3Jmire4Ec= | k8s.io/klog/v2 v2.9.0/go.mod h1:hy9LJ/NvuK+iVyP4Ehqva4HxZG/oXyIS3n3Jmire4Ec= | ||||||
| k8s.io/kube-openapi v0.0.0-20210421082810-95288971da7e/go.mod h1:vHXdDvt9+2spS2Rx9ql3I8tycm3H9FDfdUoIuKCefvw= | k8s.io/kube-openapi v0.0.0-20210421082810-95288971da7e/go.mod h1:vHXdDvt9+2spS2Rx9ql3I8tycm3H9FDfdUoIuKCefvw= | ||||||
| k8s.io/utils v0.0.0-20210707171843-4b05e18ac7d9/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= | k8s.io/utils v0.0.0-20210707171843-4b05e18ac7d9/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= | ||||||
|  | k8s.io/utils v0.0.0-20210930125809-cb0fa318a74b/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= | ||||||
| rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= | rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= | ||||||
| rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= | rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= | ||||||
| rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= | rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= | ||||||
|   | |||||||
| @@ -41,7 +41,7 @@ import ( | |||||||
| 	"sync" | 	"sync" | ||||||
| 	"time" | 	"time" | ||||||
|  |  | ||||||
| 	"k8s.io/apimachinery/pkg/util/clock" | 	"k8s.io/utils/clock" | ||||||
| ) | ) | ||||||
|  |  | ||||||
| var ( | var ( | ||||||
|   | |||||||
							
								
								
									
										4
									
								
								vendor/k8s.io/utils/clock/README.md
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								vendor/k8s.io/utils/clock/README.md
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,4 @@ | |||||||
|  | # Clock | ||||||
|  |  | ||||||
|  | This package provides an interface for time-based operations.  It allows | ||||||
|  | mocking time for testing. | ||||||
							
								
								
									
										168
									
								
								vendor/k8s.io/utils/clock/clock.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										168
									
								
								vendor/k8s.io/utils/clock/clock.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,168 @@ | |||||||
|  | /* | ||||||
|  | Copyright 2014 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 clock | ||||||
|  |  | ||||||
|  | import "time" | ||||||
|  |  | ||||||
|  | // PassiveClock allows for injecting fake or real clocks into code | ||||||
|  | // that needs to read the current time but does not support scheduling | ||||||
|  | // activity in the future. | ||||||
|  | type PassiveClock interface { | ||||||
|  | 	Now() time.Time | ||||||
|  | 	Since(time.Time) time.Duration | ||||||
|  | } | ||||||
|  |  | ||||||
|  | // Clock allows for injecting fake or real clocks into code that | ||||||
|  | // needs to do arbitrary things based on time. | ||||||
|  | type Clock interface { | ||||||
|  | 	PassiveClock | ||||||
|  | 	// After returns the channel of a new Timer. | ||||||
|  | 	// This method does not allow to free/GC the backing timer before it fires. Use | ||||||
|  | 	// NewTimer instead. | ||||||
|  | 	After(d time.Duration) <-chan time.Time | ||||||
|  | 	// NewTimer returns a new Timer. | ||||||
|  | 	NewTimer(d time.Duration) Timer | ||||||
|  | 	// Sleep sleeps for the provided duration d. | ||||||
|  | 	// Consider making the sleep interruptible by using 'select' on a context channel and a timer channel. | ||||||
|  | 	Sleep(d time.Duration) | ||||||
|  | 	// Tick returns the channel of a new Ticker. | ||||||
|  | 	// This method does not allow to free/GC the backing ticker. Use | ||||||
|  | 	// NewTicker from WithTicker instead. | ||||||
|  | 	Tick(d time.Duration) <-chan time.Time | ||||||
|  | } | ||||||
|  |  | ||||||
|  | // WithTicker allows for injecting fake or real clocks into code that | ||||||
|  | // needs to do arbitrary things based on time. | ||||||
|  | type WithTicker interface { | ||||||
|  | 	Clock | ||||||
|  | 	// NewTicker returns a new Ticker. | ||||||
|  | 	NewTicker(time.Duration) Ticker | ||||||
|  | } | ||||||
|  |  | ||||||
|  | // WithDelayedExecution allows for injecting fake or real clocks into | ||||||
|  | // code that needs to make use of AfterFunc functionality. | ||||||
|  | type WithDelayedExecution interface { | ||||||
|  | 	Clock | ||||||
|  | 	// AfterFunc executes f in its own goroutine after waiting | ||||||
|  | 	// for d duration and returns a Timer whose channel can be | ||||||
|  | 	// closed by calling Stop() on the Timer. | ||||||
|  | 	AfterFunc(d time.Duration, f func()) Timer | ||||||
|  | } | ||||||
|  |  | ||||||
|  | // Ticker defines the Ticker interface. | ||||||
|  | type Ticker interface { | ||||||
|  | 	C() <-chan time.Time | ||||||
|  | 	Stop() | ||||||
|  | } | ||||||
|  |  | ||||||
|  | var _ = WithTicker(RealClock{}) | ||||||
|  |  | ||||||
|  | // RealClock really calls time.Now() | ||||||
|  | type RealClock struct{} | ||||||
|  |  | ||||||
|  | // Now returns the current time. | ||||||
|  | func (RealClock) Now() time.Time { | ||||||
|  | 	return time.Now() | ||||||
|  | } | ||||||
|  |  | ||||||
|  | // Since returns time since the specified timestamp. | ||||||
|  | func (RealClock) Since(ts time.Time) time.Duration { | ||||||
|  | 	return time.Since(ts) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | // After is the same as time.After(d). | ||||||
|  | // This method does not allow to free/GC the backing timer before it fires. Use | ||||||
|  | // NewTimer instead. | ||||||
|  | func (RealClock) After(d time.Duration) <-chan time.Time { | ||||||
|  | 	return time.After(d) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | // NewTimer is the same as time.NewTimer(d) | ||||||
|  | func (RealClock) NewTimer(d time.Duration) Timer { | ||||||
|  | 	return &realTimer{ | ||||||
|  | 		timer: time.NewTimer(d), | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  |  | ||||||
|  | // AfterFunc is the same as time.AfterFunc(d, f). | ||||||
|  | func (RealClock) AfterFunc(d time.Duration, f func()) Timer { | ||||||
|  | 	return &realTimer{ | ||||||
|  | 		timer: time.AfterFunc(d, f), | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  |  | ||||||
|  | // Tick is the same as time.Tick(d) | ||||||
|  | // This method does not allow to free/GC the backing ticker. Use | ||||||
|  | // NewTicker instead. | ||||||
|  | func (RealClock) Tick(d time.Duration) <-chan time.Time { | ||||||
|  | 	return time.Tick(d) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | // NewTicker returns a new Ticker. | ||||||
|  | func (RealClock) NewTicker(d time.Duration) Ticker { | ||||||
|  | 	return &realTicker{ | ||||||
|  | 		ticker: time.NewTicker(d), | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  |  | ||||||
|  | // Sleep is the same as time.Sleep(d) | ||||||
|  | // Consider making the sleep interruptible by using 'select' on a context channel and a timer channel. | ||||||
|  | func (RealClock) Sleep(d time.Duration) { | ||||||
|  | 	time.Sleep(d) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | // Timer allows for injecting fake or real timers into code that | ||||||
|  | // needs to do arbitrary things based on time. | ||||||
|  | type Timer interface { | ||||||
|  | 	C() <-chan time.Time | ||||||
|  | 	Stop() bool | ||||||
|  | 	Reset(d time.Duration) bool | ||||||
|  | } | ||||||
|  |  | ||||||
|  | var _ = Timer(&realTimer{}) | ||||||
|  |  | ||||||
|  | // realTimer is backed by an actual time.Timer. | ||||||
|  | type realTimer struct { | ||||||
|  | 	timer *time.Timer | ||||||
|  | } | ||||||
|  |  | ||||||
|  | // C returns the underlying timer's channel. | ||||||
|  | func (r *realTimer) C() <-chan time.Time { | ||||||
|  | 	return r.timer.C | ||||||
|  | } | ||||||
|  |  | ||||||
|  | // Stop calls Stop() on the underlying timer. | ||||||
|  | func (r *realTimer) Stop() bool { | ||||||
|  | 	return r.timer.Stop() | ||||||
|  | } | ||||||
|  |  | ||||||
|  | // Reset calls Reset() on the underlying timer. | ||||||
|  | func (r *realTimer) Reset(d time.Duration) bool { | ||||||
|  | 	return r.timer.Reset(d) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | type realTicker struct { | ||||||
|  | 	ticker *time.Ticker | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (r *realTicker) C() <-chan time.Time { | ||||||
|  | 	return r.ticker.C | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (r *realTicker) Stop() { | ||||||
|  | 	r.ticker.Stop() | ||||||
|  | } | ||||||
							
								
								
									
										3
									
								
								vendor/modules.txt
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								vendor/modules.txt
									
									
									
									
										vendored
									
									
								
							| @@ -682,8 +682,9 @@ k8s.io/cri-api/pkg/apis/runtime/v1alpha2 | |||||||
| # k8s.io/klog/v2 v2.9.0 | # k8s.io/klog/v2 v2.9.0 | ||||||
| ## explicit | ## explicit | ||||||
| k8s.io/klog/v2 | k8s.io/klog/v2 | ||||||
| # k8s.io/utils v0.0.0-20210707171843-4b05e18ac7d9 | # k8s.io/utils v0.0.0-20210930125809-cb0fa318a74b | ||||||
| ## explicit | ## explicit | ||||||
|  | k8s.io/utils/clock | ||||||
| k8s.io/utils/exec | k8s.io/utils/exec | ||||||
| k8s.io/utils/integer | k8s.io/utils/integer | ||||||
| # sigs.k8s.io/structured-merge-diff/v4 v4.1.2 | # sigs.k8s.io/structured-merge-diff/v4 v4.1.2 | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 haoyun
					haoyun