ZIO
Python and C++ interface to ZeroMQ and Zyre
client.hpp
Go to the documentation of this file.
1 #ifndef ZIO_DOMO_CLIENT_HPP_SEEND
2 #define ZIO_DOMO_CLIENT_HPP_SEEND
3 
4 #include "zio/util.hpp"
5 
6 namespace zio {
7 namespace domo {
8 
22  class Client {
23  public:
26  Client(zio::socket_t& sock, std::string broker_address);
27 
28  ~Client();
29 
30  // API methods
31 
35  void send(std::string service, zio::multipart_t& request);
36 
40  void recv(zio::multipart_t& reply);
41 
42  private:
43  zio::socket_t& m_sock;
44  std::string m_address;
46 
47  private:
48  std::function<void(zio::socket_t& server_socket,
49  zio::multipart_t& mmsg)> really_recv;
50  std::function<void(zio::socket_t& server_socket,
51  zio::multipart_t& mmsg)> really_send;
52 
53  void connect_to_broker(bool reconnect = true);
54  };
55 }
56 }
57 #endif
58 
const char * reply
Definition: protocol.hpp:23
const char * request
Definition: protocol.hpp:22
Client(zio::socket_t &sock, std::string broker_address)
Definition: domo_client.cpp:7
void recv(zio::multipart_t &reply)
Definition: domo_client.cpp:54
const time_unit_t HEARTBEAT_INTERVAL
Definition: util.hpp:15
implementation of ZIO data flow protocol endpoints
Definition: actor.hpp:14
void send(std::string service, zio::multipart_t &request)
Definition: domo_client.cpp:44
std::chrono::milliseconds time_unit_t
Definition: util.hpp:11