package irmin-pack
Install
dune-project
Dependency
Authors
Maintainers
Sources
sha256=09996fbcc2c43e117a9bd8e9028c635e81cccb264d5e02d425ab8b06bbacdbdb
sha512=0391a6bf7b94a1edd50a3a8df9e58961739fa78d7d689d61f56bc87144483bad2ee539df595c33d9d52c29b3458da5dddf3a73b5eb85e49c4667c26d2cd46be1
doc/irmin-pack.unix/Irmin_pack_unix/Control_file/Upper/index.html
Module Control_file.UpperSource
Abstraction for an irmin-pack control file.
It is parameterized with Io, a file system abstraction (e.g. unix, mirage, eio_linux).
None of the functions raise exceptions.
Parameters
Signature
val create_rw :
path:string ->
tmp_path:string option ->
overwrite:bool ->
Irmin_pack_unix__.Control_file_intf.Payload.Upper.V5.t ->
(t, [> Io.create_error | Io.write_error ]) resultCreate a rw instance of t by creating a control file.
type open_error := [ | `Corrupted_control_file of string| `Io_misc of Io.misc_error| `No_such_file_or_directory of string| `Not_a_file| `Closed| `Unknown_major_pack_version of string
]val open_ :
path:string ->
tmp_path:string option ->
readonly:bool ->
(t, [> open_error ]) resultCreate a rw instance of t by reading an existing file at path. tmp_path will be used by RW instances when updating it's content, it is not required for RO instances or RW instances which will never be updated.
val read_payload :
path:string ->
(Irmin_pack_unix__.Control_file_intf.Payload.Upper.V5.t,
[> open_error | Io.close_error ])
resultval read_raw_payload :
path:string ->
(Irmin_pack_unix__.Control_file_intf.Payload.Upper.raw_payload,
[> open_error | Io.close_error ])
resultpayload t is the payload in t.
That function doesn't perform IO.
RW mode
payload t is the payload, as it was written to the file system.
RO mode
payload t is the payload, as it was seen during open_ or during the most recent reload.
RW mode
Always returns an error.
RO mode
Reread the file on disk.
If the file changed since the last read, the payload in t is updated to match the content of the file.
type set_error := [ | `No_tmp_path_provided| Io.create_error| Io.write_error| move_error| Io.close_error
]val set_payload :
t ->
Irmin_pack_unix__.Control_file_intf.Payload.Upper.V5.t ->
(unit, [> set_error ]) resultRW mode
Write a new payload on disk.
RO mode
Always returns an error.
RW mode
Tell the OS to fush its internal buffers.
RO mode
Always returns Error `Ro_not_allowed.