This commit is contained in:
Adam Jeniski 2025-07-19 02:33:18 -09:00
parent 7c8a9793fe
commit b1d8a207ce
5 changed files with 66 additions and 76 deletions

View File

@ -2,18 +2,14 @@
(:require (:require
[clj-reload.core :as reload])) [clj-reload.core :as reload]))
(alter-var-root #'*warn-on-reflection* (constantly true)) (alter-var-root #'*warn-on-reflection* (constantly true))
(reload/init (reload/init
{:no-reload ['user]}) {:no-reload ['user]})
(defn reload! [] (defn reload! []
(reload/reload)) (reload/reload))
(comment (comment
(reload!) (reload!)
*e) *e)

View File

@ -56,6 +56,8 @@
;; repl it up ;P ;; repl it up ;P
(comment (comment
routes
(u/broadcast-signals! {:msg "hi franz"}) (u/broadcast-signals! {:msg "hi franz"})
(u/broadcast-signals! {:msg "hi ty"}) (u/broadcast-signals! {:msg "hi ty"})
(u/broadcast! d*/console-log! "hi franz") (u/broadcast! d*/console-log! "hi franz")
@ -64,7 +66,6 @@
(u/kill-broadcast!) (u/kill-broadcast!)
(clojure.repl/dir d*) (clojure.repl/dir d*)
(clojure.repl/doc d*/patch-signals!)) (clojure.repl/doc d*/patch-signals!))

View File

@ -3,7 +3,6 @@
[example.core :as c] [example.core :as c]
[example.server :as server])) [example.server :as server]))
(defn -main [& _] (defn -main [& _]
(let [server (server/start! c/handler)] (let [server (server/start! c/handler)]
(.addShutdownHook (Runtime/getRuntime) (.addShutdownHook (Runtime/getRuntime)

View File

@ -5,23 +5,19 @@
(:import (:import
org.eclipse.jetty.server.Server)) org.eclipse.jetty.server.Server))
(defonce !jetty-server (atom nil)) (defonce !jetty-server (atom nil))
(defn start! [handler & {:as opts}] (defn start! [handler & {:as opts}]
(let [opts (merge {:port 80 :join? false} (let [opts (merge {:port 80 :join? false}
opts)] opts)]
(println "Starting server on port:" (:port opts)) (println "Starting server on port:" (:port opts))
(jetty/run-jetty handler opts))) (jetty/run-jetty handler opts)))
(defn stop! [server] (defn stop! [server]
(println "Stopping server") (println "Stopping server")
(println server) (println server)
(.stop ^Server server)) (.stop ^Server server))
(defn reboot-jetty-server! [handler & {:as opts}] (defn reboot-jetty-server! [handler & {:as opts}]
(swap! !jetty-server (swap! !jetty-server
(fn [server] (fn [server]

View File

@ -64,7 +64,6 @@
(sse-page request respond view url) (sse-page request respond view url)
(text-html-page request respond view))) (text-html-page request respond view)))
;; d* api utils ;; d* api utils
(defn patch-signals-edn! [sse edn] (defn patch-signals-edn! [sse edn]
(d*/patch-signals! sse (json/write-str edn))) (d*/patch-signals! sse (json/write-str edn)))
@ -76,15 +75,14 @@
(d*/patch-elements! sse elems #:d*.elements{:patch-mode "replace" (d*/patch-elements! sse elems #:d*.elements{:patch-mode "replace"
:selector "main"})) :selector "main"}))
;; broadcast utils ;; broadcast utils
(defn try! (defn try!
[d*-f! sse & args] [d*-f! sse & args]
(try (apply d*-f! sse args) (try (when (not (apply d*-f! sse args))
(disconnect-sse! sse))
(catch Exception e (catch Exception e
(println "exception occured. dropping connection. error:" e) (println "exception occured. dropping connection. error:" e)
(d*/close-sse! sse) (disconnect-sse! sse))))
(swap! conns disj sse))))
(defonce conns (atom #{})) (defonce conns (atom #{}))