nippy/taoensso.nippy.html
Peter Taoussanis 28c0c00b13 v2.11.0-RC1
2016-01-23 11:15:51 +07:00

106 lines
No EOL
54 KiB
HTML

<!DOCTYPE html>
<html><head><meta charset="UTF-8"><link href="css/default.css" rel="stylesheet" type="text/css"><script src="js/jquery.min.js" type="text/javascript"></script><script src="js/page_effects.js" type="text/javascript"></script><title>taoensso.nippy documentation</title></head><body><div id="header"><h2>Generated by <a href="https://github.com/weavejester/codox">Codox</a></h2><h1><a href="index.html"><span class="project-title"><span class="project-name">Nippy</span> <span class="project-version">2.11.0-RC1</span></span></a></h1></div><div class="sidebar primary"><h3 class="no-link"><span class="inner">Project</span></h3><ul class="index-link"><li class="depth-1 "><a href="index.html"><div class="inner">Index</div></a></li></ul><h3 class="no-link"><span class="inner">Namespaces</span></h3><ul><li class="depth-1"><div class="no-link"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>taoensso</span></div></div></li><li class="depth-2 current"><a href="taoensso.nippy.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>nippy</span></div></a></li><li class="depth-3 branch"><a href="taoensso.nippy.benchmarks.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>benchmarks</span></div></a></li><li class="depth-3 branch"><a href="taoensso.nippy.compression.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>compression</span></div></a></li><li class="depth-3 branch"><a href="taoensso.nippy.encryption.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>encryption</span></div></a></li><li class="depth-3 branch"><a href="taoensso.nippy.tools.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>tools</span></div></a></li><li class="depth-3"><a href="taoensso.nippy.utils.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>utils</span></div></a></li></ul></div><div class="sidebar secondary"><h3><a href="#top"><span class="inner">Public Vars</span></a></h3><ul><li class="depth-1"><a href="taoensso.nippy.html#var-*custom-readers*"><div class="inner"><span>*custom-readers*</span></div></a></li><li class="depth-1"><a href="taoensso.nippy.html#var-*default-freeze-compressor-selector*"><div class="inner"><span>*default-freeze-compressor-selector*</span></div></a></li><li class="depth-1"><a href="taoensso.nippy.html#var-*final-freeze-fallback*"><div class="inner"><span>*final-freeze-fallback*</span></div></a></li><li class="depth-1"><a href="taoensso.nippy.html#var--.3ECompressable-LZMA2"><div class="inner"><span>-&gt;Compressable-LZMA2</span></div></a></li><li class="depth-1"><a href="taoensso.nippy.html#var--.3EStressRecord"><div class="inner"><span>-&gt;StressRecord</span></div></a></li><li class="depth-1"><a href="taoensso.nippy.html#var-aes128-encryptor"><div class="inner"><span>aes128-encryptor</span></div></a></li><li class="depth-1"><a href="taoensso.nippy.html#var-byte-sized.3F"><div class="inner"><span>byte-sized?</span></div></a></li><li class="depth-1"><a href="taoensso.nippy.html#var-compress"><div class="inner"><span>compress</span></div></a></li><li class="depth-1"><a href="taoensso.nippy.html#var-decompress"><div class="inner"><span>decompress</span></div></a></li><li class="depth-1"><a href="taoensso.nippy.html#var-decrypt"><div class="inner"><span>decrypt</span></div></a></li><li class="depth-1"><a href="taoensso.nippy.html#var-default-freeze-compressor-selector"><div class="inner"><span>default-freeze-compressor-selector</span></div></a></li><li class="depth-1"><a href="taoensso.nippy.html#var-encrypt"><div class="inner"><span>encrypt</span></div></a></li><li class="depth-1"><a href="taoensso.nippy.html#var-extend-freeze"><div class="inner"><span>extend-freeze</span></div></a></li><li class="depth-1"><a href="taoensso.nippy.html#var-extend-thaw"><div class="inner"><span>extend-thaw</span></div></a></li><li class="depth-1"><a href="taoensso.nippy.html#var-Freezable"><div class="inner"><span>Freezable</span></div></a></li><li class="depth-2"><a href="taoensso.nippy.html#var--freeze-to-out"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>-freeze-to-out</span></div></a></li><li class="depth-1"><a href="taoensso.nippy.html#var-freezable.3F"><div class="inner"><span>freezable?</span></div></a></li><li class="depth-1"><a href="taoensso.nippy.html#var-freeze"><div class="inner"><span>freeze</span></div></a></li><li class="depth-1"><a href="taoensso.nippy.html#var-freeze-fallback-as-str"><div class="inner"><span>freeze-fallback-as-str</span></div></a></li><li class="depth-1"><a href="taoensso.nippy.html#var-freeze-to-out.21"><div class="inner"><span>freeze-to-out!</span></div></a></li><li class="depth-1"><a href="taoensso.nippy.html#var-id-bigdec"><div class="inner"><span>id-bigdec</span></div></a></li><li class="depth-1"><a href="taoensso.nippy.html#var-id-bigint"><div class="inner"><span>id-bigint</span></div></a></li><li class="depth-1"><a href="taoensso.nippy.html#var-id-biginteger"><div class="inner"><span>id-biginteger</span></div></a></li><li class="depth-1"><a href="taoensso.nippy.html#var-id-boolean"><div class="inner"><span>id-boolean</span></div></a></li><li class="depth-1"><a href="taoensso.nippy.html#var-id-byte"><div class="inner"><span>id-byte</span></div></a></li><li class="depth-1"><a href="taoensso.nippy.html#var-id-byte-as-long"><div class="inner"><span>id-byte-as-long</span></div></a></li><li class="depth-1"><a href="taoensso.nippy.html#var-id-bytes"><div class="inner"><span>id-bytes</span></div></a></li><li class="depth-1"><a href="taoensso.nippy.html#var-id-char"><div class="inner"><span>id-char</span></div></a></li><li class="depth-1"><a href="taoensso.nippy.html#var-id-date"><div class="inner"><span>id-date</span></div></a></li><li class="depth-1"><a href="taoensso.nippy.html#var-id-double"><div class="inner"><span>id-double</span></div></a></li><li class="depth-1"><a href="taoensso.nippy.html#var-id-float"><div class="inner"><span>id-float</span></div></a></li><li class="depth-1"><a href="taoensso.nippy.html#var-id-int-as-long"><div class="inner"><span>id-int-as-long</span></div></a></li><li class="depth-1"><a href="taoensso.nippy.html#var-id-integer"><div class="inner"><span>id-integer</span></div></a></li><li class="depth-1"><a href="taoensso.nippy.html#var-id-keyword"><div class="inner"><span>id-keyword</span></div></a></li><li class="depth-1"><a href="taoensso.nippy.html#var-id-keyword-depr1"><div class="inner"><span>id-keyword-depr1</span></div></a></li><li class="depth-1"><a href="taoensso.nippy.html#var-id-list"><div class="inner"><span>id-list</span></div></a></li><li class="depth-1"><a href="taoensso.nippy.html#var-id-long"><div class="inner"><span>id-long</span></div></a></li><li class="depth-1"><a href="taoensso.nippy.html#var-id-map"><div class="inner"><span>id-map</span></div></a></li><li class="depth-1"><a href="taoensso.nippy.html#var-id-map-depr1"><div class="inner"><span>id-map-depr1</span></div></a></li><li class="depth-1"><a href="taoensso.nippy.html#var-id-map-depr2"><div class="inner"><span>id-map-depr2</span></div></a></li><li class="depth-1"><a href="taoensso.nippy.html#var-id-meta"><div class="inner"><span>id-meta</span></div></a></li><li class="depth-1"><a href="taoensso.nippy.html#var-id-nil"><div class="inner"><span>id-nil</span></div></a></li><li class="depth-1"><a href="taoensso.nippy.html#var-id-prefixed-custom"><div class="inner"><span>id-prefixed-custom</span></div></a></li><li class="depth-1"><a href="taoensso.nippy.html#var-id-queue"><div class="inner"><span>id-queue</span></div></a></li><li class="depth-1"><a href="taoensso.nippy.html#var-id-ratio"><div class="inner"><span>id-ratio</span></div></a></li><li class="depth-1"><a href="taoensso.nippy.html#var-id-reader"><div class="inner"><span>id-reader</span></div></a></li><li class="depth-1"><a href="taoensso.nippy.html#var-id-reader-depr1"><div class="inner"><span>id-reader-depr1</span></div></a></li><li class="depth-1"><a href="taoensso.nippy.html#var-id-record"><div class="inner"><span>id-record</span></div></a></li><li class="depth-1"><a href="taoensso.nippy.html#var-id-reserved"><div class="inner"><span>id-reserved</span></div></a></li><li class="depth-1"><a href="taoensso.nippy.html#var-id-seq"><div class="inner"><span>id-seq</span></div></a></li><li class="depth-1"><a href="taoensso.nippy.html#var-id-serializable"><div class="inner"><span>id-serializable</span></div></a></li><li class="depth-1"><a href="taoensso.nippy.html#var-id-set"><div class="inner"><span>id-set</span></div></a></li><li class="depth-1"><a href="taoensso.nippy.html#var-id-short"><div class="inner"><span>id-short</span></div></a></li><li class="depth-1"><a href="taoensso.nippy.html#var-id-short-as-long"><div class="inner"><span>id-short-as-long</span></div></a></li><li class="depth-1"><a href="taoensso.nippy.html#var-id-sm-bytes"><div class="inner"><span>id-sm-bytes</span></div></a></li><li class="depth-1"><a href="taoensso.nippy.html#var-id-sm-keyword"><div class="inner"><span>id-sm-keyword</span></div></a></li><li class="depth-1"><a href="taoensso.nippy.html#var-id-sm-map"><div class="inner"><span>id-sm-map</span></div></a></li><li class="depth-1"><a href="taoensso.nippy.html#var-id-sm-set"><div class="inner"><span>id-sm-set</span></div></a></li><li class="depth-1"><a href="taoensso.nippy.html#var-id-sm-string"><div class="inner"><span>id-sm-string</span></div></a></li><li class="depth-1"><a href="taoensso.nippy.html#var-id-sm-vec"><div class="inner"><span>id-sm-vec</span></div></a></li><li class="depth-1"><a href="taoensso.nippy.html#var-id-sorted-map"><div class="inner"><span>id-sorted-map</span></div></a></li><li class="depth-1"><a href="taoensso.nippy.html#var-id-sorted-map-depr1"><div class="inner"><span>id-sorted-map-depr1</span></div></a></li><li class="depth-1"><a href="taoensso.nippy.html#var-id-sorted-set"><div class="inner"><span>id-sorted-set</span></div></a></li><li class="depth-1"><a href="taoensso.nippy.html#var-id-string"><div class="inner"><span>id-string</span></div></a></li><li class="depth-1"><a href="taoensso.nippy.html#var-id-string-depr1"><div class="inner"><span>id-string-depr1</span></div></a></li><li class="depth-1"><a href="taoensso.nippy.html#var-id-uuid"><div class="inner"><span>id-uuid</span></div></a></li><li class="depth-1"><a href="taoensso.nippy.html#var-id-vec"><div class="inner"><span>id-vec</span></div></a></li><li class="depth-1"><a href="taoensso.nippy.html#var-inspect-ba"><div class="inner"><span>inspect-ba</span></div></a></li><li class="depth-1"><a href="taoensso.nippy.html#var-lz4-compressor"><div class="inner"><span>lz4-compressor</span></div></a></li><li class="depth-1"><a href="taoensso.nippy.html#var-lz4hc-compressor"><div class="inner"><span>lz4hc-compressor</span></div></a></li><li class="depth-1"><a href="taoensso.nippy.html#var-lzma2-compressor"><div class="inner"><span>lzma2-compressor</span></div></a></li><li class="depth-1"><a href="taoensso.nippy.html#var-map-.3ECompressable-LZMA2"><div class="inner"><span>map-&gt;Compressable-LZMA2</span></div></a></li><li class="depth-1"><a href="taoensso.nippy.html#var-map-.3EStressRecord"><div class="inner"><span>map-&gt;StressRecord</span></div></a></li><li class="depth-1"><a href="taoensso.nippy.html#var-read-biginteger"><div class="inner"><span>read-biginteger</span></div></a></li><li class="depth-1"><a href="taoensso.nippy.html#var-read-bytes"><div class="inner"><span>read-bytes</span></div></a></li><li class="depth-1"><a href="taoensso.nippy.html#var-read-coll"><div class="inner"><span>read-coll</span></div></a></li><li class="depth-1"><a href="taoensso.nippy.html#var-read-kvs"><div class="inner"><span>read-kvs</span></div></a></li><li class="depth-1"><a href="taoensso.nippy.html#var-read-kvs-depr1"><div class="inner"><span>read-kvs-depr1</span></div></a></li><li class="depth-1"><a href="taoensso.nippy.html#var-read-sm-bytes"><div class="inner"><span>read-sm-bytes</span></div></a></li><li class="depth-1"><a href="taoensso.nippy.html#var-read-sm-coll"><div class="inner"><span>read-sm-coll</span></div></a></li><li class="depth-1"><a href="taoensso.nippy.html#var-read-sm-kvs"><div class="inner"><span>read-sm-kvs</span></div></a></li><li class="depth-1"><a href="taoensso.nippy.html#var-read-sm-utf8"><div class="inner"><span>read-sm-utf8</span></div></a></li><li class="depth-1"><a href="taoensso.nippy.html#var-read-utf8"><div class="inner"><span>read-utf8</span></div></a></li><li class="depth-1"><a href="taoensso.nippy.html#var-set-default-freeze-compressor-selector.21"><div class="inner"><span>set-default-freeze-compressor-selector!</span></div></a></li><li class="depth-1"><a href="taoensso.nippy.html#var-short-sized.3F"><div class="inner"><span>short-sized?</span></div></a></li><li class="depth-1"><a href="taoensso.nippy.html#var-snappy-compressor"><div class="inner"><span>snappy-compressor</span></div></a></li><li class="depth-1"><a href="taoensso.nippy.html#var-stress-data"><div class="inner"><span>stress-data</span></div></a></li><li class="depth-1"><a href="taoensso.nippy.html#var-stress-data-benchable"><div class="inner"><span>stress-data-benchable</span></div></a></li><li class="depth-1"><a href="taoensso.nippy.html#var-stress-data-comparable"><div class="inner"><span>stress-data-comparable</span></div></a></li><li class="depth-1"><a href="taoensso.nippy.html#var-swap-custom-readers.21"><div class="inner"><span>swap-custom-readers!</span></div></a></li><li class="depth-1"><a href="taoensso.nippy.html#var-thaw"><div class="inner"><span>thaw</span></div></a></li><li class="depth-1"><a href="taoensso.nippy.html#var-thaw-from-in.21"><div class="inner"><span>thaw-from-in!</span></div></a></li><li class="depth-1"><a href="taoensso.nippy.html#var-when-debug"><div class="inner"><span>when-debug</span></div></a></li><li class="depth-1"><a href="taoensso.nippy.html#var-write-biginteger"><div class="inner"><span>write-biginteger</span></div></a></li><li class="depth-1"><a href="taoensso.nippy.html#var-write-bytes"><div class="inner"><span>write-bytes</span></div></a></li><li class="depth-1"><a href="taoensso.nippy.html#var-write-id"><div class="inner"><span>write-id</span></div></a></li><li class="depth-1"><a href="taoensso.nippy.html#var-write-ided-bytes"><div class="inner"><span>write-ided-bytes</span></div></a></li><li class="depth-1"><a href="taoensso.nippy.html#var-write-ided-coll"><div class="inner"><span>write-ided-coll</span></div></a></li><li class="depth-1"><a href="taoensso.nippy.html#var-write-ided-keyword"><div class="inner"><span>write-ided-keyword</span></div></a></li><li class="depth-1"><a href="taoensso.nippy.html#var-write-ided-kvs"><div class="inner"><span>write-ided-kvs</span></div></a></li><li class="depth-1"><a href="taoensso.nippy.html#var-write-ided-long"><div class="inner"><span>write-ided-long</span></div></a></li><li class="depth-1"><a href="taoensso.nippy.html#var-write-ided-map"><div class="inner"><span>write-ided-map</span></div></a></li><li class="depth-1"><a href="taoensso.nippy.html#var-write-ided-set"><div class="inner"><span>write-ided-set</span></div></a></li><li class="depth-1"><a href="taoensso.nippy.html#var-write-ided-string"><div class="inner"><span>write-ided-string</span></div></a></li><li class="depth-1"><a href="taoensso.nippy.html#var-write-ided-vec"><div class="inner"><span>write-ided-vec</span></div></a></li><li class="depth-1"><a href="taoensso.nippy.html#var-write-sm-bytes"><div class="inner"><span>write-sm-bytes</span></div></a></li><li class="depth-1"><a href="taoensso.nippy.html#var-write-sm-utf8"><div class="inner"><span>write-sm-utf8</span></div></a></li><li class="depth-1"><a href="taoensso.nippy.html#var-write-utf8"><div class="inner"><span>write-utf8</span></div></a></li></ul></div><div class="namespace-docs" id="content"><h1 class="anchor" id="top">taoensso.nippy</h1><div class="doc"><pre class="plaintext">High-performance serialization library for Clojure.
Originally adapted from Deep-Freeze (Ref. <a href="https://goo.gl/OePPGr)">https://goo.gl/OePPGr)</a>.</pre></div><div class="public anchor" id="var-*custom-readers*"><h3>*custom-readers*</h3><h4 class="dynamic">dynamic</h4><div class="usage"></div><div class="doc"><pre class="plaintext">{&lt;hash-or-byte-id&gt; (fn [data-input])}
</pre></div><div class="src-link"><a href="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L496">view source</a></div></div><div class="public anchor" id="var-*default-freeze-compressor-selector*"><h3>*default-freeze-compressor-selector*</h3><h4 class="dynamic">dynamic</h4><div class="usage"></div><div class="doc"><pre class="plaintext">(fn selector [^bytes ba])-&gt;compressor used by `(freeze &lt;x&gt; {:compressor :auto}).
</pre></div><div class="src-link"><a href="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L393">view source</a></div></div><div class="public anchor" id="var-*final-freeze-fallback*"><h3>*final-freeze-fallback*</h3><h4 class="dynamic">dynamic</h4><div class="usage"></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L331">view source</a></div></div><div class="public anchor" id="var--.3ECompressable-LZMA2"><h3>-&gt;Compressable-LZMA2</h3><div class="usage"><code>(-&gt;Compressable-LZMA2 value)</code></div><div class="doc"><pre class="plaintext">Positional factory function for class taoensso.nippy.Compressable-LZMA2.
</pre></div><div class="src-link"><a href="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L944">view source</a></div></div><div class="public anchor" id="var--.3EStressRecord"><h3>-&gt;StressRecord</h3><div class="usage"><code>(-&gt;StressRecord data)</code></div><div class="doc"><pre class="plaintext">Positional factory function for class taoensso.nippy.StressRecord.
</pre></div><div class="src-link"><a href="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L841">view source</a></div></div><div class="public anchor" id="var-aes128-encryptor"><h3>aes128-encryptor</h3><div class="usage"></div><div class="doc"><pre class="plaintext">Default 128bit AES encryptor with many-round SHA-512 key-gen.
Password form [:salted &quot;my-password&quot;]
---------------------------------------
USE CASE: You want more than a small, finite number of passwords (e.g. each
item encrypted will use a unique user-provided password).
IMPLEMENTATION: Uses a relatively cheap key hash, but automatically salts
every key.
PROS: Each key is independent so would need to be attacked independently.
CONS: Key caching impossible, so there&apos;s an inherent trade-off between
encryption/decryption speed and the difficulty of attacking any
particular key.
Slower than `aes128-cached`, and easier to attack any particular key - but
keys are independent.
Password form [:cached &quot;my-password&quot;]
---------------------------------------
USE CASE: You want only a small, finite number of passwords (e.g. a limited
number of staff/admins, or you&apos;ll be using a single password to
encrypt many items).
IMPLEMENTATION: Uses a _very_ expensive (but cached) key hash, and no salt.
PROS: Great amortized encryption/decryption speed. Expensive key hash makes
attacking any particular key very difficult.
CONS: Using a small number of keys for many encrypted items means that if any
key _is_ somehow compromised, _all_ items encrypted with that key are
compromised.
Faster than `aes128-salted`, and harder to attack any particular key - but
increased danger if a key is somehow compromised.</pre></div><div class="src-link"><a href="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L150">view source</a></div></div><div class="public anchor" id="var-byte-sized.3F"><h3>byte-sized?</h3><div class="usage"><code>(byte-sized? n)</code></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L177">view source</a></div></div><div class="public anchor" id="var-compress"><h3>compress</h3><div class="usage"><code>(compress compressor ba)</code></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L141">view source</a></div></div><div class="public anchor" id="var-decompress"><h3>decompress</h3><div class="usage"><code>(decompress compressor ba)</code></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L142">view source</a></div></div><div class="public anchor" id="var-decrypt"><h3>decrypt</h3><div class="usage"><code>(decrypt encryptor pwd ba)</code></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L149">view source</a></div></div><div class="public anchor" id="var-default-freeze-compressor-selector"><h3>default-freeze-compressor-selector</h3><div class="usage"><code>(default-freeze-compressor-selector ba)</code></div><div class="doc"><pre class="plaintext">Strategy:
* Prioritize speed, but allow lz4.
* Skip lz4 unless it&apos;s likely that lz4&apos;s space benefit will outweigh its
space overhead.</pre></div><div class="src-link"><a href="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L380">view source</a></div></div><div class="public anchor" id="var-encrypt"><h3>encrypt</h3><div class="usage"><code>(encrypt encryptor pwd ba)</code></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L148">view source</a></div></div><div class="public anchor" id="var-extend-freeze"><h3>extend-freeze</h3><h4 class="type">macro</h4><div class="usage"><code>(extend-freeze type custom-type-id [x out] &amp; body)</code></div><div class="doc"><pre class="plaintext">Extends Nippy to support freezing of a custom type (ideally concrete) with
given id of form:
* Keyword - 2 byte overhead, resistent to id collisions
* Integer ∈[1, 128] - no overhead, subject to id collisions
(defrecord MyType [data])
(extend-freeze MyType :foo/my-type [x data-output] ; Keyword id
(.writeUTF [data-output] (:data x)))
;; or
(extend-freeze MyType 1 [x data-output] ; Byte id
(.writeUTF [data-output] (:data x)))</pre></div><div class="src-link"><a href="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L788">view source</a></div></div><div class="public anchor" id="var-extend-thaw"><h3>extend-thaw</h3><h4 class="type">macro</h4><div class="usage"><code>(extend-thaw custom-type-id [in] &amp; body)</code></div><div class="doc"><pre class="plaintext">Extends Nippy to support thawing of a custom type with given id:
(extend-thaw :foo/my-type [data-input] ; Keyword id
(-&gt;MyType (.readUTF data-input)))
;; or
(extend-thaw 1 [data-input] ; Byte id
(-&gt;MyType (.readUTF data-input)))</pre></div><div class="src-link"><a href="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L812">view source</a></div></div><div class="public anchor" id="var-Freezable"><h3>Freezable</h3><h4 class="type">protocol</h4><div class="usage"></div><div class="doc"><pre class="plaintext">Implementation detail. Be careful about extending to interfaces,
Ref. <a href="http://goo.gl/6gGRlU">http://goo.gl/6gGRlU</a>.</pre></div><div class="members"><h4>members</h4><div class="inner"><div class="public anchor" id="var--freeze-to-out"><h3>-freeze-to-out</h3><div class="usage"><code>(-freeze-to-out this out)</code></div><div class="doc"><pre class="plaintext"></pre></div></div></div></div><div class="src-link"><a href="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L156">view source</a></div></div><div class="public anchor" id="var-freezable.3F"><h3>freezable?</h3><div class="usage"><code>(freezable? x &amp; [{:keys [allow-clojure-reader? allow-java-serializable?]}])</code></div><div class="doc"><pre class="plaintext">Alpha - subject to change, MAY BE BUGGY!
Returns truthy value iff Nippy supports de/serialization of given argument.
Conservative with default options.
`:allow-clojure-reader?` and `:allow-java-serializable?` options may be used
to also enable the relevant roundtrip fallback test(s). These tests are only
**moderately reliable** since they&apos;re cached by arg type and don&apos;t test for
pre/post serialization equality (there&apos;s no good general way of doing so).</pre></div><div class="src-link"><a href="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L152">view source</a></div></div><div class="public anchor" id="var-freeze"><h3>freeze</h3><div class="usage"><code>(freeze x)</code><code>(freeze x {:keys [compressor encryptor password], :or {compressor :auto, encryptor aes128-encryptor}, :as opts})</code></div><div class="doc"><pre class="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><div class="src-link"><a href="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L402">view source</a></div></div><div class="public anchor" id="var-freeze-fallback-as-str"><h3>freeze-fallback-as-str</h3><div class="usage"><code>(freeze-fallback-as-str out x)</code></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L332">view source</a></div></div><div class="public anchor" id="var-freeze-to-out.21"><h3>freeze-to-out!</h3><div class="usage"><code>(freeze-to-out! data-output x)</code></div><div class="doc"><pre class="plaintext">Serializes arg (any Clojure data type) to a DataOutput
</pre></div><div class="src-link"><a href="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L217">view source</a></div></div><div class="public anchor" id="var-id-bigdec"><h3>id-bigdec</h3><div class="usage"></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L104">view source</a></div></div><div class="public anchor" id="var-id-bigint"><h3>id-bigint</h3><div class="usage"></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L99">view source</a></div></div><div class="public anchor" id="var-id-biginteger"><h3>id-biginteger</h3><div class="usage"></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L100">view source</a></div></div><div class="public anchor" id="var-id-boolean"><h3>id-boolean</h3><div class="usage"></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L71">view source</a></div></div><div class="public anchor" id="var-id-byte"><h3>id-byte</h3><div class="usage"></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L95">view source</a></div></div><div class="public anchor" id="var-id-byte-as-long"><h3>id-byte-as-long</h3><div class="usage"></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L116">view source</a></div></div><div class="public anchor" id="var-id-bytes"><h3>id-bytes</h3><div class="usage"></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L69">view source</a></div></div><div class="public anchor" id="var-id-char"><h3>id-char</h3><div class="usage"></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L76">view source</a></div></div><div class="public anchor" id="var-id-date"><h3>id-date</h3><div class="usage"></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L112">view source</a></div></div><div class="public anchor" id="var-id-double"><h3>id-double</h3><div class="usage"></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L103">view source</a></div></div><div class="public anchor" id="var-id-float"><h3>id-float</h3><div class="usage"></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L102">view source</a></div></div><div class="public anchor" id="var-id-int-as-long"><h3>id-int-as-long</h3><div class="usage"></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L118">view source</a></div></div><div class="public anchor" id="var-id-integer"><h3>id-integer</h3><div class="usage"></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L97">view source</a></div></div><div class="public anchor" id="var-id-keyword"><h3>id-keyword</h3><div class="usage"></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L80">view source</a></div></div><div class="public anchor" id="var-id-keyword-depr1"><h3>id-keyword-depr1</h3><div class="usage"></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L133">view source</a></div></div><div class="public anchor" id="var-id-list"><h3>id-list</h3><div class="usage"></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L82">view source</a></div></div><div class="public anchor" id="var-id-long"><h3>id-long</h3><div class="usage"></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L98">view source</a></div></div><div class="public anchor" id="var-id-map"><h3>id-map</h3><div class="usage"></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L92">view source</a></div></div><div class="public anchor" id="var-id-map-depr1"><h3>id-map-depr1</h3><div class="usage"></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L132">view source</a></div></div><div class="public anchor" id="var-id-map-depr2"><h3>id-map-depr2</h3><div class="usage"></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L134">view source</a></div></div><div class="public anchor" id="var-id-meta"><h3>id-meta</h3><div class="usage"></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L87">view source</a></div></div><div class="public anchor" id="var-id-nil"><h3>id-nil</h3><div class="usage"></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L70">view source</a></div></div><div class="public anchor" id="var-id-prefixed-custom"><h3>id-prefixed-custom</h3><div class="usage"></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L110">view source</a></div></div><div class="public anchor" id="var-id-queue"><h3>id-queue</h3><div class="usage"></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L88">view source</a></div></div><div class="public anchor" id="var-id-ratio"><h3>id-ratio</h3><div class="usage"></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L106">view source</a></div></div><div class="public anchor" id="var-id-reader"><h3>id-reader</h3><div class="usage"></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L72">view source</a></div></div><div class="public anchor" id="var-id-reader-depr1"><h3>id-reader-depr1</h3><div class="usage"></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L130">view source</a></div></div><div class="public anchor" id="var-id-record"><h3>id-record</h3><div class="usage"></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L108">view source</a></div></div><div class="public anchor" id="var-id-reserved"><h3>id-reserved</h3><div class="usage"></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L67">view source</a></div></div><div class="public anchor" id="var-id-seq"><h3>id-seq</h3><div class="usage"></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L86">view source</a></div></div><div class="public anchor" id="var-id-serializable"><h3>id-serializable</h3><div class="usage"></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L73">view source</a></div></div><div class="public anchor" id="var-id-set"><h3>id-set</h3><div class="usage"></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L85">view source</a></div></div><div class="public anchor" id="var-id-short"><h3>id-short</h3><div class="usage"></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L96">view source</a></div></div><div class="public anchor" id="var-id-short-as-long"><h3>id-short-as-long</h3><div class="usage"></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L117">view source</a></div></div><div class="public anchor" id="var-id-sm-bytes"><h3>id-sm-bytes</h3><div class="usage"></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L74">view source</a></div></div><div class="public anchor" id="var-id-sm-keyword"><h3>id-sm-keyword</h3><div class="usage"></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L121">view source</a></div></div><div class="public anchor" id="var-id-sm-map"><h3>id-sm-map</h3><div class="usage"></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L125">view source</a></div></div><div class="public anchor" id="var-id-sm-set"><h3>id-sm-set</h3><div class="usage"></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L124">view source</a></div></div><div class="public anchor" id="var-id-sm-string"><h3>id-sm-string</h3><div class="usage"></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L120">view source</a></div></div><div class="public anchor" id="var-id-sm-vec"><h3>id-sm-vec</h3><div class="usage"></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L123">view source</a></div></div><div class="public anchor" id="var-id-sorted-map"><h3>id-sorted-map</h3><div class="usage"></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L93">view source</a></div></div><div class="public anchor" id="var-id-sorted-map-depr1"><h3>id-sorted-map-depr1</h3><div class="usage"></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L135">view source</a></div></div><div class="public anchor" id="var-id-sorted-set"><h3>id-sorted-set</h3><div class="usage"></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L90">view source</a></div></div><div class="public anchor" id="var-id-string"><h3>id-string</h3><div class="usage"></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L79">view source</a></div></div><div class="public anchor" id="var-id-string-depr1"><h3>id-string-depr1</h3><div class="usage"></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L131">view source</a></div></div><div class="public anchor" id="var-id-uuid"><h3>id-uuid</h3><div class="usage"></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L113">view source</a></div></div><div class="public anchor" id="var-id-vec"><h3>id-vec</h3><div class="usage"></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L83">view source</a></div></div><div class="public anchor" id="var-inspect-ba"><h3>inspect-ba</h3><div class="usage"><code>(inspect-ba ba)</code><code>(inspect-ba ba thaw-opts)</code></div><div class="doc"><pre class="plaintext">Alpha - subject to change
</pre></div><div class="src-link"><a href="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L913">view source</a></div></div><div class="public anchor" id="var-lz4-compressor"><h3>lz4-compressor</h3><div class="usage"></div><div class="doc"><pre class="plaintext">Default net.jpountz.lz4 compressor:
Ratio: low.
Write speed: very high.
Read speed: very high.
A good general-purpose compressor, competitive with Snappy.
Thanks to Max Penet (@mpenet) for our first implementation,
Ref. <a href="https://github.com/mpenet/nippy-lz4">https://github.com/mpenet/nippy-lz4</a></pre></div><div class="src-link"><a href="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L145">view source</a></div></div><div class="public anchor" id="var-lz4hc-compressor"><h3>lz4hc-compressor</h3><div class="usage"></div><div class="doc"><pre class="plaintext">Like `lz4-compressor` but trades some write speed for ratio.
</pre></div><div class="src-link"><a href="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L146">view source</a></div></div><div class="public anchor" id="var-lzma2-compressor"><h3>lzma2-compressor</h3><div class="usage"></div><div class="doc"><pre class="plaintext">Default org.tukaani.xz.LZMA2 compressor:
Ratio: high.
Write speed: _very_ slow (also currently single-threaded).
Read speed: slow.
A specialized compressor for large, low-write data in space-sensitive
environments.</pre></div><div class="src-link"><a href="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L144">view source</a></div></div><div class="public anchor" id="var-map-.3ECompressable-LZMA2"><h3>map-&gt;Compressable-LZMA2</h3><div class="usage"><code>(map-&gt;Compressable-LZMA2 m__6518__auto__)</code></div><div class="doc"><pre class="plaintext">Factory function for class taoensso.nippy.Compressable-LZMA2, taking a map of keywords to field values.
</pre></div><div class="src-link"><a href="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L944">view source</a></div></div><div class="public anchor" id="var-map-.3EStressRecord"><h3>map-&gt;StressRecord</h3><div class="usage"><code>(map-&gt;StressRecord m__6518__auto__)</code></div><div class="doc"><pre class="plaintext">Factory function for class taoensso.nippy.StressRecord, taking a map of keywords to field values.
</pre></div><div class="src-link"><a href="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L841">view source</a></div></div><div class="public anchor" id="var-read-biginteger"><h3>read-biginteger</h3><div class="usage"><code>(read-biginteger in)</code></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L472">view source</a></div></div><div class="public anchor" id="var-read-bytes"><h3>read-bytes</h3><div class="usage"><code>(read-bytes in)</code></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L460">view source</a></div></div><div class="public anchor" id="var-read-coll"><h3>read-coll</h3><div class="usage"><code>(read-coll in to-coll)</code></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L476">view source</a></div></div><div class="public anchor" id="var-read-kvs"><h3>read-kvs</h3><div class="usage"><code>(read-kvs in to-coll)</code></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L482">view source</a></div></div><div class="public anchor" id="var-read-kvs-depr1"><h3>read-kvs-depr1</h3><div class="usage"><code>(read-kvs-depr1 in to-coll)</code></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L490">view source</a></div></div><div class="public anchor" id="var-read-sm-bytes"><h3>read-sm-bytes</h3><div class="usage"><code>(read-sm-bytes in)</code></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L466">view source</a></div></div><div class="public anchor" id="var-read-sm-coll"><h3>read-sm-coll</h3><div class="usage"><code>(read-sm-coll in to-coll)</code></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L479">view source</a></div></div><div class="public anchor" id="var-read-sm-kvs"><h3>read-sm-kvs</h3><div class="usage"><code>(read-sm-kvs in to-coll)</code></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L486">view source</a></div></div><div class="public anchor" id="var-read-sm-utf8"><h3>read-sm-utf8</h3><div class="usage"><code>(read-sm-utf8 in)</code></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L474">view source</a></div></div><div class="public anchor" id="var-read-utf8"><h3>read-utf8</h3><div class="usage"><code>(read-utf8 in)</code></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L473">view source</a></div></div><div class="public anchor" id="var-set-default-freeze-compressor-selector.21"><h3>set-default-freeze-compressor-selector!</h3><div class="usage"><code>(set-default-freeze-compressor-selector! selector)</code></div><div class="doc"><pre class="plaintext">Sets root binding of `*default-freeze-compressor-selector*`
</pre></div><div class="src-link"><a href="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L397">view source</a></div></div><div class="public anchor" id="var-short-sized.3F"><h3>short-sized?</h3><div class="usage"><code>(short-sized? n)</code></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L178">view source</a></div></div><div class="public anchor" id="var-snappy-compressor"><h3>snappy-compressor</h3><div class="usage"></div><div class="doc"><pre class="plaintext">Default org.iq80.snappy.Snappy compressor:
Ratio: low.
Write speed: very high.
Read speed: very high.
A good general-purpose compressor.</pre></div><div class="src-link"><a href="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L143">view source</a></div></div><div class="public anchor" id="var-stress-data"><h3>stress-data</h3><div class="usage"></div><div class="doc"><pre class="plaintext">Reference data used for tests &amp; benchmarks
</pre></div><div class="src-link"><a href="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L842">view source</a></div></div><div class="public anchor" id="var-stress-data-benchable"><h3>stress-data-benchable</h3><div class="usage"></div><div class="doc"><pre class="plaintext">Reference data with stuff removed that breaks reader or other utils we&apos;ll
be benching against</pre></div><div class="src-link"><a href="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L905">view source</a></div></div><div class="public anchor" id="var-stress-data-comparable"><h3>stress-data-comparable</h3><div class="usage"></div><div class="doc"><pre class="plaintext">Reference data with stuff removed that breaks roundtrip equality
</pre></div><div class="src-link"><a href="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L901">view source</a></div></div><div class="public anchor" id="var-swap-custom-readers.21"><h3>swap-custom-readers!</h3><div class="usage"><code>(swap-custom-readers! f)</code></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L497">view source</a></div></div><div class="public anchor" id="var-thaw"><h3>thaw</h3><div class="usage"><code>(thaw ba)</code><code>(thaw ba {:keys [v1-compatibility? compressor encryptor password], :or {compressor :auto, encryptor :auto}, :as opts})</code></div><div class="doc"><pre class="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
legacy versions of Nippy.
Options include:
: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><div class="src-link"><a href="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L668">view source</a></div></div><div class="public anchor" id="var-thaw-from-in.21"><h3>thaw-from-in!</h3><div class="usage"><code>(thaw-from-in! data-input)</code></div><div class="doc"><pre class="plaintext">Deserializes a frozen object from given DataInput to its original Clojure
data type</pre></div><div class="src-link"><a href="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L514">view source</a></div></div><div class="public anchor" id="var-when-debug"><h3>when-debug</h3><h4 class="type">macro</h4><div class="usage"><code>(when-debug &amp; body)</code></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L60">view source</a></div></div><div class="public anchor" id="var-write-biginteger"><h3>write-biginteger</h3><div class="usage"><code>(write-biginteger out n)</code></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L173">view source</a></div></div><div class="public anchor" id="var-write-bytes"><h3>write-bytes</h3><div class="usage"><code>(write-bytes out ba)</code></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L162">view source</a></div></div><div class="public anchor" id="var-write-id"><h3>write-id</h3><h4 class="type">macro</h4><div class="usage"><code>(write-id out id)</code></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L161">view source</a></div></div><div class="public anchor" id="var-write-ided-bytes"><h3>write-ided-bytes</h3><div class="usage"><code>(write-ided-bytes out ba)</code><code>(write-ided-bytes out id-sm id ba)</code></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L180">view source</a></div></div><div class="public anchor" id="var-write-ided-coll"><h3>write-ided-coll</h3><div class="usage"><code>(write-ided-coll out ?id-sm id coll)</code></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L226">view source</a></div></div><div class="public anchor" id="var-write-ided-keyword"><h3>write-ided-keyword</h3><div class="usage"><code>(write-ided-keyword out kw)</code></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L192">view source</a></div></div><div class="public anchor" id="var-write-ided-kvs"><h3>write-ided-kvs</h3><div class="usage"><code>(write-ided-kvs out ?id-sm id coll)</code></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L252">view source</a></div></div><div class="public anchor" id="var-write-ided-long"><h3>write-ided-long</h3><div class="usage"><code>(write-ided-long out n)</code></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L196">view source</a></div></div><div class="public anchor" id="var-write-ided-map"><h3>write-ided-map</h3><div class="usage"><code>(write-ided-map out m)</code></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L267">view source</a></div></div><div class="public anchor" id="var-write-ided-set"><h3>write-ided-set</h3><div class="usage"><code>(write-ided-set out s)</code></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L266">view source</a></div></div><div class="public anchor" id="var-write-ided-string"><h3>write-ided-string</h3><div class="usage"><code>(write-ided-string out s)</code></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L189">view source</a></div></div><div class="public anchor" id="var-write-ided-vec"><h3>write-ided-vec</h3><div class="usage"><code>(write-ided-vec out v)</code></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L265">view source</a></div></div><div class="public anchor" id="var-write-sm-bytes"><h3>write-sm-bytes</h3><div class="usage"><code>(write-sm-bytes out ba)</code></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L167">view source</a></div></div><div class="public anchor" id="var-write-sm-utf8"><h3>write-sm-utf8</h3><div class="usage"><code>(write-sm-utf8 out s)</code></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L175">view source</a></div></div><div class="public anchor" id="var-write-utf8"><h3>write-utf8</h3><div class="usage"><code>(write-utf8 out s)</code></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/ptaoussanis/nippy/blob/master/src/taoensso/nippy.clj#L174">view source</a></div></div></div></body></html>