code: func (c *MockClock) advanceToNextWakeup() {
  	if len(c.wakeups) < 1 {
  		return
  	}
  	w := heap.Pop(&c.wakeups).(*wakeup)
  	c.logf("MockClock: Advancing time from now=%s to next wakeup time %s.",
  		tsStr(c.now), tsStr(w.t))
  	c.now = w.t
  	select {
  	case w.c <- w.t:
  	default:
  	}
  	// give things a chance to run
  	runtime.Gosched()
  	c.logf("MockClock: Advanced time, now=%s.", tsStr(c.now))
  }
docs: // This assumes c.mutex is locked