aboutsummaryrefslogtreecommitdiff
path: root/src/zenserver/hub/hubinstancestate.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/zenserver/hub/hubinstancestate.h')
-rw-r--r--src/zenserver/hub/hubinstancestate.h22
1 files changed, 13 insertions, 9 deletions
diff --git a/src/zenserver/hub/hubinstancestate.h b/src/zenserver/hub/hubinstancestate.h
index 2dee89ff0..c7188aa5c 100644
--- a/src/zenserver/hub/hubinstancestate.h
+++ b/src/zenserver/hub/hubinstancestate.h
@@ -9,15 +9,19 @@ namespace zen {
enum class HubInstanceState : uint32_t
{
- Unprovisioned, // Initial state; process not running
- Provisioning, // Hydrating and spawning process
- Provisioned, // Process running and serving requests
- Hibernating, // Shutting down process, preserving data on disk
- Hibernated, // Process stopped, data preserved; can be woken
- Waking, // Starting process from preserved data
- Deprovisioning, // Shutting down process and cleaning up data
- Crashed, // Process died unexpectedly while Provisioned; recovery pending
- Recovering, // Attempting in-place restart after a crash
+ // Stable states - possible to initiate state change to a different stable state via the transitioning states
+ Unprovisioned, // Initial state; process not running
+ Provisioned, // Process running and serving requests
+ Hibernated, // Process stopped, data preserved; can be woken
+ Crashed, // Process died unexpectedly while Provisioned; recovery pending
+
+ // Transitioning states - there is explicit ownership during this state and it may not be stolen
+ Provisioning, // Unprovisioned -> Provisioned (Hydrating and spawning process)
+ Hibernating, // Provisioned -> Hibernated (Shutting down process, preserving data on disk)
+ Waking, // Hibernated -> Provisioned (Starting process from preserved data)
+ Deprovisioning, // Provisioned/Hibernated/Crashed -> Unprovisioned (Shutting down process and cleaning up data)
+ Recovering, // Crashed -> Provisioned/Unprovisioned (Attempting in-place restart after a crash)
+ Obliterating, // Provisioned/Hibernated/Crashed -> Unprovisioned (Destroying all local and backend data)
};
std::string_view ToString(HubInstanceState State);