-
Couldn't load subscription status.
- Fork 2.5k
Open
Description
It is impossible to change TTL of a DGRAM socket. Setting ZMQ_MULTICAST_HOPS doesn't affect ZMQ_DGRAM sockets because in zmq::udp_engine_t::plug only sets the TTL value if the socket is not raw (DGRAM is).
if (!_options.raw_socket) {
const ip_addr_t *out = udp_addr->target_addr ();
_out_address = out->as_sockaddr ();
_out_address_len = out->sockaddr_len ();
if (out->is_multicast ()) {
const bool is_ipv6 = (out->family () == AF_INET6);
rc = rc
| set_udp_multicast_loop (_fd, is_ipv6,
_options.multicast_loop);
if (_options.multicast_hops > 0) {
rc = rc
| set_udp_multicast_ttl (_fd, is_ipv6,
_options.multicast_hops);
}
rc = rc | set_udp_multicast_iface (_fd, is_ipv6, udp_addr);
}
} else {https://github.com/zeromq/libzmq/blob/master/src/udp_engine.cpp#L105-L124
Metadata
Metadata
Assignees
Labels
No labels