#pragma once #include "Common.h" #include "TServer.h" #include class TNetwork; class TPPSMonitor : public IThreaded { public: explicit TPPSMonitor(TServer& Server); void operator()() override; void SetInternalPPS(int NewPPS) { mInternalPPS = NewPPS; } void IncrementInternalPPS() { ++mInternalPPS; } [[nodiscard]] int InternalPPS() const { return mInternalPPS; } void SetNetwork(TNetwork& Server) { mNetwork = std::ref(Server); } private: TNetwork& Network() { return mNetwork->get(); } TServer& mServer; std::optional> mNetwork { std::nullopt }; bool mShutdown { false }; int mInternalPPS { 0 }; };