// +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
		}
	}
}
