diff options
Diffstat (limited to 'include/network/NetworkClient.hpp')
-rw-r--r-- | include/network/NetworkClient.hpp | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/include/network/NetworkClient.hpp b/include/network/NetworkClient.hpp new file mode 100644 index 0000000..22b1b22 --- /dev/null +++ b/include/network/NetworkClient.hpp @@ -0,0 +1,26 @@ +#pragma once + +#include <thread> +#include <queue> +#include <mutex> + +#include <network/Network.hpp> + +class NetworkClient { + Network network; + std::thread networkThread; + std::mutex toSendMutex; + std::mutex toReceiveMutex; + std::queue <std::shared_ptr<Packet>> toSend; + std::queue <std::shared_ptr<Packet>> toReceive; + bool isActive=true; + bool &isRunning; + ConnectionState state; + void NetworkLoop(); +public: + NetworkClient(std::string address, unsigned short port, std::string username, bool &quit); + ~NetworkClient(); + + std::shared_ptr <Packet> ReceivePacket(); + void SendPacket(std::shared_ptr<Packet> packet); +};
\ No newline at end of file |