// +build ignore,OMIT

package main

import (
	"fmt"
	"time"
)

// STARTMAIN1 OMIT
type Ball struct{ hits int }

func main() {
	in, out := make(chan *Ball), make(chan *Ball) // HL
	go player("ping", in, out)
	go player("pong", in, out)

	go func() {
		for i := 0; i < 8; i++ {
			in <- new(Ball) // feed the pipeline // HL
		}
	}()
	for i := 0; i < 8; i++ {
		<-out // drain the pipeline // HL
	}
}

func player(name string, in <-chan *Ball, out chan<- *Ball) { // HL
	for i := 0; ; i++ {
		ball := <-in // HL
		ball.hits++
		fmt.Println(name, i, "hit", ball.hits)
		time.Sleep(100 * time.Millisecond)
		out <- ball // HL
	}
}

// STOPMAIN1 OMIT
