stasher::heartbeat's
template parameter defines the class that holds each instance's metadata:
typedef stasher::heartbeat<std::string, std::string> heartbeat;
stasher::heartbeat takes two template parameters:
a class that identifies each instance of an application, and a class
that defines each instance's status. In this example, both are a
std::string. Both classes can be
any class that can be serialized by LIBCXX.
Depending on other usage of those classes, they may also need to
support stringability using LIBCXX's x::tostring().
The application ID class must also implement strict weak ordering,
using operator <(),
and possibly other kinds of ordering operators.
The application heartbeat is, essentially, a
std::map<.
Additionally, the status class can be a application_id_class,status_class>void.
This specifies no metadata, and stasher::heartbeat
just posts periodic updates without
any associated status metadata.