aboutsummaryrefslogtreecommitdiffstats
path: root/include/ObjectManager.h
diff options
context:
space:
mode:
authorMarcos Magueta <maguetamarcos@gmail.com>2026-05-13 01:59:22 -0300
committerGitHub <noreply@github.com>2026-05-13 01:59:22 -0300
commitaf6073dedffd1a16aff7a283ded50545dc40b179 (patch)
treea4b8fbfb4842f5ac27bf7fa641555de3fac6b7f3 /include/ObjectManager.h
parentc1b70cfe745d935bded3053fba8c1f9573aa07aa (diff)
downloadRNT-af6073dedffd1a16aff7a283ded50545dc40b179.tar.gz
RNT-af6073dedffd1a16aff7a283ded50545dc40b179.zip
Extern handles for embedded runtime
Diffstat (limited to 'include/ObjectManager.h')
-rw-r--r--include/ObjectManager.h27
1 files changed, 25 insertions, 2 deletions
diff --git a/include/ObjectManager.h b/include/ObjectManager.h
index 32b3ae9..e30ff1b 100644
--- a/include/ObjectManager.h
+++ b/include/ObjectManager.h
@@ -35,12 +35,35 @@ namespace nt
/** @brief Abstract registry object representing a multigroup. */
class Multigroup : public IObject {};
- /** @brief Abstract registry object representing a relation. */
- class Relation : public IObject {};
+ /**
+ * @brief Registry object representing a stored relation.
+ *
+ * merkle_root is the hex hash of the Merkle B-tree root node stored in
+ * the KV backend. Empty string means the relation contains no tuples.
+ * Updated atomically by rnt_link_tuple / rnt_unlink_tuple / rnt_clear_relation.
+ */
+ class Relation : public IObject {
+ public:
+ std::string merkle_root;
+ };
/** @brief Abstract registry object representing a transaction. */
class Transaction : public IObject {};
/**
+ * @brief A named mutable reference to a multigroup state.
+ *
+ * The payload field carries the serialized multigroup bytes in whatever
+ * format the caller registered them with. The C API returns these bytes
+ * verbatim when a handle to the branch is opened; Sakura is responsible
+ * for deserializing them into a Multigroup object.
+ */
+ class Branch : public IObject {
+ public:
+ std::string name;
+ std::vector<uint8_t> payload;
+ };
+
+ /**
* @brief Describes the behavior and capabilities of an object category.
*
* @todo Replace `methods` with typed callback fields: `OpenProcedure`,