3 #ifndef __ZMQ_PIPE_HPP_INCLUDED__
4 #define __ZMQ_PIPE_HPP_INCLUDED__
29 zmq::pipe_t *pipes_[2],
31 const bool conflate_[2]);
39 virtual void hiccuped (zmq::pipe_t *pipe_) = 0;
54 zmq::pipe_t *pipes_[2],
56 const bool conflate_[2]);
63 void set_server_socket_routing_id (uint32_t server_socket_routing_id_);
64 uint32_t get_server_socket_routing_id ()
const;
67 void set_router_socket_routing_id (
const blob_t &router_socket_routing_id_);
68 const blob_t &get_routing_id ()
const;
74 bool read (
msg_t *msg_);
84 bool write (
const msg_t *msg_);
87 void rollback ()
const;
104 void terminate (
bool delay_);
107 void set_hwms (
int inhwm_,
int outhwm_);
110 void set_hwms_boost (
int inhwmboost_,
int outhwmboost_);
113 void send_hwms_to_peer (
int inhwm_,
int outhwm_);
116 bool check_hwm ()
const;
121 void send_stats_to_peer (
own_t *socket_base_);
123 void send_disconnect_msg ();
124 void set_disconnect_msg (
const std::vector<unsigned char> &disconnect_);
126 void send_hiccup_msg (
const std::vector<unsigned char> &hiccup_);
134 void process_activate_write (uint64_t msgs_read_)
ZMQ_OVERRIDE;
137 process_pipe_peer_stats (uint64_t queue_count_,
142 void process_pipe_hwm (
int inhwm_,
int outhwm_)
ZMQ_OVERRIDE;
145 void process_delimiter ();
158 void set_peer (pipe_t *peer_);
183 uint64_t _msgs_written;
187 uint64_t _peers_msgs_read;
228 static bool is_delimiter (
const msg_t &msg_);
231 static int compute_lwm (
int hwm_);