Originally adapted from Deep-Freeze (Ref. <ahref="https://goo.gl/OePPGr)">https://goo.gl/OePPGr)</a>.</pre></div><divclass="public anchor"id="var-*custom-readers*"><h3>*custom-readers*</h3><h4class="dynamic">dynamic</h4><divclass="usage"></div><divclass="doc"><preclass="plaintext">{<hash-or-byte-id> (fn [data-input])}
</pre></div><divclass="src-link"><ahref="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L496">view source</a></div></div><divclass="public anchor"id="var-*default-freeze-compressor-selector*"><h3>*default-freeze-compressor-selector*</h3><h4class="dynamic">dynamic</h4><divclass="usage"></div><divclass="doc"><preclass="plaintext">(fn selector [^bytes ba])->compressor used by `(freeze <x> {:compressor :auto}).
</pre></div><divclass="src-link"><ahref="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L393">view source</a></div></div><divclass="public anchor"id="var-*final-freeze-fallback*"><h3>*final-freeze-fallback*</h3><h4class="dynamic">dynamic</h4><divclass="usage"></div><divclass="doc"><preclass="plaintext"></pre></div><divclass="src-link"><ahref="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L331">view source</a></div></div><divclass="public anchor"id="var--.3ECompressable-LZMA2"><h3>->Compressable-LZMA2</h3><divclass="usage"><code>(->Compressable-LZMA2 value)</code></div><divclass="doc"><preclass="plaintext">Positional factory function for class taoensso.nippy.Compressable-LZMA2.
</pre></div><divclass="src-link"><ahref="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L944">view source</a></div></div><divclass="public anchor"id="var--.3EStressRecord"><h3>->StressRecord</h3><divclass="usage"><code>(->StressRecord data)</code></div><divclass="doc"><preclass="plaintext">Positional factory function for class taoensso.nippy.StressRecord.
space overhead.</pre></div><divclass="src-link"><ahref="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L380">view source</a></div></div><divclass="public anchor"id="var-encrypt"><h3>encrypt</h3><divclass="usage"><code>(encrypt encryptor pwd ba)</code></div><divclass="doc"><preclass="plaintext"></pre></div><divclass="src-link"><ahref="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L148">view source</a></div></div><divclass="public anchor"id="var-extend-freeze"><h3>extend-freeze</h3><h4class="type">macro</h4><divclass="usage"><code>(extend-freeze type custom-type-id [x out] & body)</code></div><divclass="doc"><preclass="plaintext">Extends Nippy to support freezing of a custom type (ideally concrete) with
(.writeUTF [data-output] (:data x)))</pre></div><divclass="src-link"><ahref="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L788">view source</a></div></div><divclass="public anchor"id="var-extend-thaw"><h3>extend-thaw</h3><h4class="type">macro</h4><divclass="usage"><code>(extend-thaw custom-type-id [in] & body)</code></div><divclass="doc"><preclass="plaintext">Extends Nippy to support thawing of a custom type with given id:
(->MyType (.readUTF data-input)))</pre></div><divclass="src-link"><ahref="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L812">view source</a></div></div><divclass="public anchor"id="var-Freezable"><h3>Freezable</h3><h4class="type">protocol</h4><divclass="usage"></div><divclass="doc"><preclass="plaintext">Implementation detail. Be careful about extending to interfaces,
Ref. <ahref="http://goo.gl/6gGRlU">http://goo.gl/6gGRlU</a>.</pre></div><divclass="members"><h4>members</h4><divclass="inner"><divclass="public anchor"id="var--freeze-to-out"><h3>-freeze-to-out</h3><divclass="usage"><code>(-freeze-to-out this out)</code></div><divclass="doc"><preclass="plaintext"></pre></div></div></div></div><divclass="src-link"><ahref="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L156">view source</a></div></div><divclass="public anchor"id="var-freezable.3F"><h3>freezable?</h3><divclass="usage"><code>(freezable? x & [{:keys [allow-clojure-reader? allow-java-serializable?]}])</code></div><divclass="doc"><preclass="plaintext">Alpha - subject to change, MAY BE BUGGY!
**moderately reliable** since they're cached by arg type and don't test for
pre/post serialization equality (there's no good general way of doing so).</pre></div><divclass="src-link"><ahref="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L152">view source</a></div></div><divclass="public anchor"id="var-freeze"><h3>freeze</h3><divclass="usage"><code>(freeze x)</code><code>(freeze x {:keys [compressor encryptor password], :or {compressor :auto, encryptor aes128-encryptor}, :as opts})</code></div><divclass="doc"><preclass="plaintext">Serializes arg (any Clojure data type) to a byte array. To freeze custom
types, extend the Clojure reader or see `extend-freeze`.</pre></div><divclass="src-link"><ahref="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L402">view source</a></div></div><divclass="public anchor"id="var-freeze-fallback-as-str"><h3>freeze-fallback-as-str</h3><divclass="usage"><code>(freeze-fallback-as-str out x)</code></div><divclass="doc"><preclass="plaintext"></pre></div><divclass="src-link"><ahref="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L332">view source</a></div></div><divclass="public anchor"id="var-freeze-to-out.21"><h3>freeze-to-out!</h3><divclass="usage"><code>(freeze-to-out! data-output x)</code></div><divclass="doc"><preclass="plaintext">Serializes arg (any Clojure data type) to a DataOutput
Ref. <ahref="https://github.com/mpenet/nippy-lz4">https://github.com/mpenet/nippy-lz4</a></pre></div><divclass="src-link"><ahref="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L145">view source</a></div></div><divclass="public anchor"id="var-lz4hc-compressor"><h3>lz4hc-compressor</h3><divclass="usage"></div><divclass="doc"><preclass="plaintext">Like `lz4-compressor` but trades some write speed for ratio.
environments.</pre></div><divclass="src-link"><ahref="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L144">view source</a></div></div><divclass="public anchor"id="var-map-.3ECompressable-LZMA2"><h3>map->Compressable-LZMA2</h3><divclass="usage"><code>(map->Compressable-LZMA2 m__6522__auto__)</code></div><divclass="doc"><preclass="plaintext">Factory function for class taoensso.nippy.Compressable-LZMA2, taking a map of keywords to field values.
</pre></div><divclass="src-link"><ahref="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L944">view source</a></div></div><divclass="public anchor"id="var-map-.3EStressRecord"><h3>map->StressRecord</h3><divclass="usage"><code>(map->StressRecord m__6522__auto__)</code></div><divclass="doc"><preclass="plaintext">Factory function for class taoensso.nippy.StressRecord, taking a map of keywords to field values.
A good general-purpose compressor.</pre></div><divclass="src-link"><ahref="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L143">view source</a></div></div><divclass="public anchor"id="var-stress-data"><h3>stress-data</h3><divclass="usage"></div><divclass="doc"><preclass="plaintext">Reference data used for tests & benchmarks
</pre></div><divclass="src-link"><ahref="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L842">view source</a></div></div><divclass="public anchor"id="var-stress-data-benchable"><h3>stress-data-benchable</h3><divclass="usage"></div><divclass="doc"><preclass="plaintext">Reference data with stuff removed that breaks reader or other utils we'll
be benching against</pre></div><divclass="src-link"><ahref="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L905">view source</a></div></div><divclass="public anchor"id="var-stress-data-comparable"><h3>stress-data-comparable</h3><divclass="usage"></div><divclass="doc"><preclass="plaintext">Reference data with stuff removed that breaks roundtrip equality
</pre></div><divclass="src-link"><ahref="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L901">view source</a></div></div><divclass="public anchor"id="var-swap-custom-readers.21"><h3>swap-custom-readers!</h3><divclass="usage"><code>(swap-custom-readers! f)</code></div><divclass="doc"><preclass="plaintext"></pre></div><divclass="src-link"><ahref="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L497">view source</a></div></div><divclass="public anchor"id="var-thaw"><h3>thaw</h3><divclass="usage"><code>(thaw ba)</code><code>(thaw ba {:keys [v1-compatibility? compressor encryptor password], :or {compressor :auto, encryptor :auto}, :as opts})</code></div><divclass="doc"><preclass="plaintext">Deserializes a frozen object from given byte array to its original Clojure
data type. To thaw custom types, extend the Clojure reader or see `extend-thaw`.
** By default, supports data frozen with Nippy v2+ ONLY **
Add `{:v1-compatibility? true}` option to support thawing of data frozen with
:v1-compatibility? - support data frozen by legacy versions of Nippy?
:compressor - :auto (checks header, default) an ICompressor, or nil
:encryptor - :auto (checks header, default), an IEncryptor, or nil</pre></div><divclass="src-link"><ahref="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L668">view source</a></div></div><divclass="public anchor"id="var-thaw-from-in.21"><h3>thaw-from-in!</h3><divclass="usage"><code>(thaw-from-in! data-input)</code></div><divclass="doc"><preclass="plaintext">Deserializes a frozen object from given DataInput to its original Clojure
data type</pre></div><divclass="src-link"><ahref="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L514">view source</a></div></div><divclass="public anchor"id="var-when-debug"><h3>when-debug</h3><h4class="type">macro</h4><divclass="usage"><code>(when-debug & body)</code></div><divclass="doc"><preclass="plaintext"></pre></div><divclass="src-link"><ahref="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L60">view source</a></div></div><divclass="public anchor"id="var-write-biginteger"><h3>write-biginteger</h3><divclass="usage"><code>(write-biginteger out n)</code></div><divclass="doc"><preclass="plaintext"></pre></div><divclass="src-link"><ahref="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L173">view source</a></div></div><divclass="public anchor"id="var-write-bytes"><h3>write-bytes</h3><divclass="usage"><code>(write-bytes out ba)</code></div><divclass="doc"><preclass="plaintext"></pre></div><divclass="src-link"><ahref="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L162">view source</a></div></div><divclass="public anchor"id="var-write-id"><h3>write-id</h3><h4class="type">macro</h4><divclass="usage"><code>(write-id out id)</code></div><divclass="doc"><preclass="plaintext"></pre></div><divclass="src-link"><ahref="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L161">view source</a></div></div><divclass="public anchor"id="var-write-ided-bytes"><h3>write-ided-bytes</h3><divclass="usage"><code>(write-ided-bytes out ba)</code><code>(write-ided-bytes out id-sm id ba)</code></div><divclass="doc"><preclass="plaintext"></pre></div><divclass="src-link"><ahref="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L180">view source</a></div></div><divclass="public anchor"id="var-write-ided-coll"><h3>write-ided-coll</h3><divclass="usage"><code>(write-ided-coll out ?id-sm id coll)</code></div><divclass="doc"><preclass="plaintext"></pre></div><divclass="src-link"><ahref="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L226">view source</a></div></div><divclass="public anchor"id="var-write-ided-keyword"><h3>write-ided-keyword</h3><divclass="usage"><code>(write-ided-keyword out kw)</code></div><divclass="doc"><preclass="plaintext"></pre></div><divclass="src-link"><ahref="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L192">view source</a></div></div><divclass="public anchor"id="var-write-ided-kvs"><h3>write-ided-kvs</h3><divclass="usage"><code>(write-ided-kvs out ?id-sm id coll)</code></div><divclass="doc"><preclass="plaintext"></pre></div><divclass="src-link"><ahref="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L252">view source</a></div></div><divclass="public anchor"id="var-write-ided-long"><h3>write-ided-long</h3><divclass="usage"><code>(write-ided-long out n)</code></div><divclass="doc"><preclass="plaintext"></pre></div><divclass="src-link"><ahref="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L196">view source</a></div></div><divclass="public anchor"id="var-write-ided-map"><h3>write-ided-map</h3><divclass="usage"><code>(write-ided-map out m)</code></div><divclass="doc"><preclass="plaintext"></pre></div><divclass="src-link"><ahref="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L267">view source</a></div></div><divclass="public anchor"id="var-write-ided-set"><h3>write-ided-set</h3><divclass="usage"><code>(write-ided-set out s)</code></div><divclass="doc"><preclass="plaintext"></pre></div><divclass="src-link"><ahref="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L266">view source</a></div></div><divclass="public anchor"id="var-write-ided-string"><h3>write-ided-string</h3><divclass="usage"><code>(write-ided-string out s)</code></div><divclass="doc"><preclass="plaintext"></pre></div><divclass="src-link"><ahref="https://github.com/ptaoussanis/nippy/blob/ma