<html><head><linkhref="css/default.css"rel="stylesheet"type="text/css"><scriptsrc="js/jquery.min.js"type="text/javascript"></script><scriptsrc="js/page_effects.js"type="text/javascript"></script><title>taoensso.nippy documentation</title></head><body><divid="header"><h2>Generated by <ahref="https://github.com/weavejester/codox">Codox</a></h2><h1><ahref="index.html">Nippy 2.2.0-RC1 API documentation</a></h1></div><divclass="sidebar"id="namespaces"><h3><span>Namespaces</span></h3><ul><liclass="current"><ahref="taoensso.nippy.html"><span>taoensso.nippy</span></a></li><li><ahref="taoensso.nippy.benchmarks.html"><span>taoensso.nippy.benchmarks</span></a></li><li><ahref="taoensso.nippy.compression.html"><span>taoensso.nippy.compression</span></a></li><li><ahref="taoensso.nippy.encryption.html"><span>taoensso.nippy.encryption</span></a></li><li><ahref="taoensso.nippy.tools.html"><span>taoensso.nippy.tools</span></a></li><li><ahref="taoensso.nippy.utils.html"><span>taoensso.nippy.utils</span></a></li></ul></div><divclass="sidebar"id="vars"><h3>Public Vars</h3><ul><li><ahref="taoensso.nippy.html#var-extend-freeze"><span>extend-freeze</span></a></li><li><ahref="taoensso.nippy.html#var-extend-thaw"><span>extend-thaw</span></a></li><li><ahref="taoensso.nippy.html#var-freeze"><span>freeze</span></a></li><li><ahref="taoensso.nippy.html#var-freeze-to-bytes"><span>freeze-to-bytes</span></a></li><li><ahref="taoensso.nippy.html#var-freeze-to-stream%21"><span>freeze-to-stream!</span></a></li><li><ahref="taoensso.nippy.html#var-stress-data"><span>stress-data</span></a></li><li><ahref="taoensso.nippy.html#var-thaw"><span>thaw</span></a></li><li><ahref="taoensso.nippy.html#var-thaw-from-bytes"><span>thaw-from-bytes</span></a></li><li><ahref="taoensso.nippy.html#var-thaw-from-stream%21"><span>thaw-from-stream!</span></a></li></ul></div><divclass="namespace-docs"id="content"><h2>taoensso.nippy documentation</h2><preclass="doc">Simple, high-performance Clojure serialization library. Originally adapted
from Deep-Freeze.</pre><divclass="public"id="var-extend-freeze"><h3>extend-freeze</h3><h4class="macro">macro</h4><divclass="usage"><code>(extend-freeze type custom-type-id [x stream] & body)</code></div><preclass="doc">Alpha - subject to change.
Extends Nippy to support freezing of a custom type with id ∈[1, 128]:
(defrecord MyType [data])
(extend-freeze MyType 1 [x data-output-stream]
(.writeUTF [data-output-stream] (:data x)))</pre></div><divclass="public"id="var-extend-thaw"><h3>extend-thaw</h3><h4class="macro">macro</h4><divclass="usage"><code>(extend-thaw custom-type-id [stream] & body)</code></div><preclass="doc">Alpha - subject to change.
Extends Nippy to support thawing of a custom type with id ∈[1, 128]:
(->MyType (.readUTF data-input-stream)))</pre></div><divclass="public"id="var-freeze"><h3>freeze</h3><divclass="usage"><code>(freeze x & [{:keys [password compressor encryptor legacy-mode], :or {compressor snappy-compressor, encryptor aes128-encryptor}}])</code></div><preclass="doc">Serializes arg (any Clojure data type) to a byte array. Set :legacy-mode to
Clojure reader or see `extend-freeze`.</pre></div><divclass="public"id="var-freeze-to-bytes"><h3>freeze-to-bytes</h3><divclass="usage"><code>(freeze-to-bytes x & {:keys [compress?], :or {compress? true}})</code></div><preclass="doc">DEPRECATED: Use `freeze` instead.
</pre></div><divclass="public"id="var-freeze-to-stream%21"><h3>freeze-to-stream!</h3><divclass="usage"><code>(freeze-to-stream! data-output-stream x & _)</code></div><preclass="doc">Low-level API. Serializes arg (any Clojure data type) to a DataOutputStream.
</pre></div><divclass="public"id="var-stress-data"><h3>stress-data</h3><divclass="usage"></div><preclass="doc">Reference data used for tests & benchmarks.
</pre></div><divclass="public"id="var-thaw"><h3>thaw</h3><divclass="usage"><code>(thaw ba & [{:keys [password compressor encryptor legacy-opts], :or {legacy-opts {:compressed? true}, compressor snappy-compressor, encryptor aes128-encryptor}, :as opts}])</code></div><preclass="doc">Deserializes a frozen object from given byte array to its original Clojure
Nippy. For custom types extend the Clojure reader or see `extend-thaw`.</pre></div><divclass="public"id="var-thaw-from-bytes"><h3>thaw-from-bytes</h3><divclass="usage"><code>(thaw-from-bytes ba & {:keys [compressed?], :or {compressed? true}})</code></div><preclass="doc">DEPRECATED: Use `thaw` instead.
</pre></div><divclass="public"id="var-thaw-from-stream%21"><h3>thaw-from-stream!</h3><divclass="usage"><code>(thaw-from-stream! data-input-stream)</code></div><preclass="doc">Low-level API. Deserializes a frozen object from given DataInputStream to its