mirror of
https://github.com/zeromq/libzmq.git
synced 2025-03-04 07:27:26 +01:00
Declare ZMQ_CONFLATE option
This commit is contained in:
parent
4eac7e3e4f
commit
d020dd677f
@ -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_REQ_REQUEST_IDS 52
|
||||
#define ZMQ_REQ_STRICT 53
|
||||
#define ZMQ_CONFLATE 54
|
||||
|
||||
/* Message options */
|
||||
#define ZMQ_MORE 1
|
||||
|
@ -54,7 +54,8 @@ zmq::options_t::options_t () :
|
||||
tcp_keepalive_intvl (-1),
|
||||
mechanism (ZMQ_NULL),
|
||||
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_,
|
||||
}
|
||||
break;
|
||||
# endif
|
||||
|
||||
case ZMQ_CONFLATE:
|
||||
if (is_int && (value == 0 || value == 1)) {
|
||||
conflate = (value != 0);
|
||||
return 0;
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
errno = EINVAL;
|
||||
return -1;
|
||||
@ -596,6 +607,14 @@ int zmq::options_t::getsockopt (int option_, void *optval_, size_t *optvallen_)
|
||||
}
|
||||
break;
|
||||
# endif
|
||||
|
||||
case ZMQ_CONFLATE:
|
||||
if (is_int) {
|
||||
*value = conflate;
|
||||
return 0;
|
||||
}
|
||||
break;
|
||||
|
||||
}
|
||||
errno = EINVAL;
|
||||
return -1;
|
||||
|
@ -142,6 +142,12 @@ namespace zmq
|
||||
|
||||
// ID of the socket.
|
||||
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;
|
||||
};
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user