diff options
| author | Estevan Castilho <tevo@riajuu.net> | 2026-08-29 01:14:27 +0000 |
|---|---|---|
| committer | Estevan Castilho <tevo@riajuu.net> | 2026-08-29 01:14:27 +0000 |
| commit | f87767c3e5b0f1920a6179d5cd0d4613cca92658 (patch) | |
| tree | c3b6c832b32447b07f221132b07e995d58c920cb /lib/protocols/Registry.ml | |
| parent | b2a9404cbfa4e38391d345e137f6dbda963d960d (diff) | |
| download | RNT-f87767c3e5b0f1920a6179d5cd0d4613cca92658.tar.gz RNT-f87767c3e5b0f1920a6179d5cd0d4613cca92658.zip | |
Make registration more like a CAS
Diffstat (limited to 'lib/protocols/Registry.ml')
| -rw-r--r-- | lib/protocols/Registry.ml | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/lib/protocols/Registry.ml b/lib/protocols/Registry.ml index 4c47001..f01f06b 100644 --- a/lib/protocols/Registry.ml +++ b/lib/protocols/Registry.ml @@ -1,6 +1,5 @@ class type implementation = object - method register : string -> Handle.t -> (unit, Concepts.Condition.condition) result - method unregister : string -> (unit, Concepts.Condition.condition) result + method update : string -> Handle.t option -> Handle.t option -> (bool, Concepts.Condition.condition) result end type Handle.protocol += Registry of implementation @@ -11,6 +10,4 @@ let make impl = Registry (impl :> implementation) let from handle = Handle.into handle (function Registry impl -> Some impl | _ -> None) -let register i key value = Handle.invoke i (fun o -> o#register key value) - -let unregister i key = Handle.invoke i (fun o -> o#unregister key) +let update i key reference value = Handle.invoke i (fun o -> o#update key reference value) |
