X-Git-Url: https://git.realraum.at/?a=blobdiff_plain;f=go%2Fdoor_daemon_zmq%2Fserial_tty.go;h=ea246ca96a5170750646b0a65fcad172a3f62aee;hb=845254e617b714552edbf860632f0e763a40d1a5;hp=4ec786af41763a2c0388251992cc3e4a6baed156;hpb=88e758b4025ef2a84acafc7b832a41028280c296;p=svn42.git diff --git a/go/door_daemon_zmq/serial_tty.go b/go/door_daemon_zmq/serial_tty.go index 4ec786a..ea246ca 100644 --- a/go/door_daemon_zmq/serial_tty.go +++ b/go/door_daemon_zmq/serial_tty.go @@ -24,14 +24,14 @@ func openTTY(name string) (*os.File, error) { return file, nil } -func SerialWriter(in <- chan string, serial * os.File) { +func serialWriter(in <- chan string, serial * os.File) { for totty := range(in) { serial.WriteString(totty) serial.Sync() } } -func SerialReader(out chan <- [][]byte, topub chan <- [][]byte, serial * os.File) { +func serialReader(out chan <- [][]byte, serial * os.File) { linescanner := bufio.NewScanner(serial) linescanner.Split(bufio.ScanLines) for linescanner.Scan() { @@ -43,18 +43,17 @@ func SerialReader(out chan <- [][]byte, topub chan <- [][]byte, serial * os.File continue } out <- text - topub <- text } } -func OpenAndHandleSerial(filename string, topub chan <- [][]byte) (chan string, chan [][]byte, error) { +func OpenAndHandleSerial(filename string) (chan string, chan [][]byte, error) { serial, err :=openTTY(filename) if err != nil { return nil, nil, err } - var wr chan string - var rd chan [][]byte - go SerialWriter(wr, serial) - go SerialReader(rd, topub, serial) + wr := make(chan string, 1) + rd := make(chan [][]byte, 20) + go serialWriter(wr, serial) + go serialReader(rd, serial) return wr, rd, nil }