mirror of
https://github.com/zeromq/libzmq.git
synced 2025-02-23 23:16:41 +01:00
Duplicate initialisation of PGM_MULTICAST_HOPS removed
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
This commit is contained in:
parent
5d0cffc52f
commit
d8d5a627b1
@ -169,30 +169,24 @@ int zmq::pgm_socket_t::init (bool udp_encapsulation_, const char *network_)
|
||||
}
|
||||
|
||||
{
|
||||
// Propagate various socket options to the OpenPGM layer.
|
||||
const int rcvbuf = (int) options.rcvbuf;
|
||||
if (rcvbuf) {
|
||||
if (!pgm_setsockopt (sock, SOL_SOCKET, SO_RCVBUF, &rcvbuf,
|
||||
sizeof (rcvbuf)))
|
||||
goto err_abort;
|
||||
}
|
||||
const int rcvbuf = (int) options.rcvbuf;
|
||||
if (rcvbuf) {
|
||||
if (!pgm_setsockopt (sock, SOL_SOCKET, SO_RCVBUF, &rcvbuf,
|
||||
sizeof (rcvbuf)))
|
||||
goto err_abort;
|
||||
}
|
||||
|
||||
const int sndbuf = (int) options.sndbuf;
|
||||
if (sndbuf) {
|
||||
if (!pgm_setsockopt (sock, SOL_SOCKET, SO_SNDBUF, &sndbuf,
|
||||
sizeof (sndbuf)))
|
||||
goto err_abort;
|
||||
}
|
||||
const int sndbuf = (int) options.sndbuf;
|
||||
if (sndbuf) {
|
||||
if (!pgm_setsockopt (sock, SOL_SOCKET, SO_SNDBUF, &sndbuf,
|
||||
sizeof (sndbuf)))
|
||||
goto err_abort;
|
||||
}
|
||||
|
||||
const int max_tpdu = (int) pgm_max_tpdu;
|
||||
if (!pgm_setsockopt (sock, IPPROTO_PGM, PGM_MTU, &max_tpdu,
|
||||
sizeof (max_tpdu)))
|
||||
goto err_abort;
|
||||
|
||||
const int multicast_hops = (int) options.multicast_hops;
|
||||
if (!pgm_setsockopt (sock, IPPROTO_PGM, PGM_MULTICAST_HOPS,
|
||||
&multicast_hops, sizeof (int)))
|
||||
goto err_abort;
|
||||
const int max_tpdu = (int) pgm_max_tpdu;
|
||||
if (!pgm_setsockopt (sock, IPPROTO_PGM, PGM_MTU, &max_tpdu,
|
||||
sizeof (max_tpdu)))
|
||||
goto err_abort;
|
||||
}
|
||||
|
||||
if (receiver) {
|
||||
@ -317,24 +311,26 @@ int zmq::pgm_socket_t::init (bool udp_encapsulation_, const char *network_)
|
||||
|
||||
// Set IP level parameters.
|
||||
{
|
||||
const int nonblocking = 1,
|
||||
multicast_loop = 0,
|
||||
multicast_hops = 16,
|
||||
const int multicast_loop = 0;
|
||||
if (!pgm_setsockopt (sock, IPPROTO_PGM, PGM_MULTICAST_LOOP,
|
||||
&multicast_loop, sizeof (multicast_loop)))
|
||||
goto err_abort;
|
||||
|
||||
// Expedited Forwarding PHB for network elements, no ECN.
|
||||
dscp = 0x2e << 2;
|
||||
const int multicast_hops = options.multicast_hops;
|
||||
if (!pgm_setsockopt (sock, IPPROTO_PGM, PGM_MULTICAST_HOPS,
|
||||
&multicast_hops, sizeof (multicast_hops)))
|
||||
goto err_abort;
|
||||
|
||||
if (!pgm_setsockopt (sock, IPPROTO_PGM, PGM_MULTICAST_LOOP,
|
||||
&multicast_loop, sizeof (multicast_loop)) ||
|
||||
!pgm_setsockopt (sock, IPPROTO_PGM, PGM_MULTICAST_HOPS,
|
||||
&multicast_hops, sizeof (multicast_hops)))
|
||||
goto err_abort;
|
||||
if (AF_INET6 != sa_family && !pgm_setsockopt (sock,
|
||||
IPPROTO_PGM, PGM_TOS, &dscp, sizeof (dscp)))
|
||||
goto err_abort;
|
||||
if (!pgm_setsockopt (sock, IPPROTO_PGM, PGM_NOBLOCK,
|
||||
&nonblocking, sizeof (nonblocking)))
|
||||
goto err_abort;
|
||||
// Expedited Forwarding PHB for network elements, no ECN.
|
||||
const int dscp = 0x2e << 2;
|
||||
if (AF_INET6 != sa_family && !pgm_setsockopt (sock,
|
||||
IPPROTO_PGM, PGM_TOS, &dscp, sizeof (dscp)))
|
||||
goto err_abort;
|
||||
|
||||
const int nonblocking = 1;
|
||||
if (!pgm_setsockopt (sock, IPPROTO_PGM, PGM_NOBLOCK,
|
||||
&nonblocking, sizeof (nonblocking)))
|
||||
goto err_abort;
|
||||
}
|
||||
|
||||
// Connect PGM transport to start state machine.
|
||||
|
Loading…
x
Reference in New Issue
Block a user