EmergencyHandler
-
class HPS::EmergencyHandler
The EmergencyHandler class is the base class for an custom EmergencyHandler. An EmergencyHandler allows the developer to provide custom logic to handle ‘emergency’ situations. For example, one can set a soft memory limit using HPS::Database::SetSoftMemoryLimit. If that limit is hit, Visualize will call the EmergencyHandler.
An EmergencyHandler is set by calling HPS::Database::SetEmergencyHandler. Only one EmergencyHandler can be set on the Database. If you try to set a second handler, the first one will be overwritten.
The default emergency handler will print a few diagnostics to stdout (when run in debug mode), but will make no attempt to recover from the emergency condition.
Public Functions
-
inline EmergencyHandler()
A constructor for an EmergencyHandler.
-
intptr_t GetClassID() const
Returns a unique identifier that is shared by all objects of the same class.
-
virtual void Handle(char const *message, HPS::Emergency::Code code) = 0
Visualize will call the EmergencyHandler::Handle method if any of the handler-enabling conditions are reached. The Emergency::Code value describes the type of condition. IMPORTANT: calling any Visualize API from your EmergencyHandler::Handle function (for any emergency code) may cause a deadlock.
-
virtual ~EmergencyHandler()
-
inline EmergencyHandler()