The Container Volatile
Volatile
is a Service to manage data objects in RAM. This includes:
- A
deque
is a double linked list accessible as a key-value store. Index
objects that are serialized as tuples and exposed via API to allow connecting everything to everything as a graph.- A priority
queue
is implemented as self balanced binary trees with a maximum number of nodes. -
A
tree
that can be navigated through commands and through keys, that implements pruning and more. - See C++ ref Volatile
The base index
Index both exposes and serializes Index type blocks. An entity inside index is one single Index. When get()ting them by key, you get the value stored in the Index. To put a new one, just new_entity() //index/name. To populate one, just put() to //index/name/~put with a Tuple of the appropriate Kind. To save one, just get() //index/name/~get. Since Index only stores strings, at the levels at which the interface expects a block, it must be a block containing just one string.
In terms of the Jazz server API
An index is created empty by GET //index/ent_name.new
and destroyed with DELETE //index/ent_name
.
You can populate it (PUT //index/name/~put
) or save it (GET //index/name/~get
) with an appropriate Tuple (A Tuple of two string vectors
of the same length named “key” and “value”).
Anything else is just GET, PUT or DELETE calls to the keys in the index.
Volatile Blocks support everything described in this reference: slicing, being used in calls, attributes, constant assignment, forwarding, …