diff options
| author | Marcos Magueta <maguetamarcos@gmail.com> | 2026-07-07 16:07:07 -0300 |
|---|---|---|
| committer | Marcos Magueta <maguetamarcos@gmail.com> | 2026-07-07 16:07:07 -0300 |
| commit | 5a799734ddd523027a7d6ef8b0acab6d0b796ec6 (patch) | |
| tree | 45f11504d8ca7ad55ba3cbb85ad778907e1ecf3f /lib/ObjectManager.ml | |
| parent | ab70e5461b98ddf2b56268c53c171cab89157027 (diff) | |
| download | RNT-5a799734ddd523027a7d6ef8b0acab6d0b796ec6.tar.gz RNT-5a799734ddd523027a7d6ef8b0acab6d0b796ec6.zip | |
object manager initial model and sotrage stubs
Diffstat (limited to 'lib/ObjectManager.ml')
| -rw-r--r-- | lib/ObjectManager.ml | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/lib/ObjectManager.ml b/lib/ObjectManager.ml new file mode 100644 index 0000000..b107b4e --- /dev/null +++ b/lib/ObjectManager.ml @@ -0,0 +1,37 @@ +type multigroup = {merkle_root: string} +type relation = {merkle_root: string} +type ephemeral_relation = {merkle_root: string; dependencies: string BatFingerTree.t} +type transaction = unit +type session = {connection_context: unit; branch_overrides: string BatMap.String.t} +type branch = {name: string; target_hash: string} +type branch_tree = {merkle_root: string} + +type rnt_object_kind = + | Multigroup of multigroup + | Relation of relation + | EphemeralRelation of ephemeral_relation + | Session of session + | Branch of branch + | BranchTree of branch_tree + +type rnt_method = OPEN | CLOSE + +type rnt_object = + {kind: rnt_object_kind; disposable: bool; methods: rnt_method BatSet.t; exclsive: bool} + +type registry = {reference_count: int; handle_count: int; entry: rnt_object} + +type rnt_object_tree = + | Intermediary of {label: string; data: registry; subsequent: rnt_object_tree BatFingerTree.t} + | Final of {label: string; data: registry} + +let register (_object_path : string BatFingerTree.t) (_registry : rnt_object_tree) + (_rnt_object : rnt_object) : rnt_object_tree = + failwith "NOT IMPLEMENTED" + +let find (_object_path : string BatFingerTree.t) (_registry : rnt_object_tree) : registry = + failwith "NOT IMPLEMENTED" + +let unregister (_object_path : string BatFingerTree.t) (_registry : rnt_object_tree) : + rnt_object_tree = + failwith "NOT IMPLEMENTED" |
