blob: 300ea733deb3fe59cbfcf4aa4f5c50daeb280c6a [file] [log] [blame]
// +build ignore,OMIT
package main
import (
"fmt"
"math/rand"
"time"
)
func init() {
rand.Seed(10)
}
func sendMessages() chan string {
ch := make(chan string)
go func() {
for i := 0; ; i++ {
time.Sleep(time.Duration(rand.Intn(100)) * time.Millisecond)
ch <- fmt.Sprintf("message %v", i)
}
}()
return ch
}
func main() {
timeout := time.NewTimer(80 * time.Millisecond)
ch := sendMessages()
for {
select {
case msg := <-ch:
fmt.Println(msg)
timeout.Reset(80 * time.Millisecond)
case <-timeout.C:
fmt.Println("timeout")
return
}
}
}