Skip to content

Instantly share code, notes, and snippets.

@duanebester
Created September 26, 2021 20:43
Show Gist options
  • Save duanebester/7e51363ed0799b9eef1995d607e60564 to your computer and use it in GitHub Desktop.
Save duanebester/7e51363ed0799b9eef1995d607e60564 to your computer and use it in GitHub Desktop.
Parse backend message header and read entire message
(defn- parse-header [bb]
(let [_ (.flip bb)
tag (.get bb)
len (.getInt bb)]
(log/info (str "RECEIVED TAG: " tag ", LENGTH: " len))
[tag len]))
(defn- read-message [tag len client]
(let [bb (ByteBuffer/allocate (+ 1 len)) ;; Allocate for full message
_ (.put bb tag) ;; Add back tag
_ (.putInt bb len) ;; Add back length
_ (.read client bb)] ;; Read rest of message
(.flip bb)))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment