Part II. stasher C++ library API


8. Synchronous API
A simple C++ client: getting and modifying objects
stasher::client->get(): get objects from the repository
stasher::client->put(): update objects in the repository
stasher::client->getdir(): enumerate objects in the repository
stasher::client->subscribe(): object subscriptions
The updated() callback
stasher::client->subscribeserverstatus(): server status reports
9. Asynchronous API
What asynchronous C++ API methods can and cannot do
stasher::client->get_request(): asynchronous version of get()
stasher::client->put_request(): asynchronous version of put()
stasher::process_request() template function
Other stasher::client->name_request()s
10. Asynchronous connection manager
General notes about managed objects and subscriptions
stasher::manager->manage_subscription(): a managed subscription
stasher::manager->manage_object(): automatically retrieve an object any time it changes
stasher::manager->manage_hierarchymonitor(): maintaining an internal snapshot of an object hierarchy
stasher::manager->manage_serverstatusupdates(): maintaining server status updates
11. Serializing and deserializing the current value of an object
stasher::create_manage_object<classptr>(): call a functor after deserializing an object
stasher::currentbaseObj<classptr>: virtual superclass for stasher::create_manage_object()'s functors
stasher::current<classptr>, stasher::currentptr<classptr>: a basic stasher::currentBaseObj subclass
12. Versioned current objects and updates
stasher::versionedptr<classptr>: associate a mcguffin with each object instance
Versioned current objects
Using version mcguffings
stasher::versioned_put: updating multiple versioned objects
stasher::versionscollected: a container for current object version mcguffins
Using stasher::versioned_put()
13. Heartbeat objects
Application identifiers and status template parameters
Instantiating a heartbeat class
Heartbeat updates
A heartbeat example
The contents of a stasher::heartbeat object