#pragma once #include #include #include #include "Network.hpp" #include "Event.hpp" class NetworkClient { Network network; std::queue > toSend; std::queue > toReceive; ConnectionState state; int compressionThreshold = -1; std::chrono::steady_clock::time_point timeOfLastKeepAlivePacket; public: NetworkClient(std::string address, unsigned short port, std::string username); ~NetworkClient(); std::shared_ptr ReceivePacket(); void SendPacket(std::shared_ptr packet); void UpdatePacket(); };