cd61e30

Branches > namespace-reorganization > cd61e30 > files / src / net / bowmap / network / packet

Switch to checked keys (:keys!) in destructuring

Grahp, 2026-07-08

Commit: cd61e3017c055339ca0a4833aa42a73964de25b3
Parent: b4541f0

3 changed files:

src/net/bowmap/minecraft_server.clj modified (view file)

@@ -62,12 +62,12 @@  ; TODO make reloadable, if port is already running, just swap it out? ; TODO this is networking, and so should be in net.bowmap.server.network-(defn start-server! [{:keys [port]}]-  (let [{::server/keys [server client-chan]} (server/start-tcp-server! {:port port})]+(defn start-server! [{:keys! [port]}]+  (let [{::server/keys! [server client-chan]} (server/start-tcp-server! {:port port})]     (io-thread       ; Loop over the instance?       (loop []-        (when-some [{::server/keys [packets-in packets-out]} (<!! client-chan)]+        (when-some [{::server/keys! [packets-in packets-out]} (<!! client-chan)]           (connect! (client) packets-in packets-out)           (recur)))))   nil)

src/net/bowmap/network/packet/read.clj modified (view file)

@@ -77,7 +77,7 @@   ; TODO other one too   (let [table (S/ensure-conform ::t/table table-fields)]     (fn [buf]-      (reduce (fn [acc {::t/keys [field codec]}]+      (reduce (fn [acc {::t/keys! [field codec]}]                 (adorn (if-some [x (codec buf)]                          (assoc acc field x)                          acc)

src/net/bowmap/network/server.clj modified (view file)

@@ -16,7 +16,7 @@     (put! client-chan {::packets-in packets-in                        ::packets-out packets-out}))) -(defn start-tcp-server! [& {:keys [port]}]+(defn start-tcp-server! [& {:keys! [port]}]   (let [client-chan (chan 64)]     {::server (tcp/start-server (fn [stream info]                                   (handle-client client-chan stream info))