Skip to content

Commit 8aeea27

Browse files
committed
Merge pull request #2 from j0ni/repl
Add a repl for debugging and introspecting
2 parents a752636 + 27bef4b commit 8aeea27

File tree

3 files changed

+16
-2
lines changed

3 files changed

+16
-2
lines changed

project.clj

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@
44
:license {:name "Eclipse Public License"
55
:url "http://www.eclipse.org/legal/epl-v10.html"}
66
:dependencies [[org.clojure/clojure "1.6.0"]
7-
[clj-sockets "0.1.0"]]
7+
[clj-sockets "0.1.0"]
8+
[org.clojure/tools.nrepl "0.2.8"]]
89
:main ^:skip-aot chat-server.core
910
:target-path "target/%s"
1011
:profiles {:uberjar {:aot :all}})

src/chat_server/core.clj

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
(ns chat-server.core
2-
(:require [clj-sockets.core :as socket])
2+
(:require [clj-sockets.core :as socket]
3+
[chat-server.repl :as repl])
34
(:gen-class))
45

56
(def clients (ref {}))
@@ -42,6 +43,7 @@
4243
(let [port 1234
4344
server-socket (socket/create-server port)]
4445
(println "Listening on port" port)
46+
(repl/start-repl 7001)
4547
(loop [client (socket/listen server-socket)]
4648
;; TODO: improve debugging inside this future
4749
(future (new-client client))

src/chat_server/repl.clj

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
(ns chat-server.repl
2+
(:require [clojure.tools.nrepl.server :as nrepl]))
3+
4+
(defn start-repl
5+
"Start a repl on a port for debugging."
6+
[port]
7+
(try
8+
(nrepl/start-server :port port)
9+
(println "REPL started on port" port)
10+
(catch Throwable t
11+
(println (.getMessage t)))))

0 commit comments

Comments
 (0)