Documentation
¶
Index ¶
- type Clock
- type FakeClock
- func (f *FakeClock) After(d time.Duration) <-chan time.Time
- func (f *FakeClock) HasWaiters() bool
- func (f *FakeClock) Now() time.Time
- func (f *FakeClock) SetTime(t time.Time)
- func (f *FakeClock) Since(ts time.Time) time.Duration
- func (f *FakeClock) Sleep(d time.Duration)
- func (f *FakeClock) Step(d time.Duration)
- func (f *FakeClock) Tick(d time.Duration) <-chan time.Time
- type IntervalClock
- type RealClock
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Clock ¶
type Clock interface {
Now() time.Time
Since(time.Time) time.Duration
After(d time.Duration) <-chan time.Time
Sleep(d time.Duration)
Tick(d time.Duration) <-chan time.Time
}
Clock allows for injecting fake or real clocks into code that needs to do arbitrary things based on time.
type FakeClock ¶
type FakeClock struct {
// contains filtered or unexported fields
}
FakeClock implements Clock, but returns an arbitrary time.
func NewFakeClock ¶
func NewFakeClock(t time.Time) *FakeClock
func (*FakeClock) After ¶
func (f *FakeClock) After(d time.Duration) <-chan time.Time
Fake version of time.After(d).
func (*FakeClock) HasWaiters ¶
func (f *FakeClock) HasWaiters() bool
Returns true if After has been called on f but not yet satisfied (so you can write race-free tests).
func (*FakeClock) Since ¶
func (f *FakeClock) Since(ts time.Time) time.Duration
Since returns time since the time in f.
type IntervalClock ¶
type IntervalClock struct {
Time time.Time
Duration time.Duration
}
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.
type RealClock ¶
type RealClock struct{}
RealClock really calls time.Now()
func (RealClock) After ¶
func (RealClock) After(d time.Duration) <-chan time.Time
Same as time.After(d).
Click to show internal directories.
Click to hide internal directories.