20 void receiveMessages();
26 std::thread receiveThread;
27 std::thread sendThread;
29 std::atomic<bool> connected;
30 std::mutex connectionMutex;
31 std::condition_variable connectionCondition;
33 std::atomic<bool> running;
35 std::queue<MessageFrame> sendQueue;
37 std::condition_variable sendCondition;
39 std::queue<MessageFrame> receiveQueue;
40 std::mutex receiveMutex;
41 std::condition_variable receiveCondition;
43 std::function<void()> onConnectedCallback;
44 std::function<void()> onDisconnectedCallback;
52 bool isConnected()
const;
55 std::mutex& getReceiveMutex();
56 std::condition_variable& getReceiveCondition();
57 std::queue<MessageFrame>& getReceiveQueue();
59 void setOnConnectedCallback(std::function<
void()> callback);
60 void setOnDisconnectedCallback(std::function<
void()> callback);