Disable reconnection option

Add value -1 to the ZMQ_RECONNECT_IVL to disable the reconnection algorithm
This commit is contained in:
Emmanuel Taurel
2012-03-20 09:22:27 +01:00
parent 8665f9a0b6
commit 107581213c
4 changed files with 5 additions and 4 deletions

View File

@@ -223,7 +223,7 @@ ZMQ_RECONNECT_IVL: Retrieve reconnection interval
The 'ZMQ_RECONNECT_IVL' option shall retrieve the initial reconnection interval The 'ZMQ_RECONNECT_IVL' option shall retrieve the initial reconnection interval
for the specified 'socket'. The reconnection interval is the period 0MQ shall for the specified 'socket'. The reconnection interval is the period 0MQ shall
wait between attempts to reconnect disconnected peers when using wait between attempts to reconnect disconnected peers when using
connection-oriented transports. connection-oriented transports. The value -1 means no reconnection.
NOTE: The reconnection interval may be randomized by 0MQ to prevent NOTE: The reconnection interval may be randomized by 0MQ to prevent
reconnection storms in topologies with a large number of peers per socket. reconnection storms in topologies with a large number of peers per socket.

View File

@@ -232,7 +232,7 @@ ZMQ_RECONNECT_IVL: Set reconnection interval
The 'ZMQ_RECONNECT_IVL' option shall set the initial reconnection interval for The 'ZMQ_RECONNECT_IVL' option shall set the initial reconnection interval for
the specified 'socket'. The reconnection interval is the period 0MQ the specified 'socket'. The reconnection interval is the period 0MQ
shall wait between attempts to reconnect disconnected peers when using shall wait between attempts to reconnect disconnected peers when using
connection-oriented transports. connection-oriented transports. The value -1 means no reconnection.
NOTE: The reconnection interval may be randomized by 0MQ to prevent NOTE: The reconnection interval may be randomized by 0MQ to prevent
reconnection storms in topologies with a large number of peers per socket. reconnection storms in topologies with a large number of peers per socket.

View File

@@ -140,7 +140,7 @@ int zmq::options_t::setsockopt (int option_, const void *optval_,
errno = EINVAL; errno = EINVAL;
return -1; return -1;
} }
if (*((int*) optval_) < 0) { if (*((int*) optval_) < -1) {
errno = EINVAL; errno = EINVAL;
return -1; return -1;
} }

View File

@@ -375,7 +375,8 @@ void zmq::session_base_t::detached ()
} }
// Reconnect. // Reconnect.
start_connecting (true); if (options.reconnect_ivl != -1)
start_connecting (true);
// For subscriber sockets we hiccup the inbound pipe, which will cause // For subscriber sockets we hiccup the inbound pipe, which will cause
// the socket object to resend all the subscriptions. // the socket object to resend all the subscriptions.