package irmin-pack
- Overview
- No Docs
You can search for identifiers within the package.
in-package search v0.2.0
Install
dune-project
Dependency
Authors
Maintainers
Sources
sha256=6aa5ba4c6a0233747d4bd3ab396f2b3a33bb80f9d8ed4a178c83a035033c0e52
sha512=8a5506a57e8569a11c883ca25b3c60ae7a9a03c2da111668193d7b4296434c43f1a310e78f189e4b38c234da790259d2961c6a0ae481282c18bb97f618fccfb6
doc/irmin-pack.unix/Irmin_pack_unix/Inode/Make_persistent/index.html
Module Inode.Make_persistentSource
Parameters
module H : Irmin.Hash.Smodule Node :
Irmin.Node.Generic_key.S
with type hash = H.t
and type contents_key = H.t Pack_key.t
and type node_key = H.t Pack_key.tmodule Inter :
Irmin_pack.Inode.Internal
with type hash = H.t
and type key = H.t Pack_key.t
and type Snapshot.metadata = Node.metadata
and type Val.step = Node.stepmodule Pack :
Pack_store.S
with type hash = H.t
and type key = H.t Pack_key.t
and type value = Inter.Raw.tSignature
include Irmin_pack.Inode.S
with type key = H.t Pack_key.t
with type hash = H.t
with type Val.metadata = Node.metadata
with type Val.step = Node.step
with type value = Inter.Val.t
include Irmin.Indexable.S
with type key = H.t Pack_key.t
with type hash = H.t
with type value = Inter.Val.t
Read-only stores
Read-only stores are store where it is only possible to read existing values.
The type for stores. The 'a phantom type carries information about the store mutability.
The type for keys.
The type for raw values.
mem t k is true iff k is present in t.
find t k is Some v if k is associated to v in t and None is k is not present in t.
close t frees up all the resources associated with t. Any operations run on a closed handle will raise Closed.
Write the contents of a value to the store, and obtain its key.
Same as add but allows specifying the value's hash directly. The backend might choose to discard that hash and/or can be corrupt if the hash is not consistent.
Indexing maps the hash of a value to a corresponding key of that value in the store. For stores that are addressed by hashes directly, this is typically fun _t h -> Lwt.return (Key.of_hash h); for stores with more complex addressing schemes, index may attempt a lookup operation in the store.
In general, indexing is best-effort and reveals no information about the membership of the value in the store. In particular:
index t hash = Some keydoesn't guaranteemem t key: the value with hashhashmay still be absent from the store;
index t hash = Nonedoesn't guarantee that there is nokeysuch thatmem t keyandKey.to_hash key = hash: the value may still be present in the store under a key that is not indexed.
val batch :
Irmin.Perms.read t ->
([ Irmin.Perms.read | Irmin.Perms.write ] t -> 'a Lwt.t) ->
'a Lwt.tbatch t f applies the writes in f in a separate batch. The exact guarantees depend on the implementation.
Signature for digest hashes, inspired by Digestif.
val v :
config:Irmin.Backend.Conf.t ->
fm:file_manager ->
dict:dict ->
dispatcher:dispatcher ->
Irmin.Perms.read tinclude Irmin_pack.Checkable with type 'a t := 'a t and type hash := hash
val integrity_check :
offset:Optint.Int63.t ->
length:int ->
hash ->
_ t ->
(unit, [ `Wrong_hash | `Absent_value ]) resultmodule Pack :
Pack_store.S
with type file_manager = file_manager
and type dict = dict
and type dispatcher = dispatcher
and type key := hash Pack_key.t
and type hash := hash
and type 'a t = 'a tmodule Raw :
Irmin_pack.Inode.Raw
with type t = Pack.value
and type hash := hash
and type key := hash Pack_key.tmodule Snapshot :
Irmin_pack.Inode.Snapshot
with type hash = hash
and type metadata = Val.metadata