code: func bufferLine(src io.Reader, c chan<- []byte, ec chan<- error) {
  	rd := bufio.NewReader(src)
  	for {
  		lineOut, err := rd.ReadBytes('\n')
  		if len(lineOut) > 0 {
  			c <- lineOut
  		}
  		if err != nil {
  			ec <- err
  		}
  	}
  }
docs: // bufferLine buffers and queues a single line from a Reader to a multiplexer
  // If reading from src fails, it hard-fails and propagates the error back.