— Function: elephant:open-store spec &key recover recover-fatal thread
Conveniently open a store controller.
— Function: elephant:close-store &optional sc
Conveniently close the store controller.
— Macro: elephant:with-open-store spec &body body
Executes the body with an open controller,
unconditionally closing the controller on exit.
— Function: elephant:add-to-root key value &key store-controller
Add an arbitrary persistent thing to the root, so you can
retrieve it in a later session.
b. this means it (and
everything it points to) won't get gc'd.
— Function: elephant:get-from-root key &key store-controller
Get a something from the root.
— Variable: elephant:*store-controller*
The store controller which persistent objects talk to.
— Class: elephant:store-controller
Class precedence list:
store-controller, standard-object, t
spec — initargs:
Backend create functions should pass in :spec during make-instance
This is an instance cache and part of the metaclass
protocol. Backends should not override
This should be a persistent btree instantiated by the backend
This should be a persistent indexed btree instantiated by the backend
Class of objects responsible for the book-keeping of holding
handles, the cache, table creation, counters, locks, the root
(for garbage collection,) et cetera.