From 6d626c77af9b53ff167bd8af7fc20d75a4202f40 Mon Sep 17 00:00:00 2001 From: Estevan Castilho Date: Thu, 7 May 2026 01:29:19 +0000 Subject: `MemoryBackend` is now somewhere else --- lib/management/physical.ml | 87 ---------------------------------------------- 1 file changed, 87 deletions(-) (limited to 'lib/management/physical.ml') diff --git a/lib/management/physical.ml b/lib/management/physical.ml index 9b198fb..36ad228 100644 --- a/lib/management/physical.ml +++ b/lib/management/physical.ml @@ -108,90 +108,3 @@ module Make (B : BACKEND) : let with_transaction = B.with_transaction end - -(** In-memory backend for testing and development *) -module MemoryBackend : - BACKEND with type error = string and type configuration = unit = struct - type configuration = unit - - type connection = { - data : (string, bytes) Hashtbl.t; - mutable in_transaction : bool; - mutable transaction_buffer : (string * bytes) list; - } - - type error = string - - let parse sexp = - match sexp with - | Sexplib.Sexp.List [] -> Ok () - | _ -> - Error - (Printf.sprintf "memory backend takes no configuration, got: %s" - (Sexplib.Sexp.to_string sexp)) - - let connect () = - Ok - { - data = Hashtbl.create 1024; - in_transaction = false; - transaction_buffer = []; - } - - let disconnect _ = () - let get conn hash = Ok (Hashtbl.find_opt conn.data hash) - - let put conn hash value = - if conn.in_transaction then begin - conn.transaction_buffer <- (hash, value) :: conn.transaction_buffer; - Ok () - end - else begin - Hashtbl.replace conn.data hash value; - Ok () - end - - let exists conn hash = Ok (Hashtbl.mem conn.data hash) - - let begin_transaction conn = - if conn.in_transaction then Error "Already in transaction" - else begin - conn.in_transaction <- true; - conn.transaction_buffer <- []; - Ok () - end - - let commit conn = - if not conn.in_transaction then Error "Not in transaction" - else begin - List.iter - (fun (hash, value) -> Hashtbl.replace conn.data hash value) - conn.transaction_buffer; - conn.in_transaction <- false; - conn.transaction_buffer <- []; - Ok () - end - - let rollback conn = - if not conn.in_transaction then Error "Not in transaction" - else begin - conn.in_transaction <- false; - conn.transaction_buffer <- []; - Ok () - end - - let get_many conn hashes = - Ok (List.map (fun h -> Hashtbl.find_opt conn.data h) hashes) - - let put_many conn pairs = - List.iter - (fun (hash, value) -> - if conn.in_transaction then - conn.transaction_buffer <- (hash, value) :: conn.transaction_buffer - else Hashtbl.replace conn.data hash value) - pairs; - Ok () -end - -module Memory = Make (MemoryBackend) -(** Default in-memory storage for development *) -- cgit v1.2.3