Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- 6g filtertest.go && 6l -o filtertest filtertest.6
- ./server
- */
- package main
- import (
- "bufio"
- "fmt"
- "io"
- "os"
- )
- func sendlines(ch chan []byte, reader io.Reader, result chan bool) {
- bufferedReader := bufio.NewReader(reader)
- for bytes, err := bufferedReader.ReadBytes('\n'); err != os.EOF; {
- fmt.Printf("sending: %s", bytes)
- ch <- bytes
- }
- result <- true
- }
- func printchan(ch chan []byte, in, out chan bool) {
- for {
- select {
- case s := <-ch:
- fmt.Printf("received: %s", s)
- case <-in:
- out <- true
- return
- }
- }
- }
- func main() {
- ch := make(chan []byte)
- done := make(chan bool)
- done2 := make(chan bool)
- go sendlines(ch, os.Stdin, done)
- go printchan(ch, done, done2)
- <-done2
- }
Add Comment
Please, Sign In to add comment