chan buffer and --bug
[svn42.git] / go / door_daemon_zmq / handle_commands.go
index 2ac73ac..0cfee8d 100644 (file)
@@ -15,7 +15,7 @@ var cmdToDoorCmdHandler = map[string]DoorCmdHandler {
   "open": DoorCmdHandler{ checkCmdDoorControl, "o"},
   "close": DoorCmdHandler{ checkCmdDoorControl, "c"},
   "toggle": DoorCmdHandler{ checkCmdDoorControl, "t"},
-  "status": DoorCmdHandler{ checkCmdDoorControl, "s"},
+  "status": DoorCmdHandler{ checkCmdStatus, "s"},
 }
 
 // ---------- Command Handling Code -------------
@@ -46,23 +46,20 @@ func checkCmdStatus(tokens [][]byte) (error) {
     return nil
 }
 
-func HandleCommand(tokens [][]byte, topub chan <- [][]byte, serial_wr chan string, serial_rd chan [][]byte) ([][]byte, error){
+func HandleCommand(tokens [][]byte, serial_wr chan string, serial_rd chan [][]byte) error {
     if len(tokens) < 1 {
-        return nil, errors.New("No Command to handle")
+        return errors.New("No Command to handle")
     }
 
     dch, present := cmdToDoorCmdHandler[string(tokens[0])]
     if ! present {
-        return nil, errors.New("Unknown Command")
+        return errors.New("Unknown Command")
     }
 
     if err := dch.Checker(tokens); err != nil {
-        //return error to sender
-        return nil, err
+        return err
     }
 
-    topub <- tokens
     serial_wr <- dch.FirmwareChar
-    fw_reply := <- serial_rd
-    return fw_reply, nil
+    return nil
 }