irmin-lwt: add Pack.Make functor for irmin-pack-unix-specific operations
Introduce a [Irmin_lwt.Pack.Make] functor that takes an
[Irmin_pack_io.S] store and returns a module that includes the full
[Make(S)] Lwt-wrapped generic-key API plus the pack-unix extensions:
- integrity checks: [integrity_check], [integrity_check_inodes],
[traverse_pack_file], [test_traverse_pack_file]
- chunking: [split], [is_split_allowed], [add_volume]
- on-disk: [reload], [flush], [create_one_commit_store]
- [Gc]: [start_exn], [finalise_exn], [run] (with Lwt-returning
[finished] callback), [wait], [cancel], [is_finished], [behaviour],
[is_allowed], [latest_gc_target]
- [Snapshot]: re-export with Lwt-wrapped [export]
Adds [irmin-pack.io] as a library dependency and [irmin-pack] as an
opam dependency. Addresses gaps 5-10 of the Octez compilation test:
consumers that need pack-unix operations (Tezos context GC, snapshot
export, etc.) can now apply [Irmin_lwt.Pack.Make] on their pack-unix
store instead of reaching into [Irmin_pack_io] directly via
[Lwt_eio.run_eio].
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
ccc741
-
Apr 24 16:01 +00:00