Guest User

Untitled

a guest
Dec 11th, 2017
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.73 KB | None | 0 0
  1. /*
  2. 6g filtertest.go && 6l -o filtertest filtertest.6
  3. ./server
  4. */
  5. package main
  6.  
  7. import (
  8. "bufio"
  9. "fmt"
  10. "io"
  11. "os"
  12. )
  13.  
  14. func sendlines(ch chan []byte, reader io.Reader, result chan bool) {
  15. bufferedReader := bufio.NewReader(reader)
  16. for bytes, err := bufferedReader.ReadBytes('\n'); err != os.EOF; {
  17. fmt.Printf("sending: %s", bytes)
  18. ch <- bytes
  19. }
  20. result <- true
  21. }
  22.  
  23. func printchan(ch chan []byte, in, out chan bool) {
  24. for {
  25. select {
  26. case s := <-ch:
  27. fmt.Printf("received: %s", s)
  28. case <-in:
  29. out <- true
  30. return
  31. }
  32. }
  33. }
  34.  
  35. func main() {
  36. ch := make(chan []byte)
  37. done := make(chan bool)
  38. done2 := make(chan bool)
  39. go sendlines(ch, os.Stdin, done)
  40. go printchan(ch, done, done2)
  41. <-done2
  42. }
Add Comment
Please, Sign In to add comment