diff options
Diffstat (limited to 'src/zenserver/hub/hubinstancestate.h')
| -rw-r--r-- | src/zenserver/hub/hubinstancestate.h | 22 |
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); |