code: func (ft *fakeTicker) tick() {
  	tick := ft.clock.Now()
  	for {
  		tick = tick.Add(ft.period)
  		remaining := tick.Sub(ft.clock.Now())
  		if remaining <= 0 {
  			// The tick should have already happened. This can happen when
  			// Advance() is called on the fake clock with a duration larger
  			// than this ticker's period.
  			select {
  			case ft.c <- tick:
  			default:
  			}
  			continue
  		}
  
  		select {
  		case <-ft.stop:
  			return
  		case <-ft.clock.After(remaining):
  			select {
  			case ft.c <- tick:
  			default:
  			}
  		}
  	}
  }
docs: // tick sends the tick time to the ticker channel after every period.
  // Tick events are discarded if the underlying ticker channel does
  // not have enough capacity.