bytebuf.clj

Branches > client-handling-rewrite > e8d0abe > files / src / dev / grahp / bytebuf.clj

(ns dev.grahp.bytebuf
  (:import
   [io.netty.buffer ByteBuf Unpooled]
   [java.io Writer]))

(defn print-bb [buf]
  (into []
        (comp
          (map #(bit-and % 0xFF))
          (interpose ", "))
        (subvec (vec (.array buf))
                (.readerIndex buf)
                (.writerIndex buf))))

(defmethod print-method ByteBuf [bb w]
  (Writer/.write w (str "#" (Class/.getSimpleName (type bb)) " "))
  (Writer/.write w "[")
  (Writer/.write w (apply str (print-bb bb)))
  (Writer/.write w "]"))