72082f2
Branches > main > 72082f2 > files
Don't wrap ServerSocket
Commit: 72082f25b6ff9119433303d2da9d051760028bef
Parent: 0afd85a
2 changed files:
src/net/bowmap/server/network/server.clj view file
@@ -1,25 +1,16 @@ (ns net.bowmap.server.network.server (:require- [clojure.spec.alpha :as s] [net.bowmap.server.network.connection :as connection]) (:import [java.net ServerSocket])) -(defprotocol Server- (accept-connection!! [server]- "Accepts and returns a Connection from the server.- Blocks until the connection is ready.- Throws if a connection cannot be received from the server."))--(s/def ::server #(satisfies? Server %))+(defn accept!! [server]+ (try+ (connection/connection (ServerSocket/.accept server))+ (catch Throwable t+ (ServerSocket/.close server)+ (throw t)))) (defn start-server! [& {:keys [port bind-addr backlog] :or {:backlog 50 :port 0}}]- (let [server-socket (ServerSocket. port backlog bind-addr)]- (reify Server- (accept-connection!! [_]- (try- (connection/connection (ServerSocket/.accept server-socket))- (catch Throwable t- (ServerSocket/.close server-socket)- (throw t)))))))+ (ServerSocket. port backlog bind-addr))src/net/bowmap/server/runtime/connections.clj view file
@@ -42,7 +42,7 @@ (defn handle-connections! [server] (loop []- (let [connection (server/accept-connection!! server)]+ (let [connection (server/accept!! server)] (io-thread (handle-connection! connection)) (recur))))