Commit d020dd67 authored by danielkr's avatar danielkr

Declare ZMQ_CONFLATE option

parent 4eac7e3e
...@@ -278,6 +278,7 @@ ZMQ_EXPORT int zmq_msg_set (zmq_msg_t *msg, int option, int optval); ...@@ -278,6 +278,7 @@ ZMQ_EXPORT int zmq_msg_set (zmq_msg_t *msg, int option, int optval);
#define ZMQ_PROBE_ROUTER 51 #define ZMQ_PROBE_ROUTER 51
#define ZMQ_REQ_REQUEST_IDS 52 #define ZMQ_REQ_REQUEST_IDS 52
#define ZMQ_REQ_STRICT 53 #define ZMQ_REQ_STRICT 53
#define ZMQ_CONFLATE 54
/* Message options */ /* Message options */
#define ZMQ_MORE 1 #define ZMQ_MORE 1
......
...@@ -54,7 +54,8 @@ zmq::options_t::options_t () : ...@@ -54,7 +54,8 @@ zmq::options_t::options_t () :
tcp_keepalive_intvl (-1), tcp_keepalive_intvl (-1),
mechanism (ZMQ_NULL), mechanism (ZMQ_NULL),
as_server (0), as_server (0),
socket_id (0) socket_id (0),
conflate (false)
{ {
} }
...@@ -340,6 +341,16 @@ int zmq::options_t::setsockopt (int option_, const void *optval_, ...@@ -340,6 +341,16 @@ int zmq::options_t::setsockopt (int option_, const void *optval_,
} }
break; break;
# endif # endif
case ZMQ_CONFLATE:
if (is_int && (value == 0 || value == 1)) {
conflate = (value != 0);
return 0;
}
break;
default:
break;
} }
errno = EINVAL; errno = EINVAL;
return -1; return -1;
...@@ -596,6 +607,14 @@ int zmq::options_t::getsockopt (int option_, void *optval_, size_t *optvallen_) ...@@ -596,6 +607,14 @@ int zmq::options_t::getsockopt (int option_, void *optval_, size_t *optvallen_)
} }
break; break;
# endif # endif
case ZMQ_CONFLATE:
if (is_int) {
*value = conflate;
return 0;
}
break;
} }
errno = EINVAL; errno = EINVAL;
return -1; return -1;
......
...@@ -142,6 +142,12 @@ namespace zmq ...@@ -142,6 +142,12 @@ namespace zmq
// ID of the socket. // ID of the socket.
int socket_id; int socket_id;
// If true, socket conflates outgoing/incoming messages.
// Applicable to dealer, push/pull, pub/sub socket types.
// Cannot receive multi-part messages.
// Ignores hwm
bool conflate;
}; };
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment