Managing Chunks
val chunk_size : int Irmin.Private.Conf.key
chunk_size
is the configuration key to configure chunk size. By default, it is set to 4666, so that payload and metadata can be stored in a 4K block.
val config : ?config:Irmin.config -> ?size:int -> ?min_size:int -> ?chunking:[ `Max | `Best_fit ] -> unit -> Irmin.config
config ?config ?size ?min_size ()
is the configuration value extending the optional config
with bindings associating chunk_size to size
.
If chunking
is Best_fit
(the default), the size of new chunks will be of maximum max_size
but could be smaller if they don't need to be chunked. If chunking
is Max
, all the new chunks will be of size max_size
.
Fail with Invalid_argument
if size
is smaller than min_size
. min_size
is, by default, set to 4000 (to avoid hash collisions on smaller sizes) but can be tweaked for testing purposes. Notes: the smaller size
is, the bigger the risk of hash collisions, so use reasonable values.
module Content_addressable : functor (S : Irmin.APPEND_ONLY_STORE_MAKER) -> Irmin.CONTENT_ADDRESSABLE_STORE_MAKER
Content_addressable(X)
is a content-addressable store which store values cut into chunks into the underlying store X
.