Module Tjr_fs_shared.Kvop

A concrete type for insert and delete operations. Don't open.

type ('k, 'v) kvop =
| Insert of 'k * 'v
| Delete of 'k

An op is either insert or delete. These are the entries that get written to disk (find doesn't need to be written to disk since it doesn't change the on-disk state).

NOTE we may want to have variants of this with further operations

val kvop_to_yojson : k v. ('k -> Yojson.Safe.t) -> ('v -> Yojson.Safe.t) -> ('k'v) kvop -> Yojson.Safe.t
val kvop_of_yojson : k v. (Yojson.Safe.t -> 'k Ppx_deriving_yojson_runtime.error_or) -> (Yojson.Safe.t -> 'v Ppx_deriving_yojson_runtime.error_or) -> Yojson.Safe.t -> ('k'v) kvop Ppx_deriving_yojson_runtime.error_or
val _ : ('a -> Yojson.Safe.t) -> ('b -> Yojson.Safe.t) -> ('a'b) kvop -> Yojson.Safe.t
val _ : (Yojson.Safe.t -> 'a Ppx_deriving_yojson_runtime.error_or) -> (Yojson.Safe.t -> 'b Ppx_deriving_yojson_runtime.error_or) -> Yojson.Safe.t -> ('a'b) kvop Ppx_deriving_yojson_runtime.error_or
val bin_shape_kvop : Bin_prot.Shape.t -> Bin_prot.Shape.t -> Bin_prot.Shape.t
val bin_size_kvop : k v. 'k Bin_prot.Size.sizer -> 'v Bin_prot.Size.sizer -> ('k'v) kvop Bin_prot.Size.sizer
val bin_write_kvop : k v. 'k Bin_prot.Write.writer -> 'v Bin_prot.Write.writer -> ('k'v) kvop Bin_prot.Write.writer
val bin_writer_kvop : 'a Bin_prot.Type_class.writer -> 'b Bin_prot.Type_class.writer -> ('a'b) kvop Bin_prot.Type_class.writer
val __bin_read_kvop__ : k v. 'k Bin_prot.Read.reader -> 'v Bin_prot.Read.reader -> (int -> ('k'v) kvop) Bin_prot.Read.reader
val bin_read_kvop : k v. 'k Bin_prot.Read.reader -> 'v Bin_prot.Read.reader -> ('k'v) kvop Bin_prot.Read.reader
val bin_reader_kvop : 'a Bin_prot.Type_class.reader -> 'b Bin_prot.Type_class.reader -> ('a'b) kvop Bin_prot.Type_class.reader
val bin_kvop : 'a Bin_prot.Type_class.t -> 'b Bin_prot.Type_class.t -> ('a'b) kvop Bin_prot.Type_class.t
val op2k : ('a'b) kvop -> 'a
val kvop_to_key : ('a'b) kvop -> 'a
val ii_op2s : (int, int) kvop -> string
type ('k, 'v, 'map) kvop_map_ops = ('k('k'v) kvop'map) Tjr_lib.Tjr_map.map_ops

The type for the abstract view of the Lru and pcache. NOTE the values are ('k,'v)op, not 'v.

module Kvop_map : sig ... end
val list_to_map : kvop_map_ops:('a('a'b) kvop'c) Tjr_lib.Tjr_map.map_ops -> ('a'b) kvop list -> 'c