Atlas › Test
TestEventTimeSource_AfterFunc_NegativeDelay
Exact test identity: go.temporal.io/server/common/clock/TestEventTimeSource_AfterFunc_NegativeDelay
- Package
go.temporal.io/server/common/clock
- Suite / test hierarchy
TestEventTimeSource_AfterFunc_NegativeDelay
- Test
TestEventTimeSource_AfterFunc_NegativeDelay
- Introduced at
- event_time_source.go ×1 Frontier kind: Joint frontier
- Covered ranges
- 16
- Covered lines
- 43
- Covered files
- 1
Covered source
Expand a file to inspect source; the > gutter marks covered lines.
go.temporal.io/server/common/clock/event_time_source.go 43 covered LOC · 16 ranges
Open complete file
39
40
// NewEventTimeSource returns a EventTimeSource with the current time set to Unix zero: 1970-01-01 00:00:00 +0000 UTC.
42
>
return &EventTimeSource{
43
>
now: time.Unix(0, 0),
44
>
}
45
>
}
46
47
// Some clients depend on the fact that the runtime's timers do _not_ run synchronously.
55
56
// Now return the current time.
58
>
ts.mu.RLock()
59
>
defer ts.mu.RUnlock()
60
>
61
>
return ts.now
62
>
}
63
64
func (ts *EventTimeSource) Since(t time.Time) time.Duration {
71
// wrap all such calls in a goroutine. If the duration is non-positive, the callback will fire immediately before
72
// AfterFunc returns.
74
>
if d < 0 {
76
>
}
77
>
timer := &fakeTimer{timeSource: ts, deadline: ts.Now().Add(d), callback: f}
event_time_source.go
78
>
ts.addTimer(timer)
79
>
return timer
80
}
81
96
}
97
99
>
ts.mu.Lock()
100
>
defer ts.mu.Unlock()
101
>
t.index = len(ts.timers)
102
>
ts.timers = append(ts.timers, t)
103
>
ts.fireTimers()
104
>
}
105
106
// Update the fake current time. It returns the timeSource so that you can chain calls like this:
156
157
// fireTimers fires all timers that are ready.
159
>
n := 0
160
>
for _, t := range ts.timers {
162
ts.timers[n] = t
163
t.index = n
164
n++
167
go t.callback()
170
>
}
172
}
173
}
175
}
176
200
201
// Stop the timer. Returns true if the timer was active.
203
>
t.timeSource.mu.Lock()
204
>
defer t.timeSource.mu.Unlock()
205
>
206
>
if t.done {
208
>
}
209
210
i := t.index