diff options
| author | Dan Engelbrecht <[email protected]> | 2026-03-23 23:52:27 +0100 |
|---|---|---|
| committer | GitHub Enterprise <[email protected]> | 2026-03-23 23:52:27 +0100 |
| commit | 658a5fea740d97033cd12aa37bd6ecd32b15a924 (patch) | |
| tree | 517f69ebeb87fc2e995eb6d158acd3d17bc25cca /src/zenserver/hub/storageserverinstance.h | |
| parent | Cross-platform process metrics support (#887) (diff) | |
| download | zen-658a5fea740d97033cd12aa37bd6ecd32b15a924.tar.xz zen-658a5fea740d97033cd12aa37bd6ecd32b15a924.zip | |
refactor hub notifications (#888)
* refactor hub callbacks
* improve http responses
Diffstat (limited to 'src/zenserver/hub/storageserverinstance.h')
| -rw-r--r-- | src/zenserver/hub/storageserverinstance.h | 22 |
1 files changed, 18 insertions, 4 deletions
diff --git a/src/zenserver/hub/storageserverinstance.h b/src/zenserver/hub/storageserverinstance.h index 9963f640e..a0ca496dc 100644 --- a/src/zenserver/hub/storageserverinstance.h +++ b/src/zenserver/hub/storageserverinstance.h @@ -68,6 +68,11 @@ public: ZEN_ASSERT(m_Instance); return m_Instance->m_State.load(); } + uint16_t GetBasePort() const + { + ZEN_ASSERT(m_Instance); + return m_Instance->GetBasePort(); + } bool IsRunning() const; const ResourceMetrics& GetResourceMetrics() const @@ -114,6 +119,11 @@ public: ZEN_ASSERT(m_Instance); return m_Instance->m_State.load(); } + uint16_t GetBasePort() const + { + ZEN_ASSERT(m_Instance); + return m_Instance->GetBasePort(); + } bool IsRunning() const; const ResourceMetrics& GetResourceMetrics() const @@ -122,8 +132,12 @@ public: return m_Instance->m_ResourceMetrics; } - void Provision(); - void Deprovision(); + // For Provision, Deprovision, Hibernate, Wake: + // true = operation performed (state changed) + // false = precondition not met (wrong state), nothing attempted + // throws = operation attempted but failed; m_State corrected before throw + [[nodiscard]] bool Provision(); + [[nodiscard]] bool Deprovision(); [[nodiscard]] bool Hibernate(); [[nodiscard]] bool Wake(); [[nodiscard]] bool RecoverFromCrash(); // true = recovered; false = spawn failed (Crashed), caller must Deprovision() + cleanup @@ -136,8 +150,8 @@ public: [[nodiscard]] ExclusiveLockedPtr LockExclusive(bool Wait) { return ExclusiveLockedPtr(m_Lock, this, Wait); } private: - void ProvisionLocked(); - void DeprovisionLocked(); + [[nodiscard]] bool ProvisionLocked(); + [[nodiscard]] bool DeprovisionLocked(); [[nodiscard]] bool HibernateLocked(); [[nodiscard]] bool WakeLocked(); |