mirror of
https://github.com/zeromq/libzmq.git
synced 2025-10-29 04:17:57 +01:00
add ZMQ_CONNECT_TIMEOUT socket option
This commit is contained in:
@@ -320,6 +320,7 @@ ZMQ_EXPORT uint32_t zmq_msg_get_routing_id(zmq_msg_t *msg);
|
|||||||
#define ZMQ_HEARTBEAT_TTL 76
|
#define ZMQ_HEARTBEAT_TTL 76
|
||||||
#define ZMQ_HEARTBEAT_TIMEOUT 77
|
#define ZMQ_HEARTBEAT_TIMEOUT 77
|
||||||
#define ZMQ_XPUB_VERBOSE_UNSUBSCRIBE 78
|
#define ZMQ_XPUB_VERBOSE_UNSUBSCRIBE 78
|
||||||
|
#define ZMQ_CONNECT_TIMEOUT 79
|
||||||
|
|
||||||
/* Message options */
|
/* Message options */
|
||||||
#define ZMQ_MORE 1
|
#define ZMQ_MORE 1
|
||||||
|
|||||||
@@ -46,6 +46,7 @@ zmq::options_t::options_t () :
|
|||||||
tos (0),
|
tos (0),
|
||||||
type (-1),
|
type (-1),
|
||||||
linger (-1),
|
linger (-1),
|
||||||
|
connect_timeout (0),
|
||||||
reconnect_ivl (100),
|
reconnect_ivl (100),
|
||||||
reconnect_ivl_max (0),
|
reconnect_ivl_max (0),
|
||||||
backlog (100),
|
backlog (100),
|
||||||
@@ -158,6 +159,13 @@ int zmq::options_t::setsockopt (int option_, const void *optval_,
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case ZMQ_CONNECT_TIMEOUT:
|
||||||
|
if (is_int && value >= 0) {
|
||||||
|
connect_timeout = value;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
case ZMQ_RECONNECT_IVL:
|
case ZMQ_RECONNECT_IVL:
|
||||||
if (is_int && value >= -1) {
|
if (is_int && value >= -1) {
|
||||||
reconnect_ivl = value;
|
reconnect_ivl = value;
|
||||||
@@ -653,6 +661,13 @@ int zmq::options_t::getsockopt (int option_, void *optval_, size_t *optvallen_)
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case ZMQ_CONNECT_TIMEOUT:
|
||||||
|
if (is_int) {
|
||||||
|
*value = connect_timeout;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
case ZMQ_RECONNECT_IVL:
|
case ZMQ_RECONNECT_IVL:
|
||||||
if (is_int) {
|
if (is_int) {
|
||||||
*value = reconnect_ivl;
|
*value = reconnect_ivl;
|
||||||
|
|||||||
@@ -92,6 +92,11 @@ namespace zmq
|
|||||||
// Linger time, in milliseconds.
|
// Linger time, in milliseconds.
|
||||||
int linger;
|
int linger;
|
||||||
|
|
||||||
|
// Maximum interval in milliseconds beyond which userspace will
|
||||||
|
// timeout connect().
|
||||||
|
// Default 0 (unused)
|
||||||
|
int connect_timeout;
|
||||||
|
|
||||||
// Minimum interval between attempts to reconnect, in milliseconds.
|
// Minimum interval between attempts to reconnect, in milliseconds.
|
||||||
// Default 100ms
|
// Default 100ms
|
||||||
int reconnect_ivl;
|
int reconnect_ivl;
|
||||||
|
|||||||
Reference in New Issue
Block a user