blob: 87b462b69bff430daee002da9546081f28a202db (
plain) (
tree)
|
|
@startuml
!theme toy
title RNT Architecture
hide empty members
skinparam classAttributeIconSize 0
skinparam linetype ortho
skinparam nodesep 30
skinparam ranksep 50
skinparam defaultFontSize 15
left to right direction
class Condition <<module>> {
.. types ..
+condition
+ps
.. values ..
+"|=|"
+"&"
+empty() : ps
+condition() : condition
+complement() : condition
+to_string_hum() : string
}
class Configuration <<module>> {
.. types ..
+term
+dictionary
.. values ..
+term_of_sexp() : term
+tag_of() : string, Condition.condition result
+value_for() : term, Condition.condition result
+as_dictionary() : dictionary, Condition.condition result
+as_int() : int, Condition.condition result
+as_string() : string, Condition.condition result
}
class Cursor <<module>> {
.. types ..
+descriptor
+cursor
.. values ..
+open_() : cursor, Concepts.Condition.condition result
+next() : Concepts.Tuple.t option, Concepts.Condition.condition result
+close() : unit
}
class FOL <<module>> {
.. types ..
+path_arg
+t
+stream
+right
.. values ..
+singleton()
+resolve()
}
class Handle <<module>> {
.. types ..
+t
+handle
+cursor
.. values ..
+open_() : handle, Concepts.Condition.condition result
+open_cursor() : cursor, Concepts.Condition.condition result
+next() : Concepts.Tuple.t option, Concepts.Condition.condition result
+close() : unit
+create() : t
+object_() : Object.registry
}
class Hash <<module>> {
.. types ..
+hash
.. values ..
+hash_of_value() : hash
+hash_equals() : bool
+bytes_of_hash() : bytes
}
class Identity <<module>> {
.. values ..
+permits() : bool
+can_open() : bool
+can_close() : bool
}
class LMDB <<module>> {
}
class Lifecycle <<module>> {
.. types ..
+tree
+disposal
.. values ..
+monitor() : tree
+pin() : tree
+unpin() : tree
+is_eligible_for_gc() : bool
+contention() : bool
+unmonitor() : tree * disposal BatFingerTree.t, Concepts.Condition.condi...
+collect() : tree * disposal BatFingerTree.t, Concepts.Condition.condi...
}
class Namespace <<module>> {
.. types ..
+tree
.. values ..
+resolve() : Concepts.Path.t, Concepts.Condition.condition result
}
class Object <<module>> {
.. types ..
+multigroup
+relation
+ephemeral_relation
+transaction
+session
+branch
+branch_tree
+rnt_object_kind
+namespace
+rnt_method
+rnt_object
+registry
+rnt_object_tree
.. values ..
+make_object()
+root()
+find()
+update()
+reference_edges()
+adjust_references()
+is_gc_exempt()
+is_runtime()
+has_children()
+register()
+with_namespace()
+construct_multigroup()
+construct_relation()
+unregister()
}
class Path <<module>> {
.. types ..
+t
.. values ..
+empty() : t
+of_list() : t
+to_list() : string list
+snoc() : t
+to_string() : string
+is_prefix() : bool
}
class Representation <<module>> {
.. types ..
+blob
.. values ..
+blob_of_value() : blob
+value_of_blob() : Value.value
+blob_of_bytes() : blob
+bytes_of_blob() : bytes
}
class Storage <<module>> {
.. types ..
+connection
+transaction
}
class Tuple <<module>> {
.. types ..
+t
.. values ..
+empty() : t
+access() : Value.value option
+merge() : t
+project() : t
+rename() : t
}
class Utilities <<module>> {
.. values ..
+"let*"
+fmap() : 'b, 'e result
}
class Value <<module>> {
.. types ..
+value
.. values ..
+to_string() : string
+equal() : bool
}
Condition --> Value
Configuration --> Condition
Cursor ..> Condition
Cursor ..> Path
Cursor *-- Storage
Cursor ..> Tuple
Cursor ..> Value
FOL ..> Condition
FOL ..> Path
FOL --> Tuple
FOL ..> Value
Handle --> Condition
Handle *-- Cursor
Handle --> Object
Handle ..> Path
Handle *-- Storage
Handle ..> Tuple
Handle ..> Value
Hash ..> Value
Identity ..> Object
LMDB ..> Condition
LMDB --> Configuration
LMDB --> Hash
LMDB --> Representation
LMDB ..> Storage
LMDB ..> Value
Lifecycle ..> Condition
Lifecycle --> Object
Lifecycle ..> Path
Namespace ..> Condition
Namespace ..> Object
Namespace ..> Path
Namespace *-- Storage
Object --> Condition
Object --> Path
Object ..> Value
Representation ..> Value
Storage ..> Condition
Storage ..> Configuration
Storage ..> Hash
Storage ..> Representation
Tuple ..> Value
legend right
diamond A *-- B : functor composition (@composes)
solid A --> B : declared call (@uses)
dashed A ..> B : type-only coupling (@needs)
endlegend
@enduml
|