mirror of
				https://github.com/zeromq/libzmq.git
				synced 2025-10-29 20:59:47 +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
	 KIU Shueng Chuan
					KIU Shueng Chuan