18class Client :
public std::enable_shared_from_this<Client> {
26 void publish(
const std::string& channel,
const std::string& msg);
32 boost::asio::ip::tcp::socket socket;
34 uint8_t temp[1024 * 1024];
35 std::vector<uint8_t> buffer;
36 std::vector<uint8_t> writing;
37 std::vector<uint8_t> pending;
38 std::mutex publish_mutex;
39 const uint MAX_PENDING_SIZE = 1073741824;
41 void handle_read(
const boost::system::error_code& ec, std::size_t length);
42 void handle_write(
const boost::system::error_code& ec);
44 void handle_register_desc();
45 void handle_add_writer();
46 void handle_add_reader();
47 void handle_publish();
49 uint32_t get32le(
size_t offset)
const;