diff options
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(); |