puzzlebox
Loading...
Searching...
No Matches
sock.h
1#pragma once
2
3#include <cstdint>
4#include <thread>
5
18class PBSocket {
19public:
20 PBSocket();
22 PBSocket(const char * addr, uint16_t port);
23 virtual ~PBSocket();
24
26 void set_server(const char * addr, uint16_t port);
27
29 void sock_connect();
30
37 void send(const char * buf, size_t buf_sz);
38
39private:
50 void sock_task();
52 void sock_close();
53
55 std::thread * _thread = nullptr;
56
63 const char * _addr = NULL;
65 uint16_t _port = 0;
66
68 int _fd = -1;
69};
70
72extern PBSocket * sock;
73
Asynchronous puzzle box socket connection.
Definition sock.h:18
void send(const char *buf, size_t buf_sz)
Send data over the TCP connection.
Definition sock.cpp:70
void set_server(const char *addr, uint16_t port)
Configure target server.
Definition sock.cpp:35
void sock_connect()
Attempt to connect to server and start sock_task() in a thread.
Definition sock.cpp:40
PBSocket * sock
Singleton PBSocket instance.
Definition main.cpp:9