nippy/taoensso.nippy.html

47 lines
20 KiB
HTML
Raw Normal View History

2013-06-01 12:16:45 +00:00
<!DOCTYPE html>
2014-03-12 05:15:19 +00:00
<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">Nippy 2.6.0-RC1 API documentation</a></h1></div><div class="sidebar" id="namespaces"><h3><span>Namespaces</span></h3><ul><li class="current"><a href="taoensso.nippy.html"><span>taoensso.nippy</span></a></li><li><a href="taoensso.nippy.benchmarks.html"><span>taoensso.nippy.benchmarks</span></a></li><li><a href="taoensso.nippy.compression.html"><span>taoensso.nippy.compression</span></a></li><li><a href="taoensso.nippy.encryption.html"><span>taoensso.nippy.encryption</span></a></li><li><a href="taoensso.nippy.tools.html"><span>taoensso.nippy.tools</span></a></li><li><a href="taoensso.nippy.utils.html"><span>taoensso.nippy.utils</span></a></li></ul></div><div class="sidebar" id="vars"><h3>Public Vars</h3><ul><li><a href="taoensso.nippy.html#var-*final-freeze-fallback*"><span>*final-freeze-fallback*</span></a></li><li><a href="taoensso.nippy.html#var--%3ECompressable-LZMA2"><span>-&gt;Compressable-LZMA2</span></a></li><li><a href="taoensso.nippy.html#var--%3EStressRecord"><span>-&gt;StressRecord</span></a></li><li><a href="taoensso.nippy.html#var-Freezable"><span>Freezable</span></a></li><li><a href="taoensso.nippy.html#var-custom-readers"><span>custom-readers</span></a></li><li><a href="taoensso.nippy.html#var-extend-freeze"><span>extend-freeze</span></a></li><li><a href="taoensso.nippy.html#var-extend-thaw"><span>extend-thaw</span></a></li><li><a href="taoensso.nippy.html#var-freeze"><span>freeze</span></a></li><li><a href="taoensso.nippy.html#var-freeze-fallback-as-str"><span>freeze-fallback-as-str</span></a></li><li><a href="taoensso.nippy.html#var-freeze-to-bytes"><span>freeze-to-bytes</span></a></li><li><a href="taoensso.nippy.html#var-freeze-to-out%21"><span>freeze-to-out!</span></a></li><li><a href="taoensso.nippy.html#var-freeze-to-out*"><span>freeze-to-out*</span></a></li><li><a href="taoensso.nippy.html#var-freeze-to-stream%21"><span>freeze-to-stream!</span></a></li><li><a href="taoensso.nippy.html#var-freezeable%3F"><span>freezeable?</span></a></li><li><a href="taoensso.nippy.html#var-id-bigdec"><span>id-bigdec</span></a></li><li><a href="taoensso.nippy.html#var-id-bigint"><span>id-bigint</span></a></li><li><a href="taoensso.nippy.html#var-id-biginteger"><span>id-biginteger</span></a></li><li><a href="taoensso.nippy.html#var-id-boolean"><span>id-boolean</span></a></li><li><a href="taoensso.nippy.html#var-id-byte"><span>id-byte</span></a></li><li><a href="taoensso.nippy.html#var-id-byte-as-long"><span>id-byte-as-long</span></a></li><li><a href="taoensso.nippy.html#var-id-bytes"><span>id-bytes</span></a></li><li><a href="taoensso.nippy.html#var-id-char"><span>id-char</span></a></li><li><a href="taoensso.nippy.html#var-id-date"><span>id-date</span></a></li><li><a href="taoensso.nippy.html#var-id-double"><span>id-double</span></a></li><li><a href="taoensso.nippy.html#var-id-float"><span>id-float</span></a></li><li><a href="taoensso.nippy.html#var-id-int-as-long"><span>id-int-as-long</span></a></li><li><a href="taoensso.nippy.html#var-id-integer"><span>id-integer</span></a></li><li><a href="taoensso.nippy.html#var-id-keyword"><span>id-keyword</span></a></li><li><a href="taoensso.nippy.html#var-id-keyword-small"><span>id-keyword-small</span></a></li><li><a href="taoensso.nippy.html#var-id-list"><span>id-list</span></a></li><li><a href="taoensso.nippy.html#var-id-long"><span>id-long</span></a></li><li><a href="taoensso.nippy.html#var-id-map"><span>id-map</span></a></li><li><a href="taoensso.nippy.html#var-id-meta"><span>id-meta</span></a></li><li><a href="taoensso.nippy.html#var-id-nil"><span>id-nil</span></a></li><li><a href="taoensso.nippy.html#var-id-old-keyword"><span>id-old-keyword</span></a></li><li><a href="taoensso.nip
2014-01-22 12:51:28 +00:00
from Deep-Freeze.</pre><div class="public" id="var-*final-freeze-fallback*"><h3>*final-freeze-fallback*</h3><div class="usage"></div><pre class="doc">Alpha - subject to change.
</pre></div><div class="public" id="var--%3ECompressable-LZMA2"><h3>-&gt;Compressable-LZMA2</h3><div class="usage"><code>(-&gt;Compressable-LZMA2 value)</code></div><pre class="doc">Positional factory function for class taoensso.nippy.Compressable-LZMA2.
2013-11-06 13:56:35 +00:00
</pre></div><div class="public" id="var--%3EStressRecord"><h3>-&gt;StressRecord</h3><div class="usage"><code>(-&gt;StressRecord data)</code></div><pre class="doc">Positional factory function for class taoensso.nippy.StressRecord.
2013-10-25 06:44:53 +00:00
</pre></div><div class="public" id="var-Freezable"><h3>Freezable</h3><div class="usage"></div><pre class="doc">Be careful about extending to interfaces, Ref. http://goo.gl/6gGRlU.
2014-01-22 12:51:28 +00:00
</pre></div><div class="public" id="var-custom-readers"><h3>custom-readers</h3><div class="usage"></div><pre class="doc"></pre></div><div class="public" id="var-extend-freeze"><h3>extend-freeze</h3><h4 class="macro">macro</h4><div class="usage"><code>(extend-freeze type custom-type-id [x out] &amp; body)</code></div><pre class="doc">Alpha - subject to change.
2013-10-25 06:44:53 +00:00
Extends Nippy to support freezing of a custom type (ideally concrete) with
id ∈[1, 128]:
2013-08-05 06:38:10 +00:00
(defrecord MyType [data])
2014-01-22 12:51:28 +00:00
(extend-freeze MyType 1 [x data-output]
(.writeUTF [data-output] (:data x)))</pre></div><div class="public" id="var-extend-thaw"><h3>extend-thaw</h3><h4 class="macro">macro</h4><div class="usage"><code>(extend-thaw custom-type-id [in] &amp; body)</code></div><pre class="doc">Alpha - subject to change.
2013-08-05 06:38:10 +00:00
Extends Nippy to support thawing of a custom type with id ∈[1, 128]:
2014-01-22 12:51:28 +00:00
(extend-thaw 1 [data-input]
(-&gt;MyType (.readUTF data-input)))</pre></div><div class="public" id="var-freeze"><h3>freeze</h3><div class="usage"><code>(freeze x &amp; [{:keys [password compressor encryptor skip-header?], :or {compressor snappy-compressor, encryptor aes128-encryptor}, :as opts}])</code></div><pre class="doc">Serializes arg (any Clojure data type) to a byte array. For custom types
extend the Clojure reader or see `extend-freeze`.</pre></div><div class="public" id="var-freeze-fallback-as-str"><h3>freeze-fallback-as-str</h3><div class="usage"><code>(freeze-fallback-as-str x out)</code></div><pre class="doc">Alpha-subject to change.
</pre></div><div class="public" id="var-freeze-to-bytes"><h3>freeze-to-bytes</h3><div class="usage"><code>(freeze-to-bytes x &amp; {:keys [compress?], :or {compress? true}})</code></div><pre class="doc">DEPRECATED: Use `freeze` instead.
</pre></div><div class="public" id="var-freeze-to-out%21"><h3>freeze-to-out!</h3><div class="usage"><code>(freeze-to-out! data-output x &amp; _)</code></div><pre class="doc">Low-level API. Serializes arg (any Clojure data type) to a DataOutput.
</pre></div><div class="public" id="var-freeze-to-out*"><h3>freeze-to-out*</h3><div class="usage"><code>(freeze-to-out* this out)</code></div><pre class="doc"></pre></div><div class="public" id="var-freeze-to-stream%21"><h3>freeze-to-stream!</h3><div class="usage"></div><pre class="doc">DEPRECATED: Use `freeze-to-out!` instead.
2014-03-12 05:15:19 +00:00
</pre></div><div class="public" id="var-freezeable%3F"><h3>freezeable?</h3><div class="usage"><code>(freezeable? x &amp; [{:keys [allow-clojure-reader? allow-java-serializable?]}])</code></div><pre class="doc">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'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><div class="public" id="var-id-bigdec"><h3>id-bigdec</h3><div class="usage"></div><pre class="doc"></pre></div><div class="public" id="var-id-bigint"><h3>id-bigint</h3><div class="usage"></div><pre class="doc"></pre></div><div class="public" id="var-id-biginteger"><h3>id-biginteger</h3><div class="usage"></div><pre class="doc"></pre></div><div class="public" id="var-id-boolean"><h3>id-boolean</h3><div class="usage"></div><pre class="doc"></pre></div><div class="public" id="var-id-byte"><h3>id-byte</h3><div class="usage"></div><pre class="doc"></pre></div><div class="public" id="var-id-byte-as-long"><h3>id-byte-as-long</h3><div class="usage"></div><pre class="doc"></pre></div><div class="public" id="var-id-bytes"><h3>id-bytes</h3><div class="usage"></div><pre class="doc"></pre></div><div class="public" id="var-id-char"><h3>id-char</h3><div class="usage"></div><pre class="doc"></pre></div><div class="public" id="var-id-date"><h3>id-date</h3><div class="usage"></div><pre class="doc"></pre></div><div class="public" id="var-id-double"><h3>id-double</h3><div class="usage"></div><pre class="doc"></pre></div><div class="public" id="var-id-float"><h3>id-float</h3><div class="usage"></div><pre class="doc"></pre></div><div class="public" id="var-id-int-as-long"><h3>id-int-as-long</h3><div class="usage"></div><pre class="doc"></pre></div><div class="public" id="var-id-integer"><h3>id-integer</h3><div class="usage"></div><pre class="doc"></pre></div><div class="public" id="var-id-keyword"><h3>id-keyword</h3><div class="usage"></div><pre class="doc"></pre></div><div class="public" id="var-id-keyword-small"><h3>id-keyword-small</h3><div class="usage"></div><pre class="doc"></pre></div><div class="public" id="var-id-list"><h3>id-list</h3><div class="usage"></div><pre class="doc"></pre></div><div class="public" id="var-id-long"><h3>id-long</h3><div class="usage"></div><pre class="doc"></pre></div><div class="public" id="var-id-map"><h3>id-map</h3><div class="usage"></div><pre class="doc"></pre></div><div class="public" id="var-id-meta"><h3>id-meta</h3><div class="usage"></div><pre class="doc"></pre></div><div class="public" id="var-id-nil"><h3>id-nil</h3><div class="usage"></div><pre class="doc"></pre></div><div class="public" id="var-id-old-keyword"><h3>id-old-keyword</h3><div class="usage"></div><pre class="doc"></pre></div><div class="public" id="var-id-old-map"><h3>id-old-map</h3><div class="usage"></div><pre class="doc"></pre></div><div class="public" id="var-id-old-reader"><h3>id-old-reader</h3><div class="usage"></div><pre class="doc"></pre></div><div class="public" id="var-id-old-string"><h3>id-old-string</h3><div class="usage"></div><pre class="doc"></pre></div><div class="public" id="var-id-queue"><h3>id-queue</h3><div class="usage"></div><pre class="doc"></pre></div><div class="public" id="var-id-ratio"><h3>id-ratio</h3><div class="usage"></div><pre class="doc"></pre></div><div class="public" id="var-id-reader"><h3>id-reader</h3><div class="usage"></div><pre class="doc"></pre></div><div class="public" id="var-id-record"><h3>id-record</h3><div class="usage"></div><pre class="doc"></pre></div><div class="public" id="var-id-reserved"><h3>id-reserved</h3><div class="usage"></div><pre class="doc"></pre></div><div class="public" id="var-id-seq"><h3>id-seq</h3><div class="usage"></div><pre class="doc"></pre></div><div class="public" id="var-id-serializable"><h3>id-serializable</h3><div class="usage"></div><pre class="doc"></pre></div><div class="public" id="var-id-set"><h3>id-set</h3><div class="usage"></div><pre class="doc"></pre></div><div class="public" id="var-id-short"><h3>id-short</h3><div class="usage"></div><pre class="doc"></pre></div><div class="public" id="var-id-short-as-long"><h3>id-short-as-long</h3><div class="usage"></div><pre class="doc"></pre></div><div class="public" id="var-id-sorted-map"><h3>id-sorted-map</h3><div class="usage"></div><pre class="doc"></pre></div><div class="public" id="var-id-sorted-set"><h3>id-sorted-set</h3><
</pre></div><div class="public" id="var-map-%3ECompressable-LZMA2"><h3>map-&gt;Compressable-LZMA2</h3><div class="usage"><code>(map-&gt;Compressable-LZMA2 m__5869__auto__)</code></div><pre class="doc">Factory function for class taoensso.nippy.Compressable-LZMA2, taking a map of keywords to field values.
</pre></div><div class="public" id="var-map-%3EStressRecord"><h3>map-&gt;StressRecord</h3><div class="usage"><code>(map-&gt;StressRecord m__5869__auto__)</code></div><pre class="doc">Factory function for class taoensso.nippy.StressRecord, taking a map of keywords to field values.
</pre></div><div class="public" id="var-read-biginteger"><h3>read-biginteger</h3><h4 class="macro">macro</h4><div class="usage"><code>(read-biginteger in)</code></div><pre class="doc"></pre></div><div class="public" id="var-read-bytes"><h3>read-bytes</h3><h4 class="macro">macro</h4><div class="usage"><code>(read-bytes in &amp; [small?])</code></div><pre class="doc"></pre></div><div class="public" id="var-read-compact-long"><h3>read-compact-long</h3><h4 class="macro">macro</h4><div class="usage"><code>(read-compact-long in)</code></div><pre class="doc">EXPERIMENTAL!
</pre></div><div class="public" id="var-read-utf8"><h3>read-utf8</h3><h4 class="macro">macro</h4><div class="usage"><code>(read-utf8 in &amp; [small?])</code></div><pre class="doc"></pre></div><div class="public" id="var-stress-data"><h3>stress-data</h3><div class="usage"></div><pre class="doc">Reference data used for tests &amp; benchmarks.
2014-01-22 12:51:28 +00:00
</pre></div><div class="public" id="var-stress-data-benchable"><h3>stress-data-benchable</h3><div class="usage"></div><pre class="doc">Reference data with stuff removed that breaks reader or other utils we'll
be benching against.</pre></div><div class="public" id="var-stress-data-comparable"><h3>stress-data-comparable</h3><div class="usage"></div><pre class="doc">Reference data with stuff removed that breaks roundtrip equality.
</pre></div><div class="public" id="var-thaw"><h3>thaw</h3><div class="usage"><code>(thaw ba &amp; [{:keys [password compressor encryptor headerless-meta], :or {compressor snappy-compressor, encryptor aes128-encryptor, headerless-meta {:version 1, :compressed? true, :encrypted? false}}, :as opts}])</code></div><pre class="doc">Deserializes a frozen object from given byte array to its original Clojure
data type. By default[1] supports data frozen with current and all previous
versions of Nippy. For custom types extend the Clojure reader or see
`extend-thaw`.
[1] :headerless-meta provides a fallback facility for data frozen without a
standard Nippy header (notably all Nippy v1 data). A default is provided for
Nippy v1 thaw compatibility, but it's recommended that you _disable_ this
fallback (`{:headerless-meta nil}`) if you're certain you won't be thawing
headerless data.</pre></div><div class="public" id="var-thaw-from-bytes"><h3>thaw-from-bytes</h3><div class="usage"><code>(thaw-from-bytes ba &amp; {:keys [compressed?], :or {compressed? true}})</code></div><pre class="doc">DEPRECATED: Use `thaw` instead.
</pre></div><div class="public" id="var-thaw-from-in%21"><h3>thaw-from-in!</h3><div class="usage"><code>(thaw-from-in! data-input &amp; _)</code></div><pre class="doc">Low-level API. Deserializes a frozen object from given DataInput to its
original Clojure data type.</pre></div><div class="public" id="var-thaw-from-stream%21"><h3>thaw-from-stream!</h3><div class="usage"></div><pre class="doc">DEPRECATED: Use `thaw-from-in!` instead.
2014-03-12 05:15:19 +00:00
</pre></div><div class="public" id="var-when-debug-mode"><h3>when-debug-mode</h3><h4 class="macro">macro</h4><div class="usage"><code>(when-debug-mode &amp; body)</code></div><pre class="doc"></pre></div><div class="public" id="var-write-biginteger"><h3>write-biginteger</h3><h4 class="macro">macro</h4><div class="usage"><code>(write-biginteger out x)</code></div><pre class="doc"></pre></div><div class="public" id="var-write-bytes"><h3>write-bytes</h3><h4 class="macro">macro</h4><div class="usage"><code>(write-bytes out ba &amp; [small?])</code></div><pre class="doc"></pre></div><div class="public" id="var-write-compact-long"><h3>write-compact-long</h3><h4 class="macro">macro</h4><div class="usage"><code>(write-compact-long out x)</code></div><pre class="doc">EXPERIMENTAL! Uses 2-&gt;9 bytes.
</pre></div><div class="public" id="var-write-id"><h3>write-id</h3><h4 class="macro">macro</h4><div class="usage"><code>(write-id out id)</code></div><pre class="doc"></pre></div><div class="public" id="var-write-utf8"><h3>write-utf8</h3><h4 class="macro">macro</h4><div class="usage"><code>(write-utf8 out x &amp; [small?])</code></div><pre class="doc"></pre></div></div></body></html>