client.hpp
Go to the documentation of this file.
1 /* SPDX-License-Identifier: MPL-2.0 */
2 
3 #ifndef __ZMQ_CLIENT_HPP_INCLUDED__
4 #define __ZMQ_CLIENT_HPP_INCLUDED__
5 
6 #include "socket_base.hpp"
7 #include "fq.hpp"
8 #include "lb.hpp"
9 
10 namespace zmq
11 {
12 class ctx_t;
13 class msg_t;
14 class pipe_t;
15 class io_thread_t;
16 
17 class client_t ZMQ_FINAL : public socket_base_t
18 {
19  public:
20  client_t (zmq::ctx_t *parent_, uint32_t tid_, int sid_);
21  ~client_t ();
22 
23  protected:
24  // Overrides of functions from socket_base_t.
25  void xattach_pipe (zmq::pipe_t *pipe_,
26  bool subscribe_to_all_,
27  bool locally_initiated_);
28  int xsend (zmq::msg_t *msg_);
29  int xrecv (zmq::msg_t *msg_);
30  bool xhas_in ();
31  bool xhas_out ();
32  void xread_activated (zmq::pipe_t *pipe_);
33  void xwrite_activated (zmq::pipe_t *pipe_);
34  void xpipe_terminated (zmq::pipe_t *pipe_);
35 
36  private:
37  // Messages are fair-queued from inbound pipes. And load-balanced to
38  // the outbound pipes.
41 
43 };
44 }
45 
46 #endif
zmq::ZMQ_FINAL::_fq
fq_t _fq
Definition: client.hpp:39
lb.hpp
zmq::fq_t
Definition: fq.hpp:18
zmq
Definition: zmq.hpp:229
ZMQ_NON_COPYABLE_NOR_MOVABLE
#define ZMQ_NON_COPYABLE_NOR_MOVABLE(classname)
Definition: macros.hpp:58
zmq::lb_t
Definition: lb.hpp:16
fq.hpp
socket_base.hpp
zmq::ZMQ_FINAL::_lb
lb_t _lb
Definition: client.hpp:40
ZMQ_FINAL
Definition: unittest_ip_resolver.cpp:26
zmq::msg_t
Definition: msg.hpp:33


libaditof
Author(s):
autogenerated on Wed May 21 2025 02:06:48