1package main23import (4 "os"56 "github.com/Lobaro/slip"7)89type Dispatcher struct {10 coap *CoapEndpoint11 serial *SerialEndpoint12}1314func (d *Dispatcher) handleCoap(data []byte) {15 d.serial.TX <- data16}1718func (d *Dispatcher) handleSerial(pkt Packet) {19 switch pkt.FrameType {20 case slip.FRAME_DIAGNOSTIC:21 _, err := os.Stdout.WriteString(string(pkt.Data))22 if err != nil {23 logger.Println("handleSerial:", err)24 }25 case slip.FRAME_COAP:26 d.coap.TX <- pkt.Data27 default:28 logger.Printf("handleSerial: Unsupported frame type: 0x%x\n", pkt.FrameType)29 }30}3132func (d *Dispatcher) Run() {33 for {34 select {35 case data := <-d.coap.RX:36 d.handleCoap(data)37 case pkt := <-d.serial.RX:38 d.handleSerial(pkt)39 }40 }41}