In the time package, the ticker and timer both send
current time to channel C, so this PR update the comment
to understand them better.
Change-Id: I99846a40bf8ef780bf0062dd84cf721b3b892a1b
GitHub-Last-Rev:
535da54b8ebd25be22289699212364df0aa49c7f
GitHub-Pull-Request: golang/go#47597
Reviewed-on: https://go-review.googlesource.com/c/go/+/340649
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Go Bot <gobot@golang.org>
Trust: Dmitri Shuralyov <dmitshur@golang.org>
return resetTimer(&t.r, w)
}
+// sendTime does a non-blocking send of the current time on c.
func sendTime(c interface{}, seq uintptr) {
- // Non-blocking send of time on c.
- // Used in NewTimer, it cannot block anyway (buffer).
- // Used in NewTicker, dropping sends on the floor is
- // the desired behavior when the reader gets behind,
- // because the sends are periodic.
select {
case c.(chan Time) <- Now():
default:
}
// NewTicker returns a new Ticker containing a channel that will send
-// the time on the channel after each tick. The period of the ticks is
-// specified by the duration argument. The ticker will adjust the time
-// interval or drop ticks to make up for slow receivers.
+// the current time on the channel after each tick. The period of the
+// ticks is specified by the duration argument. The ticker will adjust
+// the time interval or drop ticks to make up for slow receivers.
// The duration d must be greater than zero; if not, NewTicker will
// panic. Stop the ticker to release associated resources.
func NewTicker(d Duration) *Ticker {