17namespace neograph::program {
33 std::string owner_scope;
34 std::string active_version_id;
35 std::uint64_t generation = 0;
36 std::string policy_snapshot_hash;
39class NEOGRAPH_PROGRAM_API ProgramActivation final {
41 static constexpr std::uint32_t STORAGE_SCHEMA_VERSION = 1;
44 static ProgramActivation parse(std::string_view stored_bytes);
46 const std::string& owner_scope() const noexcept;
47 const std::
string& active_version_id() const noexcept;
48 std::uint64_t generation() const noexcept;
49 const std::
string& policy_snapshot_hash() const noexcept;
50 const std::
string&
id() const noexcept;
51 std::
string serialize_canonical() const;
55 explicit ProgramActivation(std::shared_ptr<const Impl> impl);
56 std::shared_ptr<const Impl> impl_;
61 std::string version_id;
69 std::uint64_t versions_removed = 0;
70 std::uint64_t bundles_removed = 0;
71 std::vector<ProgramRetentionReference> references;
ProgramActivationResult
Result of an atomic owner-scoped activation compare-and-swap.
NEOGRAPH_API export/import macro for shared-library builds.
Thin C++ RAII wrapper around yyjson with nlohmann-compatible API.
Immutable durable pointer from an owner scope to one admitted version.
One durable reason an admitted version remains retained.
Counts immutable records removed by reference-aware collection.