|
25 | 25 | (io/decode-stream s protocol)))) |
26 | 26 |
|
27 | 27 | (defn parse-request [message agent-name] |
28 | | - (let [split-req (str/split message #" ")] |
29 | | - (println message) |
30 | | - (println (split-req 0)) |
31 | | - (case (split-req 0) |
32 | | - "text-edit" (buffer/text-edit agent-name (split-req 1) (split-req 3) (split-req 2)) |
33 | | - "open-file" (buffer/add-file agent-name (split-req 1)) |
34 | | - "close-file" (buffer/remove-file agent-name (split-req 1)) |
35 | | - "save-file" (buffer/save-file agent-name (split-req 1)) |
36 | | - "save-all" (buffer/save-all-files agent-name) |
37 | | - "get-dir" (fnav/get-folder-contents (split-req 1))))) |
| 28 | + (case (message 0) |
| 29 | + "text-edit" (buffer/text-edit agent-name (message 1) (message 3) (message 2)) |
| 30 | + "open-file" (buffer/add-file agent-name (message 1)) |
| 31 | + "close-file" (buffer/remove-file agent-name (message 1)) |
| 32 | + "save-file" (buffer/save-file agent-name (message 1)) |
| 33 | + "save-all" (buffer/save-all-files agent-name) |
| 34 | + "get-dir" (fnav/get-folder-contents (message 1)))) |
38 | 35 |
|
39 | 36 | (defn event-loop [f files-agent] |
40 | 37 | (fn [s info] |
41 | 38 | (d/loop [] |
42 | | - (-> |
43 | | - (d/let-flow [msg (s/take! s ::none)] |
44 | | - (when-not (= ::none msg) |
45 | | - (d/let-flow [msg-two (d/future (f msg files-agent)) |
46 | | - result (cond |
47 | | - (= (class "") (class msg-two)) @(s/put! s msg-two) |
48 | | - :else @(s/put! s true))] |
49 | | - (when result |
50 | | - (d/recur))))) |
51 | | - (d/catch |
52 | | - (fn [exception] |
53 | | - (s/put! s (str "ERROR: " exception)) |
54 | | - (s/close! s))))))) |
| 39 | + (-> |
| 40 | + (d/let-flow [msg (s/take! s ::none)] |
| 41 | + (when-not (= ::none msg) |
| 42 | + (d/let-flow [msg-two (d/future (f msg files-agent)) |
| 43 | + result (cond |
| 44 | + (= (class "") (class msg-two)) @(s/put! s msg-two) |
| 45 | + :else @(s/put! s true))] |
| 46 | + (when result |
| 47 | + (println @files-agent) |
| 48 | + (d/recur))))) |
| 49 | + (d/catch |
| 50 | + (fn [exception] |
| 51 | + (println agent-error exception) |
| 52 | + (s/put! s (str "ERROR: " exception)) |
| 53 | + (s/close! s))))))) |
55 | 54 |
|
56 | 55 | (defn start-server [handler port] |
57 | 56 | (tcp/start-server |
|
0 commit comments