From 137b550fa887f9485c101b4eaf3b2e3f107f3e0e Mon Sep 17 00:00:00 2001 From: Peter Taoussanis Date: Fri, 10 Jun 2016 11:00:39 +0700 Subject: [PATCH] v2.12.0-beta1 --- css/default.css | 3 +- index.html | 5 +- taoensso.nippy.benchmarks.html | 2 +- taoensso.nippy.compression.html | 10 ++-- taoensso.nippy.encryption.html | 12 ++--- taoensso.nippy.html | 85 +++++++++++++++++++-------------- taoensso.nippy.tools.html | 16 +++---- taoensso.nippy.utils.html | 14 +++--- 8 files changed, 81 insertions(+), 66 deletions(-) diff --git a/css/default.css b/css/default.css index 6cfd894..a552239 100644 --- a/css/default.css +++ b/css/default.css @@ -465,11 +465,12 @@ p { border: 1px solid #e0e0e0; border-radius: 2px; padding: 5px 10px; - margin: 0 10px; + margin: 15px 10px; } pre.deps { display: inline-block; + margin: 0 10px; } .markdown pre code { diff --git a/index.html b/index.html index 81c15cf..03e74a2 100644 --- a/index.html +++ b/index.html @@ -1,5 +1,4 @@ -Nippy 2.11.0

Nippy 2.11.0

High-performance serialization library for Clojure.

Installation

To install, add the following dependency to your project or build file:

[com.taoensso/nippy "2.11.0"]

Namespaces

taoensso.nippy

High-performance serialization library for Clojure.
-Originally adapted from Deep-Freeze (Ref. https://goo.gl/OePPGr).

taoensso.nippy.encryption

Simple no-nonsense crypto with reasonable defaults.

taoensso.nippy.tools

Utilities for third-party tools that want to add fully-user-configurable
-Nippy support. Used by Carmine and Faraday.

taoensso.nippy.utils

Public variables and functions:

\ No newline at end of file +Nippy 2.12.0-beta1

Nippy 2.12.0-beta1

High-performance serialization library for Clojure.

Installation

To install, add the following dependency to your project or build file:

[com.taoensso/nippy "2.12.0-beta1"]

Namespaces

taoensso.nippy.encryption

Simple no-nonsense crypto with reasonable defaults

taoensso.nippy.tools

Utils for 3rd-party tools that want to add user-configurable Nippy support.
+Used by Carmine, Faraday, etc.

taoensso.nippy.utils

Public variables and functions:

\ No newline at end of file diff --git a/taoensso.nippy.benchmarks.html b/taoensso.nippy.benchmarks.html index 3f09dbe..d686f4f 100644 --- a/taoensso.nippy.benchmarks.html +++ b/taoensso.nippy.benchmarks.html @@ -1,3 +1,3 @@ -taoensso.nippy.benchmarks documentation

taoensso.nippy.benchmarks

bench

(bench {:keys [reader? lzma2? fressian? laps], :or {laps 1}})

bench*

macro

(bench* & body)

bench1

(bench1 freezer thawer & [sizer])

fressian-freeze

(fressian-freeze value)

fressian-thaw

(fressian-thaw value)
\ No newline at end of file +taoensso.nippy.benchmarks documentation

taoensso.nippy.benchmarks

bench

(bench {:keys [reader? lzma2? fressian? laps], :or {laps 1}})

bench*

macro

(bench* & body)

bench1

(bench1 freezer thawer & [sizer])

fressian-freeze

(fressian-freeze value)

fressian-thaw

(fressian-thaw value)
\ No newline at end of file diff --git a/taoensso.nippy.compression.html b/taoensso.nippy.compression.html index 9a21920..b0e2aa1 100644 --- a/taoensso.nippy.compression.html +++ b/taoensso.nippy.compression.html @@ -1,9 +1,9 @@ -taoensso.nippy.compression documentation

taoensso.nippy.compression

->LZ4Compressor

(->LZ4Compressor compressor decompressor)
Positional factory function for class taoensso.nippy.compression.LZ4Compressor.
+taoensso.nippy.compression documentation

taoensso.nippy.compression

->LZ4Compressor

(->LZ4Compressor compressor decompressor)
Positional factory function for class taoensso.nippy.compression.LZ4Compressor.
 

->LZMA2Compressor

(->LZMA2Compressor compression-level)
Positional factory function for class taoensso.nippy.compression.LZMA2Compressor.
-

->SnappyCompressor

(->SnappyCompressor)
Positional factory function for class taoensso.nippy.compression.SnappyCompressor.
-

ICompressor

protocol

members

compress

(compress compressor ba)

decompress

(decompress compressor ba)

header-id

(header-id compressor)

lz4-compressor

Default net.jpountz.lz4 compressor:
+

->SnappyCompressor

(->SnappyCompressor)
Positional factory function for class taoensso.nippy.compression.SnappyCompressor.
+

ICompressor

protocol

members

compress

(compress compressor ba)

decompress

(decompress compressor ba)

header-id

(header-id compressor)

lz4-compressor

Default net.jpountz.lz4 compressor:
       Ratio: low.
 Write speed: very high.
  Read speed: very high.
@@ -23,5 +23,5 @@ environments.

standard-header-ids

These'll support :auto thaw.
-
\ No newline at end of file +A good general-purpose compressor.

standard-header-ids

These'll support :auto thaw
+
\ No newline at end of file diff --git a/taoensso.nippy.encryption.html b/taoensso.nippy.encryption.html index cbf1ad8..39b1b15 100644 --- a/taoensso.nippy.encryption.html +++ b/taoensso.nippy.encryption.html @@ -1,8 +1,8 @@ -taoensso.nippy.encryption documentation

taoensso.nippy.encryption

Simple no-nonsense crypto with reasonable defaults.
-

->AES128Encryptor

(->AES128Encryptor key-gen key-cache)
Positional factory function for class taoensso.nippy.encryption.AES128Encryptor.
-

aes128-encryptor

Default 128bit AES encryptor with many-round SHA-512 key-gen.
+taoensso.nippy.encryption documentation

taoensso.nippy.encryption

Simple no-nonsense crypto with reasonable defaults
+

->AES128Encryptor

(->AES128Encryptor header-id keyfn cached-keyfn)
Positional factory function for class taoensso.nippy.encryption.AES128Encryptor.
+

aes128-encryptor

Default 128bit AES encryptor with many-round SHA-512 key-gen.
 
 Password form [:salted "my-password"]
 ---------------------------------------
@@ -35,6 +35,6 @@ CONS: Using a small number of keys for many encrypted items means that if any
       compromised.
 
 Faster than `aes128-salted`, and harder to attack any particular key - but
-increased danger if a key is somehow compromised.

IEncryptor

protocol

members

decrypt

(decrypt encryptor pwd ba)

encrypt

(encrypt encryptor pwd ba)

header-id

(header-id encryptor)

map->AES128Encryptor

(map->AES128Encryptor m__6522__auto__)
Factory function for class taoensso.nippy.encryption.AES128Encryptor, taking a map of keywords to field values.
-

standard-header-ids

These'll support :auto thaw
-
\ No newline at end of file +increased danger if a key is somehow compromised.

IEncryptor

protocol

members

decrypt

(decrypt encryptor pwd ba)

encrypt

(encrypt encryptor pwd ba)

header-id

(header-id encryptor)

map->AES128Encryptor

(map->AES128Encryptor m__8448__auto__)
Factory function for class taoensso.nippy.encryption.AES128Encryptor, taking a map of keywords to field values.
+

standard-header-ids

These'll support :auto thaw
+
\ No newline at end of file diff --git a/taoensso.nippy.html b/taoensso.nippy.html index 9e31f5f..c769359 100644 --- a/taoensso.nippy.html +++ b/taoensso.nippy.html @@ -1,11 +1,13 @@ -taoensso.nippy documentation

taoensso.nippy

High-performance serialization library for Clojure.
-Originally adapted from Deep-Freeze (Ref. https://goo.gl/OePPGr).

*custom-readers*

dynamic

{<hash-or-byte-id> (fn [data-input])}
-

*default-freeze-compressor-selector*

dynamic

(fn selector [^bytes ba])->compressor used by `(freeze <x> {:compressor :auto}).
-

*final-freeze-fallback*

dynamic

->Compressable-LZMA2

(->Compressable-LZMA2 value)
Positional factory function for class taoensso.nippy.Compressable-LZMA2.
-

->StressRecord

(->StressRecord data)
Positional factory function for class taoensso.nippy.StressRecord.
-

aes128-encryptor

Default 128bit AES encryptor with many-round SHA-512 key-gen.
+taoensso.nippy documentation

taoensso.nippy

High-performance serialization library for Clojure
+

*auto-freeze-compressor*

dynamic

(fn [byte-array])->compressor used by `(freeze <x> {:compressor :auto}),
+nil => default

*custom-readers*

dynamic

{<hash-or-byte-id> (fn [data-input])}
+

*final-freeze-fallback*

dynamic

DEPRECATED
+

*freeze-fallback*

dynamic

(fn [data-output x]), nil => default
+

->CacheWrapped

(->CacheWrapped value)
Positional factory function for class taoensso.nippy.CacheWrapped.
+

->StressRecord

(->StressRecord data)
Positional factory function for class taoensso.nippy.StressRecord.
+

aes128-encryptor

Default 128bit AES encryptor with many-round SHA-512 key-gen.
 
 Password form [:salted "my-password"]
 ---------------------------------------
@@ -38,10 +40,11 @@ CONS: Using a small number of keys for many encrypted items means that if any
       compromised.
 
 Faster than `aes128-salted`, and harder to attack any particular key - but
-increased danger if a key is somehow compromised.

byte-sized?

(byte-sized? n)

compress

(compress compressor ba)

decompress

(decompress compressor ba)

decrypt

(decrypt encryptor pwd ba)

default-freeze-compressor-selector

(default-freeze-compressor-selector ba)
Strategy:
-* Prioritize speed, but allow lz4.
-* Skip lz4 unless it's likely that lz4's space benefit will outweigh its
-  space overhead.

encrypt

(encrypt encryptor pwd ba)

extend-freeze

macro

(extend-freeze type custom-type-id [x out] & body)
Extends Nippy to support freezing of a custom type (ideally concrete) with
+increased danger if a key is somehow compromised.

cache

(cache x)
Experimental! Wraps value so that future writes of the same wrapped
+value will be efficiently encoded as references to this one.
+
+(freeze [(cache "foo") (cache "foo") (cache "foo")])
+  will incl. a single "foo", plus 2x single-byte references to "foo".

compress

(compress compressor ba)

decompress

(decompress compressor ba)

decrypt

(decrypt encryptor pwd ba)

encrypt

(encrypt encryptor pwd ba)

extend-freeze

macro

(extend-freeze type custom-type-id [x out] & body)
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
@@ -51,23 +54,35 @@ given id of form:
   (.writeUTF [data-output] (:data x)))
 ;; or
 (extend-freeze MyType 1 [x data-output] ; Byte id
-  (.writeUTF [data-output] (:data x)))

extend-thaw

macro

(extend-thaw custom-type-id [in] & body)
Extends Nippy to support thawing of a custom type with given id:
+  (.writeUTF [data-output] (:data x)))

extend-thaw

macro

(extend-thaw custom-type-id [in] & body)
Extends Nippy to support thawing of a custom type with given id:
 (extend-thaw :foo/my-type [data-input] ; Keyword id
   (->MyType (.readUTF data-input)))
 ;; or
 (extend-thaw 1 [data-input] ; Byte id
-  (->MyType (.readUTF data-input)))

Freezable

protocol

Implementation detail. Be careful about extending to interfaces,
-Ref. http://goo.gl/6gGRlU.

members

-freeze-to-out

(-freeze-to-out this out)

freezable?

(freezable? x & [{:keys [allow-clojure-reader? allow-java-serializable?]}])
Alpha - subject to change, MAY BE BUGGY!
-Returns truthy value iff Nippy supports de/serialization of given argument.
-Conservative with default options.
+  (->MyType (.readUTF data-input)))

fast-freeze

(fast-freeze x)
Like `freeze` but:
+  - Writes data without a Nippy header
+  - Drops all support for compression and encryption
+  - Must be thawed with `fast-thaw`
 
-`: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).

freeze

(freeze x)(freeze x {:keys [compressor encryptor password], :or {compressor :auto, encryptor aes128-encryptor}, :as opts})
Serializes arg (any Clojure data type) to a byte array. To freeze custom
-types, extend the Clojure reader or see `extend-freeze`.

freeze-fallback-as-str

(freeze-fallback-as-str out x)

freeze-to-out!

(freeze-to-out! data-output x)
Serializes arg (any Clojure data type) to a DataOutput
-

id-bigdec

id-bigint

id-biginteger

id-boolean

id-byte-as-long

id-bytes

id-double

id-float

id-int-as-long

id-integer

id-keyword

id-keyword-depr1

id-map-depr1

id-map-depr2

id-prefixed-custom

id-queue

id-ratio

id-reader

id-reader-depr1

id-record

id-reserved

id-serializable

id-short

id-short-as-long

id-sm-bytes

id-sm-keyword

id-sm-map

id-sm-set

id-sm-string

id-sm-vec

id-sorted-map

id-sorted-map-depr1

id-sorted-set

id-string

id-string-depr1

inspect-ba

(inspect-ba ba)(inspect-ba ba thaw-opts)
Alpha - subject to change
-

lz4-compressor

Default net.jpountz.lz4 compressor:
+Equivalent to (but a little faster than):
+  `(freeze x {:compressor nil :encryptor nil :no-header? true})

fast-thaw

(fast-thaw ba)
Like `thaw` but:
+  - Drops all support for compression and encryption
+  - Supports only data frozen with `fast-freeze`
+
+Equivalent to (but a little faster than):
+  `(thaw x {:compressor nil :encryptor nil :no-header? true})

Freezable

protocol

Implementation detail. Be careful about extending to interfaces,
+Ref. http://goo.gl/6gGRlU.

members

-freeze-to-out!

(-freeze-to-out! this out)

freezable?

(freezable? x)(freezable? x {:keys [allow-clojure-reader? allow-java-serializable?]})
Alpha - subject to change.
+Returns truthy iff Nippy *appears* to support freezing the given argument.
+
+`:allow-clojure-reader?` and `:allow-java-serializable?` options may be
+used to 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 value equality (there's no good general
+way of doing so).

freeze

(freeze x)(freeze x {:keys [compressor encryptor password], :or {compressor :auto, encryptor aes128-encryptor}, :as opts})
Serializes arg (any Clojure data type) to a byte array. To freeze custom
+types, extend the Clojure reader or see `extend-freeze`.

freeze-fallback-as-str

DEPRECATED
+

freeze-to-out!

(freeze-to-out! data-output x)
Serializes arg (any Clojure data type) to a DataOutput. Please note that
+this is a low-level util: in most cases you'll want `freeze` instead.

inspect-ba

(inspect-ba ba)(inspect-ba ba thaw-opts)
Alpha - subject to change
+

lz4-compressor

Default net.jpountz.lz4 compressor:
       Ratio: low.
 Write speed: very high.
  Read speed: very high.
@@ -75,26 +90,25 @@ Write speed: very high.
 A good general-purpose compressor, competitive with Snappy.
 
 Thanks to Max Penet (@mpenet) for our first implementation,
-Ref. https://github.com/mpenet/nippy-lz4

lz4hc-compressor

Like `lz4-compressor` but trades some write speed for ratio.
-

lzma2-compressor

Default org.tukaani.xz.LZMA2 compressor:
+Ref. https://github.com/mpenet/nippy-lz4

lz4hc-compressor

Like `lz4-compressor` but trades some write speed for ratio.
+

lzma2-compressor

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.

map->Compressable-LZMA2

(map->Compressable-LZMA2 m__6522__auto__)
Factory function for class taoensso.nippy.Compressable-LZMA2, taking a map of keywords to field values.
-

map->StressRecord

(map->StressRecord m__6522__auto__)
Factory function for class taoensso.nippy.StressRecord, taking a map of keywords to field values.
-

read-biginteger

(read-biginteger in)

read-bytes

(read-bytes in)

read-coll

(read-coll in to-coll)

read-kvs

(read-kvs in to-coll)

read-kvs-depr1

(read-kvs-depr1 in to-coll)

read-sm-bytes

(read-sm-bytes in)

read-sm-coll

(read-sm-coll in to-coll)

read-sm-kvs

(read-sm-kvs in to-coll)

read-sm-utf8

(read-sm-utf8 in)

read-utf8

(read-utf8 in)

set-default-freeze-compressor-selector!

(set-default-freeze-compressor-selector! selector)
Sets root binding of `*default-freeze-compressor-selector*`
-

short-sized?

(short-sized? n)

snappy-compressor

Default org.iq80.snappy.Snappy compressor:
+environments.

map->CacheWrapped

(map->CacheWrapped m__8448__auto__)
Factory function for class taoensso.nippy.CacheWrapped, taking a map of keywords to field values.
+

map->StressRecord

(map->StressRecord m__8448__auto__)
Factory function for class taoensso.nippy.StressRecord, taking a map of keywords to field values.
+

set-auto-freeze-compressor!

(set-auto-freeze-compressor! x)

set-freeze-fallback!

(set-freeze-fallback! x)

snappy-compressor

Default org.iq80.snappy.Snappy compressor:
       Ratio: low.
 Write speed: very high.
  Read speed: very high.
 
-A good general-purpose compressor.

stress-data

Reference data used for tests & benchmarks
-

stress-data-benchable

Reference data with stuff removed that breaks reader or other utils we'll
-be benching against

stress-data-comparable

Reference data with stuff removed that breaks roundtrip equality
-

swap-custom-readers!

(swap-custom-readers! f)

thaw

(thaw ba)(thaw ba {:keys [v1-compatibility? compressor encryptor password], :or {compressor :auto, encryptor :auto}, :as opts})
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`.
+A good general-purpose compressor.

stress-data

Reference data used for tests & benchmarks
+

stress-data-benchable

Reference data with stuff removed that breaks reader or other utils we'll
+be benching against

stress-data-comparable

Reference data with stuff removed that breaks roundtrip equality
+

swap-custom-readers!

(swap-custom-readers! f)

thaw

(thaw ba)(thaw ba {:keys [v1-compatibility? compressor encryptor password], :or {compressor :auto, encryptor :auto}, :as opts})
Deserializes a frozen Nippy 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
@@ -103,5 +117,6 @@ 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

thaw-from-in!

(thaw-from-in! data-input)
Deserializes a frozen object from given DataInput to its original Clojure
-data type

when-debug

macro

(when-debug & body)

write-biginteger

(write-biginteger out n)

write-bytes

(write-bytes out ba)

write-id

macro

(write-id out id)

write-ided-bytes

(write-ided-bytes out ba)(write-ided-bytes out id-sm id ba)

write-ided-coll

(write-ided-coll out ?id-sm id coll)

write-ided-keyword

(write-ided-keyword out kw)

write-ided-kvs

(write-ided-kvs out ?id-sm id coll)

write-ided-long

(write-ided-long out n)

write-ided-map

(write-ided-map out m)

write-ided-set

(write-ided-set out s)

write-ided-string

(write-ided-string out s)

write-ided-vec

(write-ided-vec out v)

write-sm-bytes

(write-sm-bytes out ba)

write-sm-utf8

(write-sm-utf8 out s)

write-utf8

(write-utf8 out s)
\ No newline at end of file + :encryptor - :auto (checks header, default), an IEncryptor, or nil

thaw-from-in!

(thaw-from-in! data-input)
Deserializes a frozen object from given DataInput to its original Clojure
+data type. Please note that this is a low-level util: in most cases you'll
+want `thaw` instead.

throw-unfreezable

(throw-unfreezable x)

try-write-readable

(try-write-readable out x)

try-write-serializable

(try-write-serializable out x)

write-id

macro

(write-id out id)

write-unfreezable

(write-unfreezable out x)
\ No newline at end of file diff --git a/taoensso.nippy.tools.html b/taoensso.nippy.tools.html index 83e6e53..abd09b2 100644 --- a/taoensso.nippy.tools.html +++ b/taoensso.nippy.tools.html @@ -1,10 +1,10 @@ -taoensso.nippy.tools documentation

taoensso.nippy.tools

Utilities for third-party tools that want to add fully-user-configurable
-Nippy support. Used by Carmine and Faraday.

*thaw-opts*

dynamic

->WrappedForFreezing

(->WrappedForFreezing value opts)
Positional factory function for class taoensso.nippy.tools.WrappedForFreezing.
-

freeze

(freeze x & [{:keys [default-opts]}])
Like `nippy/freeze` but takes options from special argument wrapper when
-present.

map->WrappedForFreezing

(map->WrappedForFreezing m__6522__auto__)
Factory function for class taoensso.nippy.tools.WrappedForFreezing, taking a map of keywords to field values.
-

thaw

(thaw ba & [{:keys [default-opts]}])
Like `nippy/thaw` but takes options from *thaw-opts* binding.
-

with-thaw-opts

macro

(with-thaw-opts opts & body)
Evaluates body using given options for any automatic deserialization in
-context.

wrap-for-freezing

(wrap-for-freezing value & [opts])
Wraps arg (any freezable data type) so that (tools/freeze <wrapped-arg>)
-will serialize the arg using given options.

wrapped-for-freezing?

(wrapped-for-freezing? x)
\ No newline at end of file +taoensso.nippy.tools documentation

taoensso.nippy.tools

Utils for 3rd-party tools that want to add user-configurable Nippy support.
+Used by Carmine, Faraday, etc.

*freeze-opts*

dynamic

*thaw-opts*

dynamic

->WrappedForFreezing

(->WrappedForFreezing value opts)
Positional factory function for class taoensso.nippy.tools.WrappedForFreezing.
+

freeze

(freeze x)(freeze x default-opts)
Like `nippy/freeze` but merges opts from *freeze-opts*, `wrap-for-freezing`.
+

map->WrappedForFreezing

(map->WrappedForFreezing m__8448__auto__)
Factory function for class taoensso.nippy.tools.WrappedForFreezing, taking a map of keywords to field values.
+

thaw

(thaw ba)(thaw ba default-opts)
Like `nippy/thaw` but merges opts  from `*thaw-opts*`.
+

with-freeze-opts

macro

(with-freeze-opts opts & body)

with-thaw-opts

macro

(with-thaw-opts opts & body)

wrap-for-freezing

(wrap-for-freezing x)(wrap-for-freezing x opts)
Ensures that given arg (any freezable data type) is wrapped so that
+(tools/freeze <wrapped-arg>) will serialize as
+(nippy/freeze <unwrapped-arg> <opts>).

wrapped-for-freezing?

(wrapped-for-freezing? x)
\ No newline at end of file diff --git a/taoensso.nippy.utils.html b/taoensso.nippy.utils.html index 1c55536..8884c33 100644 --- a/taoensso.nippy.utils.html +++ b/taoensso.nippy.utils.html @@ -1,10 +1,10 @@ -taoensso.nippy.utils documentation

taoensso.nippy.utils

freezable?

(freezable? x & [{:keys [allow-clojure-reader? allow-java-serializable?]}])
Alpha - subject to change, MAY BE BUGGY!
-Returns truthy value iff Nippy supports de/serialization of given argument.
-Conservative with default options.
+taoensso.nippy.utils documentation

taoensso.nippy.utils

freezable?

(freezable? x)(freezable? x {:keys [allow-clojure-reader? allow-java-serializable?]})
Alpha - subject to change.
+Returns truthy iff Nippy *appears* to support freezing the given argument.
 
-`: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).

readable?

serializable?

\ No newline at end of file +`:allow-clojure-reader?` and `:allow-java-serializable?` options may be +used to 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 value equality (there's no good general +way of doing so).

readable?

serializable?

\ No newline at end of file