<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.1.0 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]:
(extend-thaw 1 [data-input-stream]
(->MyType (.readUTF data-input-stream)))</pre></div><divclass="public"id="var-freeze"><h3>freeze</h3><divclass="usage"><code>(freeze x & [{:keys [print-dup? password compressor encryptor legacy-mode], :or {print-dup? true, compressor snappy-compressor, encryptor aes128-encryptor}}])</code></div><preclass="doc">Serializes arg (any Clojure data type) to a byte array. Set :legacy-mode to
true to produce bytes readble by Nippy < 2.x. For custom types extend the
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 [print-dup? compress?], :or {print-dup? true, 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 & [{:keys [print-dup?], :or {print-dup? true}}])</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 [read-eval? password compressor encryptor legacy-opts readers], :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
data type. Supports data frozen with current and all previous versions of
Nippy. For custom types extend the Clojure reader or see `extend-thaw`.
you are sure you know what you're doing.</pre></div><divclass="public"id="var-thaw-from-bytes"><h3>thaw-from-bytes</h3><divclass="usage"><code>(thaw-from-bytes ba & {:keys [read-eval? 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 & [{:keys [read-eval?]}])</code></div><preclass="doc">Low-level API. Deserializes a frozen object from given DataInputStream to its
original Clojure data type.</pre></div></div></body></html>