bda794d
Branches > main > bda794d > files
Use core.async for async code
Commit: bda794d56579c8082cdabd0ed2c6bb78440ecc09
Parent: bd9f7f9
3 changed files:
deps.edn view file
@@ -8,6 +8,7 @@ :exec-fn cognitect.test-runner.api/test}} :deps {org.clojure/clojure {:mvn/version "1.13.0-alpha8"}+ org.clojure/core.async {:mvn/version "1.9.865"} org.clojure/tools.logging {:mvn/version "1.3.1"} nrepl/nrepl {:mvn/version "1.7.0"} dev.weavejester/medley {:mvn/version "1.10.0"}src/net/bowmap/server/network/connection.clj view file
@@ -1,6 +1,7 @@ (ns net.bowmap.server.network.connection "A connection to the Minecraft server." (:require+ [clojure.core.async :refer [io-thread]] [clojure.spec.alpha :as s] [clojure.stacktrace :refer [print-stack-trace]] [clojure.tools.logging :as log]@@ -26,15 +27,15 @@ output-stream (Socket/.getOutputStream socket) send-queue (LinkedBlockingQueue.)] (Socket/.setTcpNoDelay socket true)- (Thread/startVirtualThread- #(try- (loop []- (let [frame (.take send-queue)]- (streams/write-frame!! frame output-stream)- (recur)))- (catch IOException _)- (finally- (Socket/.close socket))))+ (io-thread+ (try+ (loop []+ (let [frame (.take send-queue)]+ (streams/write-frame!! frame output-stream)+ (recur)))+ (catch IOException _)+ (finally+ (Socket/.close socket)))) (reify Connection (send-frame! [_ frame] (.put send-queue frame))src/net/bowmap/server/runtime/connections.clj view file
@@ -1,9 +1,10 @@ (ns net.bowmap.server.runtime.connections (:require+ [clojure.core.async :refer [io-thread]] [net.bowmap.server.game.handle :as handle]+ [net.bowmap.server.game.server :as state] [net.bowmap.server.network.connection :as connection] [net.bowmap.server.network.server :as server]- [net.bowmap.server.game.server :as state] [net.bowmap.server.protocol.packet :as packet] [net.bowmap.server.protocol.packet-serialization :as serialize] [net.bowmap.server.protocol.phase :as phase]@@ -42,6 +43,6 @@ [server] (loop [] (let [connection (server/accept-connection!! server)]- (Thread/startVirtualThread- #(handle-connection! connection))+ (io-thread+ (handle-connection! connection)) (recur))))