mirror of
https://github.com/zeromq/libzmq.git
synced 2025-10-28 03:20:13 +01:00
ZMQ_MCAST_LOOP removed
Multicast loopback is not a real multicast, rather a kernel-space simulation. Moreover, it tends to be rather unreliable and lossy. Removing the option will force users to use transports better suited for the job, such as inproc or ipc. Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
This commit is contained in:
@@ -32,7 +32,6 @@ zmq::options_t::options_t () :
|
||||
rate (100),
|
||||
recovery_ivl (10),
|
||||
recovery_ivl_msec (-1),
|
||||
use_multicast_loop (true),
|
||||
sndbuf (0),
|
||||
rcvbuf (0),
|
||||
type (-1),
|
||||
@@ -113,21 +112,6 @@ int zmq::options_t::setsockopt (int option_, const void *optval_,
|
||||
recovery_ivl_msec = (int32_t) *((int64_t*) optval_);
|
||||
return 0;
|
||||
|
||||
case ZMQ_MCAST_LOOP:
|
||||
if (optvallen_ != sizeof (int64_t)) {
|
||||
errno = EINVAL;
|
||||
return -1;
|
||||
}
|
||||
if ((int64_t) *((int64_t*) optval_) == 0)
|
||||
use_multicast_loop = false;
|
||||
else if ((int64_t) *((int64_t*) optval_) == 1)
|
||||
use_multicast_loop = true;
|
||||
else {
|
||||
errno = EINVAL;
|
||||
return -1;
|
||||
}
|
||||
return 0;
|
||||
|
||||
case ZMQ_SNDBUF:
|
||||
if (optvallen_ != sizeof (uint64_t)) {
|
||||
errno = EINVAL;
|
||||
@@ -266,15 +250,6 @@ int zmq::options_t::getsockopt (int option_, void *optval_, size_t *optvallen_)
|
||||
*optvallen_ = sizeof (int64_t);
|
||||
return 0;
|
||||
|
||||
case ZMQ_MCAST_LOOP:
|
||||
if (*optvallen_ < sizeof (int64_t)) {
|
||||
errno = EINVAL;
|
||||
return -1;
|
||||
}
|
||||
*((int64_t*) optval_) = use_multicast_loop ? 1 : 0;
|
||||
*optvallen_ = sizeof (int64_t);
|
||||
return 0;
|
||||
|
||||
case ZMQ_SNDBUF:
|
||||
if (*optvallen_ < sizeof (uint64_t)) {
|
||||
errno = EINVAL;
|
||||
|
||||
Reference in New Issue
Block a user