123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384(*
* Copyright (c) 2018-2021 Tarides <contact@tarides.com>
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*)moduletypeMaker=functor(_:Conf.S)->S.MakermoduletypeSpecifics=S.SpecificsmoduletypeSigs=sigmoduleDict=Pack_dictmoduleIndex=Pack_indexmoduleConf=ConfmoduleInode=InodemodulePack_value=Pack_valuemodulePack_store=Pack_storemoduleVersion=Versionvalconfig:?fresh:bool->?readonly:bool->?lru_size:int->?index_log_size:int->?merge_throttle:Conf.merge_throttle->?freeze_throttle:Conf.freeze_throttle->string->Irmin.config(** Configuration options for stores.
@param fresh whether an existing store should be overwritten.
@param read_only whether read-only mode is enabled for this store.
@param lru_size the maximum number of bindings in the lru cache.
@param index_log_size the maximum number of bindings in the index cache.
@param index_throttle
the strategy to use when the index cache is full and an async
[Index.merge] in already in progress. [Block_writes] (the default)
blocks any new writes until the merge is completed. [Overcommit_memory]
does not block but indefinitely expands the in-memory cache. *)exceptionRO_not_allowedmoduleMake(_:Version.S):MakermoduleV1:MakermoduleV2:MakermoduleKV(_:Version.S)(_:Conf.S):Irmin.KV_MAKERmoduletypeS=S.SmoduletypeSpecifics=S.SpecificsmoduleMake_ext(_:Version.S)(_:Conf.S)(N:Irmin.Private.Node.Maker)(CT:Irmin.Private.Commit.Maker):S.MakermoduleStats=StatsmoduleLayout=LayoutmoduleChecks=Checksvalmigrate:Irmin.config->unit(** [migrate conf] upgrades the repository with configuration [conf] to use
the latest storage format.
{b Note:} performing concurrent store operations during the migration, or
attempting to use pre-migration instances of the repository after the
migration is complete, will result in undefined behaviour. *)moduleContent_addressable=Content_addressablemoduleAtomic_write=Atomic_writemoduleIO=IOmoduleUtils=UtilsmoduletypeMaker=functor(_:Conf.S)->S.Makerend