diff options
| author | Marcos Magueta <maguetamarcos@gmail.com> | 2026-07-21 01:35:52 -0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-07-21 01:35:52 -0300 |
| commit | 209383a11bbf749dcc830fac8e0938bca0b58191 (patch) | |
| tree | 59cf28d47b4065d3dfa4ecd2b1390b2f54172061 /lib/backend/managers/Lifecycle.mli | |
| parent | 3e62b0d7dc814fbdcedb06bb79b22669bc9d4b40 (diff) | |
| download | RNT-209383a11bbf749dcc830fac8e0938bca0b58191.tar.gz RNT-209383a11bbf749dcc830fac8e0938bca0b58191.zip | |
Lifecycle Manager
Diffstat (limited to 'lib/backend/managers/Lifecycle.mli')
| -rw-r--r-- | lib/backend/managers/Lifecycle.mli | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/lib/backend/managers/Lifecycle.mli b/lib/backend/managers/Lifecycle.mli new file mode 100644 index 0000000..f8cec1a --- /dev/null +++ b/lib/backend/managers/Lifecycle.mli @@ -0,0 +1,17 @@ +type tree = Object.rnt_object_tree + +(* A collected runtime object that still needs an external teardown: a session + to close, and later a transaction to roll back. The caller drains these. *) +type disposal = {path: Concepts.Path.t; kind: Object.rnt_object_kind} + +val monitor : tree -> Concepts.Path.t -> tree +val pin : tree -> Concepts.Path.t -> tree +val unpin : tree -> Concepts.Path.t -> tree +val is_eligible_for_gc : tree -> Concepts.Path.t -> bool +val contention : tree -> Concepts.Path.t -> bool + +val unmonitor : + tree -> Concepts.Path.t -> (tree * disposal BatFingerTree.t, Concepts.Condition.condition) result + +val collect : + tree -> Concepts.Path.t -> (tree * disposal BatFingerTree.t, Concepts.Condition.condition) result |
