aboutsummaryrefslogtreecommitdiffstats
path: root/lib/management
diff options
context:
space:
mode:
authorEstevan Castilho <tevo@riajuu.net>2026-05-07 01:29:19 +0000
committerEstevan Castilho <tevo@riajuu.net>2026-05-07 01:29:19 +0000
commit6d626c77af9b53ff167bd8af7fc20d75a4202f40 (patch)
tree66c4303af8a8d5402eeca1199159f5e3d6340432 /lib/management
parent1c881694d4b26be62757a6a7211734eb418d407d (diff)
downloadSakura-6d626c77af9b53ff167bd8af7fc20d75a4202f40.tar.gz
Sakura-6d626c77af9b53ff167bd8af7fc20d75a4202f40.zip
`MemoryBackend` is now somewhere else
Diffstat (limited to 'lib/management')
-rw-r--r--lib/management/physical.ml87
1 files changed, 0 insertions, 87 deletions
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 *)