Managing Chunks
val chunk_size : int Irmin.Private.Conf.keychunk_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.configconfig ?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_MAKERContent_addressable(X) is a content-addressable store which store values cut into chunks into the underlying store X.