This interface was used to save micro checkpoints for reverse execution. It remains in 7, but is only used to get notifications when an object's state is about to be restored, or has just been restored.
All functions in this interface are optional.
The save and merge functions are never called.
The function prepare_restore is called when a saved state is about to be loaded, before any attributes have been set.
The finish_restore function is called when all attributes have been set. The state argument is always NULL.
SIM_INTERFACE(temporal_state) {
lang_void *(*save)(conf_object_t *obj);
void (*merge)(conf_object_t *obj, lang_void *prev, lang_void *killed);
void (*prepare_restore)(conf_object_t *obj);
void (*finish_restore)(conf_object_t *obj, lang_void *state);
};
#define TEMPORAL_STATE_INTERFACE "temporal_state"