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:
Martin Sustrik
2011-03-23 17:01:39 +01:00
parent f5e6d67948
commit b45b68ae4a
7 changed files with 3 additions and 67 deletions

View File

@@ -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;