#pragma once #include "td/protocol/Protocol.h" namespace td { namespace protocol { class ServerTpsPacket : public Packet { private: float m_TPS; float m_MSPT; std::uint64_t m_PacketSendTime; // used to calculate ping public: ServerTpsPacket() {} ServerTpsPacket(float tps, float mspt, std::uint64_t sendTime) : m_TPS(tps), m_MSPT(mspt), m_PacketSendTime(sendTime) {} virtual ~ServerTpsPacket() {} virtual DataBuffer Serialize(bool packetID = true) const; virtual void Deserialize(DataBuffer& data); virtual void Dispatch(PacketHandler* handler) const; float GetTPS() const { return m_TPS; } float GetMSPT() const { return m_MSPT; } std::uint64_t GetPacketSendTime() const { return m_PacketSendTime; } virtual PacketType GetType() const { return PacketType::ServerTps; } }; } // namespace protocol } // namespace td