func()

in clock/testing/fake_clock.go [192:225]


func (f *FakeClock) setTimeLocked(t time.Time) {
	f.time = t
	newWaiters := make([]*fakeClockWaiter, 0, len(f.waiters))
	for i := range f.waiters {
		w := f.waiters[i]
		if !w.targetTime.After(t) {
			if w.skipIfBlocked {
				select {
				case w.destChan <- t:
					w.fired = true
				default:
				}
			} else {
				w.destChan <- t
				w.fired = true
			}

			if w.afterFunc != nil {
				w.afterFunc()
			}

			if w.stepInterval > 0 {
				for !w.targetTime.After(t) {
					w.targetTime = w.targetTime.Add(w.stepInterval)
				}
				newWaiters = append(newWaiters, w)
			}

		} else {
			newWaiters = append(newWaiters, f.waiters[i])
		}
	}
	f.waiters = newWaiters
}