(defn handler [chi cho] (let [parse (fn-match ([["GETT" ?gid ?uid]] (if-let [v ((data gid) uid)] (str v) (str "ERROR_" gid "_" uid))) ([["STOP_SESSION"]] (close chi)) ([["STOP"]] (System/exit 0)))] #_ (receive-all chi #(enqueue cho (str "You said: " % "\r\n"))) (siphon (map* #(parse (re-seq #"\S+" %)) chi) cho))) (defn shandler [ch _] (handler ch ch)