package irmin-pack
Install
dune-project
Dependency
Authors
Maintainers
Sources
sha256=6aa5ba4c6a0233747d4bd3ab396f2b3a33bb80f9d8ed4a178c83a035033c0e52
sha512=8a5506a57e8569a11c883ca25b3c60ae7a9a03c2da111668193d7b4296434c43f1a310e78f189e4b38c234da790259d2961c6a0ae481282c18bb97f618fccfb6
doc/irmin-pack.unix/Irmin_pack_unix/File_manager/Make/Control/index.html
Module Make.ControlSource
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.
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.