Documentation ¶
Index ¶
- type Clock
- type FakeClock
- func (f *FakeClock) After(d time.Duration) <-chan time.Time
- func (f *FakeClock) HasWaiters() bool
- func (f *FakeClock) NewTicker(d time.Duration) Ticker
- func (f *FakeClock) NewTimer(d time.Duration) Timer
- func (f *FakeClock) SetTime(t time.Time)
- func (f *FakeClock) Sleep(d time.Duration)
- func (f *FakeClock) Step(d time.Duration)
- type FakePassiveClock
- type IntervalClock
- func (*IntervalClock) After(d time.Duration) <-chan time.Time
- func (*IntervalClock) NewTicker(d time.Duration) Ticker
- func (*IntervalClock) NewTimer(d time.Duration) Timer
- func (i *IntervalClock) Now() time.Time
- func (i *IntervalClock) Since(ts time.Time) time.Duration
- func (*IntervalClock) Sleep(d time.Duration)
- type PassiveClock
- type RealClock
- type Ticker
- type Timer
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Clock ¶
type Clock interface { PassiveClock After(time.Duration) <-chan time.Time NewTimer(time.Duration) Timer Sleep(time.Duration) NewTicker(time.Duration) Ticker }
Clock allows for injecting fake or real clocks into code that needs to do arbitrary things based on time.
type FakeClock ¶
type FakeClock struct { FakePassiveClock // contains filtered or unexported fields }
FakeClock implements Clock, but returns an arbitrary time.
func NewFakeClock ¶
func (*FakeClock) HasWaiters ¶
Returns true if After has been called on f but not yet satisfied (so you can write race-free tests).
type FakePassiveClock ¶ added in v0.16.4
type FakePassiveClock struct {
// contains filtered or unexported fields
}
FakePassiveClock implements PassiveClock, but returns an arbitrary time.
func NewFakePassiveClock ¶ added in v0.16.4
func NewFakePassiveClock(t time.Time) *FakePassiveClock
func (*FakePassiveClock) Now ¶ added in v0.16.4
func (f *FakePassiveClock) Now() time.Time
Now returns f's time.
func (*FakePassiveClock) SetTime ¶ added in v0.16.4
func (f *FakePassiveClock) SetTime(t time.Time)
Sets the time.
type IntervalClock ¶
IntervalClock implements Clock, but each invocation of Now steps the clock forward the specified duration
func (*IntervalClock) After ¶
func (*IntervalClock) After(d time.Duration) <-chan time.Time
Unimplemented, will panic. TODO: make interval clock use FakeClock so this can be implemented.
func (*IntervalClock) NewTicker ¶
func (*IntervalClock) NewTicker(d time.Duration) Ticker
Unimplemented, will panic. TODO: make interval clock use FakeClock so this can be implemented.
func (*IntervalClock) NewTimer ¶
func (*IntervalClock) NewTimer(d time.Duration) Timer
Unimplemented, will panic. TODO: make interval clock use FakeClock so this can be implemented.
func (*IntervalClock) Since ¶
func (i *IntervalClock) Since(ts time.Time) time.Duration
Since returns time since the time in i.
func (*IntervalClock) Sleep ¶
func (*IntervalClock) Sleep(d time.Duration)
type PassiveClock ¶ added in v0.16.4
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.