czmq-ffi-gen 0.13.0-x64-mingw32 → 0.14.1-x64-mingw32

Sign up to get free protection for your applications and to get access to all the features.
Files changed (76) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGES.md +13 -0
  3. data/lib/czmq-ffi-gen/czmq/ffi.rb +224 -698
  4. data/lib/czmq-ffi-gen/czmq/ffi/zactor.rb +40 -7
  5. data/lib/czmq-ffi-gen/czmq/ffi/zargs.rb +259 -0
  6. data/lib/czmq-ffi-gen/czmq/ffi/zarmour.rb +3 -3
  7. data/lib/czmq-ffi-gen/czmq/ffi/zcert.rb +15 -6
  8. data/lib/czmq-ffi-gen/czmq/ffi/zcertstore.rb +25 -11
  9. data/lib/czmq-ffi-gen/czmq/ffi/zchunk.rb +18 -18
  10. data/lib/czmq-ffi-gen/czmq/ffi/zclock.rb +6 -6
  11. data/lib/czmq-ffi-gen/czmq/ffi/zconfig.rb +27 -17
  12. data/lib/czmq-ffi-gen/czmq/ffi/zdigest.rb +4 -4
  13. data/lib/czmq-ffi-gen/czmq/ffi/zdir.rb +36 -36
  14. data/lib/czmq-ffi-gen/czmq/ffi/zdir_patch.rb +1 -1
  15. data/lib/czmq-ffi-gen/czmq/ffi/zfile.rb +27 -19
  16. data/lib/czmq-ffi-gen/czmq/ffi/zframe.rb +22 -21
  17. data/lib/czmq-ffi-gen/czmq/ffi/zhash.rb +54 -54
  18. data/lib/czmq-ffi-gen/czmq/ffi/zhashx.rb +82 -80
  19. data/lib/czmq-ffi-gen/czmq/ffi/ziflist.rb +30 -0
  20. data/lib/czmq-ffi-gen/czmq/ffi/zlist.rb +30 -30
  21. data/lib/czmq-ffi-gen/czmq/ffi/zlistx.rb +44 -44
  22. data/lib/czmq-ffi-gen/czmq/ffi/zloop.rb +39 -39
  23. data/lib/czmq-ffi-gen/czmq/ffi/zmsg.rb +46 -46
  24. data/lib/czmq-ffi-gen/czmq/ffi/zpoller.rb +16 -16
  25. data/lib/czmq-ffi-gen/czmq/ffi/zproc.rb +237 -34
  26. data/lib/czmq-ffi-gen/czmq/ffi/zsock.rb +1201 -973
  27. data/lib/czmq-ffi-gen/czmq/ffi/zstr.rb +58 -19
  28. data/lib/czmq-ffi-gen/czmq/ffi/zsys.rb +836 -0
  29. data/lib/czmq-ffi-gen/czmq/ffi/ztimerset.rb +6 -6
  30. data/lib/czmq-ffi-gen/czmq/ffi/ztrie.rb +10 -10
  31. data/lib/czmq-ffi-gen/czmq/ffi/zuuid.rb +4 -4
  32. data/lib/czmq-ffi-gen/gem_version.rb +1 -1
  33. data/lib/czmq-ffi-gen/vendor.rb +9 -1
  34. data/vendor/local/bin/inproc_lat.exe +0 -0
  35. data/vendor/local/bin/inproc_thr.exe +0 -0
  36. data/vendor/local/bin/libczmq.dll +0 -0
  37. data/vendor/local/bin/libzmq.dll +0 -0
  38. data/vendor/local/bin/local_lat.exe +0 -0
  39. data/vendor/local/bin/local_thr.exe +0 -0
  40. data/vendor/local/bin/remote_lat.exe +0 -0
  41. data/vendor/local/bin/remote_thr.exe +0 -0
  42. data/vendor/local/bin/zmakecert.exe +0 -0
  43. data/vendor/local/include/czmq_library.h +18 -9
  44. data/vendor/local/include/czmq_prelude.h +104 -16
  45. data/vendor/local/include/zactor.h +25 -7
  46. data/vendor/local/include/zarmour.h +3 -3
  47. data/vendor/local/include/zcert.h +11 -6
  48. data/vendor/local/include/zcertstore.h +18 -9
  49. data/vendor/local/include/zchunk.h +18 -18
  50. data/vendor/local/include/zclock.h +6 -6
  51. data/vendor/local/include/zconfig.h +25 -16
  52. data/vendor/local/include/zdigest.h +4 -4
  53. data/vendor/local/include/zdir.h +36 -36
  54. data/vendor/local/include/zdir_patch.h +1 -1
  55. data/vendor/local/include/zfile.h +27 -19
  56. data/vendor/local/include/zframe.h +22 -21
  57. data/vendor/local/include/zgossip.h +5 -5
  58. data/vendor/local/include/zgossip_engine.inc +103 -22
  59. data/vendor/local/include/zgossip_msg.h +28 -30
  60. data/vendor/local/include/zhash.h +53 -53
  61. data/vendor/local/include/zhashx.h +75 -73
  62. data/vendor/local/include/ziflist.h +22 -1
  63. data/vendor/local/include/zlist.h +28 -28
  64. data/vendor/local/include/zlistx.h +41 -41
  65. data/vendor/local/include/zloop.h +36 -36
  66. data/vendor/local/include/zmsg.h +46 -46
  67. data/vendor/local/include/zpoller.h +16 -16
  68. data/vendor/local/include/zsock.h +414 -364
  69. data/vendor/local/include/zsock_option.inc +234 -1062
  70. data/vendor/local/include/zstr.h +44 -19
  71. data/vendor/local/include/zsys.h +63 -19
  72. data/vendor/local/include/zuuid.h +4 -4
  73. data/vendor/local/lib/libczmq.dll.a +0 -0
  74. data/vendor/local/lib/liblibzmq.dll.a +0 -0
  75. data/vendor/local/lib/pkgconfig/libczmq.pc +1 -1
  76. metadata +6 -3
@@ -29,27 +29,27 @@ extern "C" {
29
29
  CZMQ_EXPORT zmsg_t *
30
30
  zmsg_new (void);
31
31
 
32
- // Receive message from socket, returns zmsg_t object or NULL if the recv
33
- // was interrupted. Does a blocking recv. If you want to not block then use
32
+ // Receive message from socket, returns zmsg_t object or NULL if the recv
33
+ // was interrupted. Does a blocking recv. If you want to not block then use
34
34
  // the zloop class or zmsg_recv_nowait or zmq_poll to check for socket input
35
- // before receiving.
35
+ // before receiving.
36
36
  CZMQ_EXPORT zmsg_t *
37
37
  zmsg_recv (void *source);
38
38
 
39
39
  // Load/append an open file into new message, return the message.
40
- // Returns NULL if the message could not be loaded.
40
+ // Returns NULL if the message could not be loaded.
41
41
  CZMQ_EXPORT zmsg_t *
42
42
  zmsg_load (FILE *file);
43
43
 
44
44
  // Decodes a serialized message frame created by zmsg_encode () and returns
45
- // a new zmsg_t object. Returns NULL if the frame was badly formatted or
46
- // there was insufficient memory to work.
45
+ // a new zmsg_t object. Returns NULL if the frame was badly formatted or
46
+ // there was insufficient memory to work.
47
47
  CZMQ_EXPORT zmsg_t *
48
48
  zmsg_decode (zframe_t *frame);
49
49
 
50
50
  // Generate a signal message encoding the given status. A signal is a short
51
- // message carrying a 1-byte success/failure code (by convention, 0 means
52
- // OK). Signals are encoded to be distinguishable from "normal" messages.
51
+ // message carrying a 1-byte success/failure code (by convention, 0 means
52
+ // OK). Signals are encoded to be distinguishable from "normal" messages.
53
53
  CZMQ_EXPORT zmsg_t *
54
54
  zmsg_new_signal (byte status);
55
55
 
@@ -59,17 +59,17 @@ CZMQ_EXPORT void
59
59
 
60
60
  // Send message to destination socket, and destroy the message after sending
61
61
  // it successfully. If the message has no frames, sends nothing but destroys
62
- // the message anyhow. Nullifies the caller's reference to the message (as
63
- // it is a destructor).
62
+ // the message anyhow. Nullifies the caller's reference to the message (as
63
+ // it is a destructor).
64
64
  CZMQ_EXPORT int
65
65
  zmsg_send (zmsg_t **self_p, void *dest);
66
66
 
67
- // Send message to destination socket as part of a multipart sequence, and
68
- // destroy the message after sending it successfully. Note that after a
67
+ // Send message to destination socket as part of a multipart sequence, and
68
+ // destroy the message after sending it successfully. Note that after a
69
69
  // zmsg_sendm, you must call zmsg_send or another method that sends a final
70
- // message part. If the message has no frames, sends nothing but destroys
71
- // the message anyhow. Nullifies the caller's reference to the message (as
72
- // it is a destructor).
70
+ // message part. If the message has no frames, sends nothing but destroys
71
+ // the message anyhow. Nullifies the caller's reference to the message (as
72
+ // it is a destructor).
73
73
  CZMQ_EXPORT int
74
74
  zmsg_sendm (zmsg_t **self_p, void *dest);
75
75
 
@@ -81,17 +81,17 @@ CZMQ_EXPORT size_t
81
81
  CZMQ_EXPORT size_t
82
82
  zmsg_content_size (zmsg_t *self);
83
83
 
84
- // Push frame to the front of the message, i.e. before all other frames.
84
+ // Push frame to the front of the message, i.e. before all other frames.
85
85
  // Message takes ownership of frame, will destroy it when message is sent.
86
- // Returns 0 on success, -1 on error. Deprecates zmsg_push, which did not
87
- // nullify the caller's frame reference.
86
+ // Returns 0 on success, -1 on error. Deprecates zmsg_push, which did not
87
+ // nullify the caller's frame reference.
88
88
  CZMQ_EXPORT int
89
89
  zmsg_prepend (zmsg_t *self, zframe_t **frame_p);
90
90
 
91
- // Add frame to the end of the message, i.e. after all other frames.
91
+ // Add frame to the end of the message, i.e. after all other frames.
92
92
  // Message takes ownership of frame, will destroy it when message is sent.
93
- // Returns 0 on success. Deprecates zmsg_add, which did not nullify the
94
- // caller's frame reference.
93
+ // Returns 0 on success. Deprecates zmsg_add, which did not nullify the
94
+ // caller's frame reference.
95
95
  CZMQ_EXPORT int
96
96
  zmsg_append (zmsg_t *self, zframe_t **frame_p);
97
97
 
@@ -101,49 +101,49 @@ CZMQ_EXPORT zframe_t *
101
101
  zmsg_pop (zmsg_t *self);
102
102
 
103
103
  // Push block of memory to front of message, as a new frame.
104
- // Returns 0 on success, -1 on error.
104
+ // Returns 0 on success, -1 on error.
105
105
  CZMQ_EXPORT int
106
106
  zmsg_pushmem (zmsg_t *self, const void *data, size_t size);
107
107
 
108
108
  // Add block of memory to the end of the message, as a new frame.
109
- // Returns 0 on success, -1 on error.
109
+ // Returns 0 on success, -1 on error.
110
110
  CZMQ_EXPORT int
111
111
  zmsg_addmem (zmsg_t *self, const void *data, size_t size);
112
112
 
113
113
  // Push string as new frame to front of message.
114
- // Returns 0 on success, -1 on error.
114
+ // Returns 0 on success, -1 on error.
115
115
  CZMQ_EXPORT int
116
116
  zmsg_pushstr (zmsg_t *self, const char *string);
117
117
 
118
118
  // Push string as new frame to end of message.
119
- // Returns 0 on success, -1 on error.
119
+ // Returns 0 on success, -1 on error.
120
120
  CZMQ_EXPORT int
121
121
  zmsg_addstr (zmsg_t *self, const char *string);
122
122
 
123
123
  // Push formatted string as new frame to front of message.
124
- // Returns 0 on success, -1 on error.
124
+ // Returns 0 on success, -1 on error.
125
125
  CZMQ_EXPORT int
126
126
  zmsg_pushstrf (zmsg_t *self, const char *format, ...) CHECK_PRINTF (2);
127
127
 
128
128
  // Push formatted string as new frame to end of message.
129
- // Returns 0 on success, -1 on error.
129
+ // Returns 0 on success, -1 on error.
130
130
  CZMQ_EXPORT int
131
131
  zmsg_addstrf (zmsg_t *self, const char *format, ...) CHECK_PRINTF (2);
132
132
 
133
133
  // Pop frame off front of message, return as fresh string. If there were
134
- // no more frames in the message, returns NULL.
134
+ // no more frames in the message, returns NULL.
135
135
  // Caller owns return value and must destroy it when done.
136
136
  CZMQ_EXPORT char *
137
137
  zmsg_popstr (zmsg_t *self);
138
138
 
139
- // Push encoded message as a new frame. Message takes ownership of
139
+ // Push encoded message as a new frame. Message takes ownership of
140
140
  // submessage, so the original is destroyed in this call. Returns 0 on
141
- // success, -1 on error.
141
+ // success, -1 on error.
142
142
  CZMQ_EXPORT int
143
143
  zmsg_addmsg (zmsg_t *self, zmsg_t **msg_p);
144
144
 
145
145
  // Remove first submessage from message, if any. Returns zmsg_t, or NULL if
146
- // decoding was not successful.
146
+ // decoding was not successful.
147
147
  // Caller owns return value and must destroy it when done.
148
148
  CZMQ_EXPORT zmsg_t *
149
149
  zmsg_popmsg (zmsg_t *self);
@@ -153,12 +153,12 @@ CZMQ_EXPORT void
153
153
  zmsg_remove (zmsg_t *self, zframe_t *frame);
154
154
 
155
155
  // Set cursor to first frame in message. Returns frame, or NULL, if the
156
- // message is empty. Use this to navigate the frames as a list.
156
+ // message is empty. Use this to navigate the frames as a list.
157
157
  CZMQ_EXPORT zframe_t *
158
158
  zmsg_first (zmsg_t *self);
159
159
 
160
160
  // Return the next frame. If there are no more frames, returns NULL. To move
161
- // to the first frame call zmsg_first(). Advances the cursor.
161
+ // to the first frame call zmsg_first(). Advances the cursor.
162
162
  CZMQ_EXPORT zframe_t *
163
163
  zmsg_next (zmsg_t *self);
164
164
 
@@ -166,35 +166,35 @@ CZMQ_EXPORT zframe_t *
166
166
  CZMQ_EXPORT zframe_t *
167
167
  zmsg_last (zmsg_t *self);
168
168
 
169
- // Save message to an open file, return 0 if OK, else -1. The message is
170
- // saved as a series of frames, each with length and data. Note that the
171
- // file is NOT guaranteed to be portable between operating systems, not
169
+ // Save message to an open file, return 0 if OK, else -1. The message is
170
+ // saved as a series of frames, each with length and data. Note that the
171
+ // file is NOT guaranteed to be portable between operating systems, not
172
172
  // versions of CZMQ. The file format is at present undocumented and liable
173
- // to arbitrary change.
173
+ // to arbitrary change.
174
174
  CZMQ_EXPORT int
175
175
  zmsg_save (zmsg_t *self, FILE *file);
176
176
 
177
177
  // Serialize multipart message to a single message frame. Use this method
178
- // to send structured messages across transports that do not support
179
- // multipart data. Allocates and returns a new frame containing the
180
- // serialized message. To decode a serialized message frame, use
181
- // zmsg_decode ().
178
+ // to send structured messages across transports that do not support
179
+ // multipart data. Allocates and returns a new frame containing the
180
+ // serialized message. To decode a serialized message frame, use
181
+ // zmsg_decode ().
182
182
  // Caller owns return value and must destroy it when done.
183
183
  CZMQ_EXPORT zframe_t *
184
184
  zmsg_encode (zmsg_t *self);
185
185
 
186
186
  // Create copy of message, as new message object. Returns a fresh zmsg_t
187
- // object. If message is null, or memory was exhausted, returns null.
187
+ // object. If message is null, or memory was exhausted, returns null.
188
188
  // Caller owns return value and must destroy it when done.
189
189
  CZMQ_EXPORT zmsg_t *
190
190
  zmsg_dup (zmsg_t *self);
191
191
 
192
192
  // Send message to zsys log sink (may be stdout, or system facility as
193
- // configured by zsys_set_logstream).
193
+ // configured by zsys_set_logstream).
194
194
  CZMQ_EXPORT void
195
195
  zmsg_print (zmsg_t *self);
196
196
 
197
- // Return true if the two messages have the same number of frames and each
197
+ // Return true if the two messages have the same number of frames and each
198
198
  // frame in the first message is identical to the corresponding frame in the
199
199
  // other message. As with zframe_eq, return false if either message is NULL.
200
200
  CZMQ_EXPORT bool
@@ -215,13 +215,13 @@ CZMQ_EXPORT void
215
215
  #ifdef CZMQ_BUILD_DRAFT_API
216
216
  // *** Draft method, for development use, may change without warning ***
217
217
  // Return message routing ID, if the message came from a ZMQ_SERVER socket.
218
- // Else returns zero.
218
+ // Else returns zero.
219
219
  CZMQ_EXPORT uint32_t
220
220
  zmsg_routing_id (zmsg_t *self);
221
221
 
222
222
  // *** Draft method, for development use, may change without warning ***
223
223
  // Set routing ID on message. This is used if/when the message is sent to a
224
- // ZMQ_SERVER socket.
224
+ // ZMQ_SERVER socket.
225
225
  CZMQ_EXPORT void
226
226
  zmsg_set_routing_id (zmsg_t *self, uint32_t routing_id);
227
227
 
@@ -23,9 +23,9 @@ extern "C" {
23
23
  // @interface
24
24
  // This is a stable class, and may not change except for emergencies. It
25
25
  // is provided in stable builds.
26
- // Create new poller, specifying zero or more readers. The list of
26
+ // Create new poller, specifying zero or more readers. The list of
27
27
  // readers ends in a NULL. Each reader can be a zsock_t instance, a
28
- // zactor_t instance, a libzmq socket (void *), or a file handle.
28
+ // zactor_t instance, a libzmq socket (void *), or a file handle.
29
29
  CZMQ_EXPORT zpoller_t *
30
30
  zpoller_new (void *reader, ...);
31
31
 
@@ -34,41 +34,41 @@ CZMQ_EXPORT void
34
34
  zpoller_destroy (zpoller_t **self_p);
35
35
 
36
36
  // Add a reader to be polled. Returns 0 if OK, -1 on failure. The reader may
37
- // be a libzmq void * socket, a zsock_t instance, or a zactor_t instance.
37
+ // be a libzmq void * socket, a zsock_t instance, or a zactor_t instance.
38
38
  CZMQ_EXPORT int
39
39
  zpoller_add (zpoller_t *self, void *reader);
40
40
 
41
41
  // Remove a reader from the poller; returns 0 if OK, -1 on failure. The reader
42
- // must have been passed during construction, or in an zpoller_add () call.
42
+ // must have been passed during construction, or in an zpoller_add () call.
43
43
  CZMQ_EXPORT int
44
44
  zpoller_remove (zpoller_t *self, void *reader);
45
45
 
46
- // By default the poller stops if the process receives a SIGINT or SIGTERM
46
+ // By default the poller stops if the process receives a SIGINT or SIGTERM
47
47
  // signal. This makes it impossible to shut-down message based architectures
48
48
  // like zactors. This method lets you switch off break handling. The default
49
- // nonstop setting is off (false).
49
+ // nonstop setting is off (false).
50
50
  CZMQ_EXPORT void
51
51
  zpoller_set_nonstop (zpoller_t *self, bool nonstop);
52
52
 
53
- // Poll the registered readers for I/O, return first reader that has input.
54
- // The reader will be a libzmq void * socket, or a zsock_t or zactor_t
55
- // instance as specified in zpoller_new/zpoller_add. The timeout should be
56
- // zero or greater, or -1 to wait indefinitely. Socket priority is defined
57
- // by their order in the poll list. If you need a balanced poll, use the low
53
+ // Poll the registered readers for I/O, return first reader that has input.
54
+ // The reader will be a libzmq void * socket, or a zsock_t or zactor_t
55
+ // instance as specified in zpoller_new/zpoller_add. The timeout should be
56
+ // zero or greater, or -1 to wait indefinitely. Socket priority is defined
57
+ // by their order in the poll list. If you need a balanced poll, use the low
58
58
  // level zmq_poll method directly. If the poll call was interrupted (SIGINT),
59
- // or the ZMQ context was destroyed, or the timeout expired, returns NULL.
60
- // You can test the actual exit condition by calling zpoller_expired () and
61
- // zpoller_terminated (). The timeout is in msec.
59
+ // or the ZMQ context was destroyed, or the timeout expired, returns NULL.
60
+ // You can test the actual exit condition by calling zpoller_expired () and
61
+ // zpoller_terminated (). The timeout is in msec.
62
62
  CZMQ_EXPORT void *
63
63
  zpoller_wait (zpoller_t *self, int timeout);
64
64
 
65
65
  // Return true if the last zpoller_wait () call ended because the timeout
66
- // expired, without any error.
66
+ // expired, without any error.
67
67
  CZMQ_EXPORT bool
68
68
  zpoller_expired (zpoller_t *self);
69
69
 
70
70
  // Return true if the last zpoller_wait () call ended because the process
71
- // was interrupted, or the parent context was destroyed.
71
+ // was interrupted, or the parent context was destroyed.
72
72
  CZMQ_EXPORT bool
73
73
  zpoller_terminated (zpoller_t *self);
74
74
 
@@ -32,11 +32,11 @@ extern "C" {
32
32
  // This class has draft methods, which may change over time. They are not
33
33
  // in stable releases, by default. Use --enable-drafts to enable.
34
34
  // Create a new socket. Returns the new socket, or NULL if the new socket
35
- // could not be created. Note that the symbol zsock_new (and other
36
- // constructors/destructors for zsock) are redirected to the *_checked
37
- // variant, enabling intelligent socket leak detection. This can have
35
+ // could not be created. Note that the symbol zsock_new (and other
36
+ // constructors/destructors for zsock) are redirected to the *_checked
37
+ // variant, enabling intelligent socket leak detection. This can have
38
38
  // performance implications if you use a LOT of sockets. To turn off this
39
- // redirection behaviour, define ZSOCK_NOCHECK.
39
+ // redirection behaviour, define ZSOCK_NOCHECK.
40
40
  CZMQ_EXPORT zsock_t *
41
41
  zsock_new (int type);
42
42
 
@@ -45,7 +45,7 @@ CZMQ_EXPORT zsock_t *
45
45
  zsock_new_pub (const char *endpoint);
46
46
 
47
47
  // Create a SUB socket, and optionally subscribe to some prefix string. Default
48
- // action is connect.
48
+ // action is connect.
49
49
  CZMQ_EXPORT zsock_t *
50
50
  zsock_new_sub (const char *endpoint, const char *subscribe);
51
51
 
@@ -90,30 +90,30 @@ CZMQ_EXPORT zsock_t *
90
90
  zsock_new_stream (const char *endpoint);
91
91
 
92
92
  // Destroy the socket. You must use this for any socket created via the
93
- // zsock_new method.
93
+ // zsock_new method.
94
94
  CZMQ_EXPORT void
95
95
  zsock_destroy (zsock_t **self_p);
96
96
 
97
- // Bind a socket to a formatted endpoint. For tcp:// endpoints, supports
98
- // ephemeral ports, if you specify the port number as "*". By default
99
- // zsock uses the IANA designated range from C000 (49152) to FFFF (65535).
100
- // To override this range, follow the "*" with "[first-last]". Either or
101
- // both first and last may be empty. To bind to a random port within the
102
- // range, use "!" in place of "*".
103
- //
104
- // Examples:
105
- // tcp://127.0.0.1:* bind to first free port from C000 up
106
- // tcp://127.0.0.1:! bind to random port from C000 to FFFF
107
- // tcp://127.0.0.1:*[60000-] bind to first free port from 60000 up
108
- // tcp://127.0.0.1:![-60000] bind to random port from C000 to 60000
109
- // tcp://127.0.0.1:![55000-55999]
110
- // bind to random port from 55000 to 55999
111
- //
112
- // On success, returns the actual port number used, for tcp:// endpoints,
97
+ // Bind a socket to a formatted endpoint. For tcp:// endpoints, supports
98
+ // ephemeral ports, if you specify the port number as "*". By default
99
+ // zsock uses the IANA designated range from C000 (49152) to FFFF (65535).
100
+ // To override this range, follow the "*" with "[first-last]". Either or
101
+ // both first and last may be empty. To bind to a random port within the
102
+ // range, use "!" in place of "*".
103
+ //
104
+ // Examples:
105
+ // tcp://127.0.0.1:* bind to first free port from C000 up
106
+ // tcp://127.0.0.1:! bind to random port from C000 to FFFF
107
+ // tcp://127.0.0.1:*[60000-] bind to first free port from 60000 up
108
+ // tcp://127.0.0.1:![-60000] bind to random port from C000 to 60000
109
+ // tcp://127.0.0.1:![55000-55999]
110
+ // bind to random port from 55000 to 55999
111
+ //
112
+ // On success, returns the actual port number used, for tcp:// endpoints,
113
113
  // and 0 for other transports. On failure, returns -1. Note that when using
114
- // ephemeral ports, a port may be reused by different services without
115
- // clients being aware. Protocols that run on ephemeral ports should take
116
- // this into account.
114
+ // ephemeral ports, a port may be reused by different services without
115
+ // clients being aware. Protocols that run on ephemeral ports should take
116
+ // this into account.
117
117
  CZMQ_EXPORT int
118
118
  zsock_bind (zsock_t *self, const char *format, ...) CHECK_PRINTF (2);
119
119
 
@@ -121,29 +121,29 @@ CZMQ_EXPORT int
121
121
  CZMQ_EXPORT const char *
122
122
  zsock_endpoint (zsock_t *self);
123
123
 
124
- // Unbind a socket from a formatted endpoint.
124
+ // Unbind a socket from a formatted endpoint.
125
125
  // Returns 0 if OK, -1 if the endpoint was invalid or the function
126
- // isn't supported.
126
+ // isn't supported.
127
127
  CZMQ_EXPORT int
128
128
  zsock_unbind (zsock_t *self, const char *format, ...) CHECK_PRINTF (2);
129
129
 
130
- // Connect a socket to a formatted endpoint
130
+ // Connect a socket to a formatted endpoint
131
131
  // Returns 0 if OK, -1 if the endpoint was invalid.
132
132
  CZMQ_EXPORT int
133
133
  zsock_connect (zsock_t *self, const char *format, ...) CHECK_PRINTF (2);
134
134
 
135
- // Disconnect a socket from a formatted endpoint
135
+ // Disconnect a socket from a formatted endpoint
136
136
  // Returns 0 if OK, -1 if the endpoint was invalid or the function
137
- // isn't supported.
137
+ // isn't supported.
138
138
  CZMQ_EXPORT int
139
139
  zsock_disconnect (zsock_t *self, const char *format, ...) CHECK_PRINTF (2);
140
140
 
141
- // Attach a socket to zero or more endpoints. If endpoints is not null,
142
- // parses as list of ZeroMQ endpoints, separated by commas, and prefixed by
141
+ // Attach a socket to zero or more endpoints. If endpoints is not null,
142
+ // parses as list of ZeroMQ endpoints, separated by commas, and prefixed by
143
143
  // '@' (to bind the socket) or '>' (to connect the socket). Returns 0 if all
144
- // endpoints were valid, or -1 if there was a syntax error. If the endpoint
145
- // does not start with '@' or '>', the serverish argument defines whether
146
- // it is used to bind (serverish = true) or connect (serverish = false).
144
+ // endpoints were valid, or -1 if there was a syntax error. If the endpoint
145
+ // does not start with '@' or '>', the serverish argument defines whether
146
+ // it is used to bind (serverish = true) or connect (serverish = false).
147
147
  CZMQ_EXPORT int
148
148
  zsock_attach (zsock_t *self, const char *endpoints, bool serverish);
149
149
 
@@ -151,861 +151,911 @@ CZMQ_EXPORT int
151
151
  CZMQ_EXPORT const char *
152
152
  zsock_type_str (zsock_t *self);
153
153
 
154
- // Send a 'picture' message to the socket (or actor). The picture is a
154
+ // Send a 'picture' message to the socket (or actor). The picture is a
155
155
  // string that defines the type of each frame. This makes it easy to send
156
- // a complex multiframe message in one call. The picture can contain any
157
- // of these characters, each corresponding to one or two arguments:
158
- //
159
- // i = int (signed)
160
- // 1 = uint8_t
161
- // 2 = uint16_t
162
- // 4 = uint32_t
163
- // 8 = uint64_t
164
- // s = char *
165
- // b = byte *, size_t (2 arguments)
166
- // c = zchunk_t *
167
- // f = zframe_t *
168
- // h = zhashx_t *
169
- // U = zuuid_t *
170
- // p = void * (sends the pointer value, only meaningful over inproc)
171
- // m = zmsg_t * (sends all frames in the zmsg)
172
- // z = sends zero-sized frame (0 arguments)
173
- // u = uint (deprecated)
174
- //
175
- // Note that s, b, c, and f are encoded the same way and the choice is
176
- // offered as a convenience to the sender, which may or may not already
177
- // have data in a zchunk or zframe. Does not change or take ownership of
178
- // any arguments. Returns 0 if successful, -1 if sending failed for any
179
- // reason.
156
+ // a complex multiframe message in one call. The picture can contain any
157
+ // of these characters, each corresponding to one or two arguments:
158
+ //
159
+ // i = int (signed)
160
+ // 1 = uint8_t
161
+ // 2 = uint16_t
162
+ // 4 = uint32_t
163
+ // 8 = uint64_t
164
+ // s = char *
165
+ // b = byte *, size_t (2 arguments)
166
+ // c = zchunk_t *
167
+ // f = zframe_t *
168
+ // h = zhashx_t *
169
+ // U = zuuid_t *
170
+ // p = void * (sends the pointer value, only meaningful over inproc)
171
+ // m = zmsg_t * (sends all frames in the zmsg)
172
+ // z = sends zero-sized frame (0 arguments)
173
+ // u = uint (deprecated)
174
+ //
175
+ // Note that s, b, c, and f are encoded the same way and the choice is
176
+ // offered as a convenience to the sender, which may or may not already
177
+ // have data in a zchunk or zframe. Does not change or take ownership of
178
+ // any arguments. Returns 0 if successful, -1 if sending failed for any
179
+ // reason.
180
180
  CZMQ_EXPORT int
181
181
  zsock_send (void *self, const char *picture, ...);
182
182
 
183
- // Send a 'picture' message to the socket (or actor). This is a va_list
183
+ // Send a 'picture' message to the socket (or actor). This is a va_list
184
184
  // version of zsock_send (), so please consult its documentation for the
185
- // details.
185
+ // details.
186
186
  CZMQ_EXPORT int
187
187
  zsock_vsend (void *self, const char *picture, va_list argptr);
188
188
 
189
189
  // Receive a 'picture' message to the socket (or actor). See zsock_send for
190
190
  // the format and meaning of the picture. Returns the picture elements into
191
- // a series of pointers as provided by the caller:
192
- //
193
- // i = int * (stores signed integer)
194
- // 4 = uint32_t * (stores 32-bit unsigned integer)
195
- // 8 = uint64_t * (stores 64-bit unsigned integer)
196
- // s = char ** (allocates new string)
197
- // b = byte **, size_t * (2 arguments) (allocates memory)
198
- // c = zchunk_t ** (creates zchunk)
199
- // f = zframe_t ** (creates zframe)
200
- // U = zuuid_t * (creates a zuuid with the data)
201
- // h = zhashx_t ** (creates zhashx)
202
- // p = void ** (stores pointer)
203
- // m = zmsg_t ** (creates a zmsg with the remaing frames)
204
- // z = null, asserts empty frame (0 arguments)
205
- // u = uint * (stores unsigned integer, deprecated)
206
- //
207
- // Note that zsock_recv creates the returned objects, and the caller must
208
- // destroy them when finished with them. The supplied pointers do not need
209
- // to be initialized. Returns 0 if successful, or -1 if it failed to recv
210
- // a message, in which case the pointers are not modified. When message
191
+ // a series of pointers as provided by the caller:
192
+ //
193
+ // i = int * (stores signed integer)
194
+ // 4 = uint32_t * (stores 32-bit unsigned integer)
195
+ // 8 = uint64_t * (stores 64-bit unsigned integer)
196
+ // s = char ** (allocates new string)
197
+ // b = byte **, size_t * (2 arguments) (allocates memory)
198
+ // c = zchunk_t ** (creates zchunk)
199
+ // f = zframe_t ** (creates zframe)
200
+ // U = zuuid_t * (creates a zuuid with the data)
201
+ // h = zhashx_t ** (creates zhashx)
202
+ // p = void ** (stores pointer)
203
+ // m = zmsg_t ** (creates a zmsg with the remaing frames)
204
+ // z = null, asserts empty frame (0 arguments)
205
+ // u = uint * (stores unsigned integer, deprecated)
206
+ //
207
+ // Note that zsock_recv creates the returned objects, and the caller must
208
+ // destroy them when finished with them. The supplied pointers do not need
209
+ // to be initialized. Returns 0 if successful, or -1 if it failed to recv
210
+ // a message, in which case the pointers are not modified. When message
211
211
  // frames are truncated (a short message), sets return values to zero/null.
212
- // If an argument pointer is NULL, does not store any value (skips it).
213
- // An 'n' picture matches an empty frame; if the message does not match,
214
- // the method will return -1.
212
+ // If an argument pointer is NULL, does not store any value (skips it).
213
+ // An 'n' picture matches an empty frame; if the message does not match,
214
+ // the method will return -1.
215
215
  CZMQ_EXPORT int
216
216
  zsock_recv (void *self, const char *picture, ...);
217
217
 
218
- // Receive a 'picture' message from the socket (or actor). This is a
218
+ // Receive a 'picture' message from the socket (or actor). This is a
219
219
  // va_list version of zsock_recv (), so please consult its documentation
220
- // for the details.
220
+ // for the details.
221
221
  CZMQ_EXPORT int
222
222
  zsock_vrecv (void *self, const char *picture, va_list argptr);
223
223
 
224
- // Send a binary encoded 'picture' message to the socket (or actor). This
225
- // method is similar to zsock_send, except the arguments are encoded in a
224
+ // Send a binary encoded 'picture' message to the socket (or actor). This
225
+ // method is similar to zsock_send, except the arguments are encoded in a
226
226
  // binary format that is compatible with zproto, and is designed to reduce
227
- // memory allocations. The pattern argument is a string that defines the
228
- // type of each argument. Supports these argument types:
229
- //
230
- // pattern C type zproto type:
231
- // 1 uint8_t type = "number" size = "1"
232
- // 2 uint16_t type = "number" size = "2"
233
- // 4 uint32_t type = "number" size = "3"
234
- // 8 uint64_t type = "number" size = "4"
235
- // s char *, 0-255 chars type = "string"
236
- // S char *, 0-2^32-1 chars type = "longstr"
237
- // c zchunk_t * type = "chunk"
238
- // f zframe_t * type = "frame"
239
- // u zuuid_t * type = "uuid"
240
- // m zmsg_t * type = "msg"
241
- // p void *, sends pointer value, only over inproc
242
- //
243
- // Does not change or take ownership of any arguments. Returns 0 if
244
- // successful, -1 if sending failed for any reason.
227
+ // memory allocations. The pattern argument is a string that defines the
228
+ // type of each argument. Supports these argument types:
229
+ //
230
+ // pattern C type zproto type:
231
+ // 1 uint8_t type = "number" size = "1"
232
+ // 2 uint16_t type = "number" size = "2"
233
+ // 4 uint32_t type = "number" size = "3"
234
+ // 8 uint64_t type = "number" size = "4"
235
+ // s char *, 0-255 chars type = "string"
236
+ // S char *, 0-2^32-1 chars type = "longstr"
237
+ // c zchunk_t * type = "chunk"
238
+ // f zframe_t * type = "frame"
239
+ // u zuuid_t * type = "uuid"
240
+ // m zmsg_t * type = "msg"
241
+ // p void *, sends pointer value, only over inproc
242
+ //
243
+ // Does not change or take ownership of any arguments. Returns 0 if
244
+ // successful, -1 if sending failed for any reason.
245
245
  CZMQ_EXPORT int
246
246
  zsock_bsend (void *self, const char *picture, ...);
247
247
 
248
- // Receive a binary encoded 'picture' message from the socket (or actor).
249
- // This method is similar to zsock_recv, except the arguments are encoded
250
- // in a binary format that is compatible with zproto, and is designed to
248
+ // Receive a binary encoded 'picture' message from the socket (or actor).
249
+ // This method is similar to zsock_recv, except the arguments are encoded
250
+ // in a binary format that is compatible with zproto, and is designed to
251
251
  // reduce memory allocations. The pattern argument is a string that defines
252
- // the type of each argument. See zsock_bsend for the supported argument
253
- // types. All arguments must be pointers; this call sets them to point to
254
- // values held on a per-socket basis.
255
- // Note that zsock_brecv creates the returned objects, and the caller must
256
- // destroy them when finished with them. The supplied pointers do not need
257
- // to be initialized. Returns 0 if successful, or -1 if it failed to read
258
- // a message.
252
+ // the type of each argument. See zsock_bsend for the supported argument
253
+ // types. All arguments must be pointers; this call sets them to point to
254
+ // values held on a per-socket basis.
255
+ // For types 1, 2, 4 and 8 the caller must allocate the memory itself before
256
+ // calling zsock_brecv.
257
+ // For types S, the caller must free the value once finished with it, as
258
+ // zsock_brecv will allocate the buffer.
259
+ // For type s, the caller must not free the value as it is stored in a
260
+ // local cache for performance purposes.
261
+ // For types c, f, u and m the caller must call the appropriate destructor
262
+ // depending on the object as zsock_brecv will create new objects.
263
+ // For type p the caller must coordinate with the sender, as it is just a
264
+ // pointer value being passed.
259
265
  CZMQ_EXPORT int
260
266
  zsock_brecv (void *self, const char *picture, ...);
261
267
 
262
268
  // Set socket to use unbounded pipes (HWM=0); use this in cases when you are
263
- // totally certain the message volume can fit in memory. This method works
264
- // across all versions of ZeroMQ. Takes a polymorphic socket reference.
269
+ // totally certain the message volume can fit in memory. This method works
270
+ // across all versions of ZeroMQ. Takes a polymorphic socket reference.
265
271
  CZMQ_EXPORT void
266
272
  zsock_set_unbounded (void *self);
267
273
 
268
- // Send a signal over a socket. A signal is a short message carrying a
269
- // success/failure code (by convention, 0 means OK). Signals are encoded
270
- // to be distinguishable from "normal" messages. Accepts a zsock_t or a
274
+ // Send a signal over a socket. A signal is a short message carrying a
275
+ // success/failure code (by convention, 0 means OK). Signals are encoded
276
+ // to be distinguishable from "normal" messages. Accepts a zsock_t or a
271
277
  // zactor_t argument, and returns 0 if successful, -1 if the signal could
272
- // not be sent. Takes a polymorphic socket reference.
278
+ // not be sent. Takes a polymorphic socket reference.
273
279
  CZMQ_EXPORT int
274
280
  zsock_signal (void *self, byte status);
275
281
 
276
- // Wait on a signal. Use this to coordinate between threads, over pipe
282
+ // Wait on a signal. Use this to coordinate between threads, over pipe
277
283
  // pairs. Blocks until the signal is received. Returns -1 on error, 0 or
278
- // greater on success. Accepts a zsock_t or a zactor_t as argument.
279
- // Takes a polymorphic socket reference.
284
+ // greater on success. Accepts a zsock_t or a zactor_t as argument.
285
+ // Takes a polymorphic socket reference.
280
286
  CZMQ_EXPORT int
281
287
  zsock_wait (void *self);
282
288
 
283
- // If there is a partial message still waiting on the socket, remove and
289
+ // If there is a partial message still waiting on the socket, remove and
284
290
  // discard it. This is useful when reading partial messages, to get specific
285
- // message types.
291
+ // message types.
286
292
  CZMQ_EXPORT void
287
293
  zsock_flush (void *self);
288
294
 
289
295
  // Probe the supplied object, and report if it looks like a zsock_t.
290
- // Takes a polymorphic socket reference.
296
+ // Takes a polymorphic socket reference.
291
297
  CZMQ_EXPORT bool
292
298
  zsock_is (void *self);
293
299
 
294
300
  // Probe the supplied reference. If it looks like a zsock_t instance, return
295
- // the underlying libzmq socket handle; else if it looks like a file
296
- // descriptor, return NULL; else if it looks like a libzmq socket handle,
297
- // return the supplied value. Takes a polymorphic socket reference.
301
+ // the underlying libzmq socket handle; else if it looks like a file
302
+ // descriptor, return NULL; else if it looks like a libzmq socket handle,
303
+ // return the supplied value. Takes a polymorphic socket reference.
298
304
  CZMQ_EXPORT void *
299
305
  zsock_resolve (void *self);
300
306
 
301
307
  // Get socket option `heartbeat_ivl`.
302
- // Available from libzmq 4.2.0.
308
+ // Available from libzmq 4.2.0.
303
309
  // Caller owns return value and must destroy it when done.
304
310
  CZMQ_EXPORT int
305
311
  zsock_heartbeat_ivl (void *self);
306
312
 
307
313
  // Set socket option `heartbeat_ivl`.
308
- // Available from libzmq 4.2.0.
314
+ // Available from libzmq 4.2.0.
309
315
  CZMQ_EXPORT void
310
316
  zsock_set_heartbeat_ivl (void *self, int heartbeat_ivl);
311
317
 
312
318
  // Get socket option `heartbeat_ttl`.
313
- // Available from libzmq 4.2.0.
319
+ // Available from libzmq 4.2.0.
314
320
  // Caller owns return value and must destroy it when done.
315
321
  CZMQ_EXPORT int
316
322
  zsock_heartbeat_ttl (void *self);
317
323
 
318
324
  // Set socket option `heartbeat_ttl`.
319
- // Available from libzmq 4.2.0.
325
+ // Available from libzmq 4.2.0.
320
326
  CZMQ_EXPORT void
321
327
  zsock_set_heartbeat_ttl (void *self, int heartbeat_ttl);
322
328
 
323
329
  // Get socket option `heartbeat_timeout`.
324
- // Available from libzmq 4.2.0.
330
+ // Available from libzmq 4.2.0.
325
331
  // Caller owns return value and must destroy it when done.
326
332
  CZMQ_EXPORT int
327
333
  zsock_heartbeat_timeout (void *self);
328
334
 
329
335
  // Set socket option `heartbeat_timeout`.
330
- // Available from libzmq 4.2.0.
336
+ // Available from libzmq 4.2.0.
331
337
  CZMQ_EXPORT void
332
338
  zsock_set_heartbeat_timeout (void *self, int heartbeat_timeout);
333
339
 
334
- // Get socket option `use_fd`.
340
+ // Get socket option `use_fd`.
335
341
  // Available from libzmq 4.2.0.
336
342
  // Caller owns return value and must destroy it when done.
337
343
  CZMQ_EXPORT int
338
344
  zsock_use_fd (void *self);
339
345
 
340
- // Set socket option `use_fd`.
346
+ // Set socket option `use_fd`.
341
347
  // Available from libzmq 4.2.0.
342
348
  CZMQ_EXPORT void
343
349
  zsock_set_use_fd (void *self, int use_fd);
344
350
 
345
351
  // Set socket option `xpub_manual`.
346
- // Available from libzmq 4.2.0.
352
+ // Available from libzmq 4.2.0.
347
353
  CZMQ_EXPORT void
348
354
  zsock_set_xpub_manual (void *self, int xpub_manual);
349
355
 
350
356
  // Set socket option `xpub_welcome_msg`.
351
- // Available from libzmq 4.2.0.
357
+ // Available from libzmq 4.2.0.
352
358
  CZMQ_EXPORT void
353
359
  zsock_set_xpub_welcome_msg (void *self, const char *xpub_welcome_msg);
354
360
 
355
361
  // Set socket option `stream_notify`.
356
- // Available from libzmq 4.2.0.
362
+ // Available from libzmq 4.2.0.
357
363
  CZMQ_EXPORT void
358
364
  zsock_set_stream_notify (void *self, int stream_notify);
359
365
 
360
366
  // Get socket option `invert_matching`.
361
- // Available from libzmq 4.2.0.
367
+ // Available from libzmq 4.2.0.
362
368
  // Caller owns return value and must destroy it when done.
363
369
  CZMQ_EXPORT int
364
370
  zsock_invert_matching (void *self);
365
371
 
366
372
  // Set socket option `invert_matching`.
367
- // Available from libzmq 4.2.0.
373
+ // Available from libzmq 4.2.0.
368
374
  CZMQ_EXPORT void
369
375
  zsock_set_invert_matching (void *self, int invert_matching);
370
376
 
371
377
  // Set socket option `xpub_verboser`.
372
- // Available from libzmq 4.2.0.
378
+ // Available from libzmq 4.2.0.
373
379
  CZMQ_EXPORT void
374
380
  zsock_set_xpub_verboser (void *self, int xpub_verboser);
375
381
 
376
382
  // Get socket option `connect_timeout`.
377
- // Available from libzmq 4.2.0.
383
+ // Available from libzmq 4.2.0.
378
384
  // Caller owns return value and must destroy it when done.
379
385
  CZMQ_EXPORT int
380
386
  zsock_connect_timeout (void *self);
381
387
 
382
388
  // Set socket option `connect_timeout`.
383
- // Available from libzmq 4.2.0.
389
+ // Available from libzmq 4.2.0.
384
390
  CZMQ_EXPORT void
385
391
  zsock_set_connect_timeout (void *self, int connect_timeout);
386
392
 
387
393
  // Get socket option `tcp_maxrt`.
388
- // Available from libzmq 4.2.0.
394
+ // Available from libzmq 4.2.0.
389
395
  // Caller owns return value and must destroy it when done.
390
396
  CZMQ_EXPORT int
391
397
  zsock_tcp_maxrt (void *self);
392
398
 
393
399
  // Set socket option `tcp_maxrt`.
394
- // Available from libzmq 4.2.0.
400
+ // Available from libzmq 4.2.0.
395
401
  CZMQ_EXPORT void
396
402
  zsock_set_tcp_maxrt (void *self, int tcp_maxrt);
397
403
 
398
404
  // Get socket option `thread_safe`.
399
- // Available from libzmq 4.2.0.
405
+ // Available from libzmq 4.2.0.
400
406
  // Caller owns return value and must destroy it when done.
401
407
  CZMQ_EXPORT int
402
408
  zsock_thread_safe (void *self);
403
409
 
404
410
  // Get socket option `multicast_maxtpdu`.
405
- // Available from libzmq 4.2.0.
411
+ // Available from libzmq 4.2.0.
406
412
  // Caller owns return value and must destroy it when done.
407
413
  CZMQ_EXPORT int
408
414
  zsock_multicast_maxtpdu (void *self);
409
415
 
410
416
  // Set socket option `multicast_maxtpdu`.
411
- // Available from libzmq 4.2.0.
417
+ // Available from libzmq 4.2.0.
412
418
  CZMQ_EXPORT void
413
419
  zsock_set_multicast_maxtpdu (void *self, int multicast_maxtpdu);
414
420
 
415
421
  // Get socket option `vmci_buffer_size`.
416
- // Available from libzmq 4.2.0.
422
+ // Available from libzmq 4.2.0.
417
423
  // Caller owns return value and must destroy it when done.
418
424
  CZMQ_EXPORT int
419
425
  zsock_vmci_buffer_size (void *self);
420
426
 
421
427
  // Set socket option `vmci_buffer_size`.
422
- // Available from libzmq 4.2.0.
428
+ // Available from libzmq 4.2.0.
423
429
  CZMQ_EXPORT void
424
430
  zsock_set_vmci_buffer_size (void *self, int vmci_buffer_size);
425
431
 
426
432
  // Get socket option `vmci_buffer_min_size`.
427
- // Available from libzmq 4.2.0.
433
+ // Available from libzmq 4.2.0.
428
434
  // Caller owns return value and must destroy it when done.
429
435
  CZMQ_EXPORT int
430
436
  zsock_vmci_buffer_min_size (void *self);
431
437
 
432
438
  // Set socket option `vmci_buffer_min_size`.
433
- // Available from libzmq 4.2.0.
439
+ // Available from libzmq 4.2.0.
434
440
  CZMQ_EXPORT void
435
441
  zsock_set_vmci_buffer_min_size (void *self, int vmci_buffer_min_size);
436
442
 
437
443
  // Get socket option `vmci_buffer_max_size`.
438
- // Available from libzmq 4.2.0.
444
+ // Available from libzmq 4.2.0.
439
445
  // Caller owns return value and must destroy it when done.
440
446
  CZMQ_EXPORT int
441
447
  zsock_vmci_buffer_max_size (void *self);
442
448
 
443
449
  // Set socket option `vmci_buffer_max_size`.
444
- // Available from libzmq 4.2.0.
450
+ // Available from libzmq 4.2.0.
445
451
  CZMQ_EXPORT void
446
452
  zsock_set_vmci_buffer_max_size (void *self, int vmci_buffer_max_size);
447
453
 
448
454
  // Get socket option `vmci_connect_timeout`.
449
- // Available from libzmq 4.2.0.
455
+ // Available from libzmq 4.2.0.
450
456
  // Caller owns return value and must destroy it when done.
451
457
  CZMQ_EXPORT int
452
458
  zsock_vmci_connect_timeout (void *self);
453
459
 
454
460
  // Set socket option `vmci_connect_timeout`.
455
- // Available from libzmq 4.2.0.
461
+ // Available from libzmq 4.2.0.
456
462
  CZMQ_EXPORT void
457
463
  zsock_set_vmci_connect_timeout (void *self, int vmci_connect_timeout);
458
464
 
459
- // Get socket option `tos`.
465
+ // Get socket option `tos`.
460
466
  // Available from libzmq 4.1.0.
461
467
  // Caller owns return value and must destroy it when done.
462
468
  CZMQ_EXPORT int
463
469
  zsock_tos (void *self);
464
470
 
465
- // Set socket option `tos`.
471
+ // Set socket option `tos`.
466
472
  // Available from libzmq 4.1.0.
467
473
  CZMQ_EXPORT void
468
474
  zsock_set_tos (void *self, int tos);
469
475
 
470
476
  // Set socket option `router_handover`.
471
- // Available from libzmq 4.1.0.
477
+ // Available from libzmq 4.1.0.
472
478
  CZMQ_EXPORT void
473
479
  zsock_set_router_handover (void *self, int router_handover);
474
480
 
475
481
  // Set socket option `connect_rid`.
476
- // Available from libzmq 4.1.0.
482
+ // Available from libzmq 4.1.0.
477
483
  CZMQ_EXPORT void
478
484
  zsock_set_connect_rid (void *self, const char *connect_rid);
479
485
 
480
486
  // Set socket option `connect_rid` from 32-octet binary
481
- // Available from libzmq 4.1.0.
487
+ // Available from libzmq 4.1.0.
482
488
  CZMQ_EXPORT void
483
489
  zsock_set_connect_rid_bin (void *self, const byte *connect_rid);
484
490
 
485
491
  // Get socket option `handshake_ivl`.
486
- // Available from libzmq 4.1.0.
492
+ // Available from libzmq 4.1.0.
487
493
  // Caller owns return value and must destroy it when done.
488
494
  CZMQ_EXPORT int
489
495
  zsock_handshake_ivl (void *self);
490
496
 
491
497
  // Set socket option `handshake_ivl`.
492
- // Available from libzmq 4.1.0.
498
+ // Available from libzmq 4.1.0.
493
499
  CZMQ_EXPORT void
494
500
  zsock_set_handshake_ivl (void *self, int handshake_ivl);
495
501
 
496
502
  // Get socket option `socks_proxy`.
497
- // Available from libzmq 4.1.0.
503
+ // Available from libzmq 4.1.0.
498
504
  // Caller owns return value and must destroy it when done.
499
505
  CZMQ_EXPORT char *
500
506
  zsock_socks_proxy (void *self);
501
507
 
502
508
  // Set socket option `socks_proxy`.
503
- // Available from libzmq 4.1.0.
509
+ // Available from libzmq 4.1.0.
504
510
  CZMQ_EXPORT void
505
511
  zsock_set_socks_proxy (void *self, const char *socks_proxy);
506
512
 
507
513
  // Set socket option `xpub_nodrop`.
508
- // Available from libzmq 4.1.0.
514
+ // Available from libzmq 4.1.0.
509
515
  CZMQ_EXPORT void
510
516
  zsock_set_xpub_nodrop (void *self, int xpub_nodrop);
511
517
 
512
518
  // Set socket option `router_mandatory`.
513
- // Available from libzmq 4.0.0.
519
+ // Available from libzmq 4.0.0.
514
520
  CZMQ_EXPORT void
515
521
  zsock_set_router_mandatory (void *self, int router_mandatory);
516
522
 
517
523
  // Set socket option `probe_router`.
518
- // Available from libzmq 4.0.0.
524
+ // Available from libzmq 4.0.0.
519
525
  CZMQ_EXPORT void
520
526
  zsock_set_probe_router (void *self, int probe_router);
521
527
 
522
528
  // Set socket option `req_relaxed`.
523
- // Available from libzmq 4.0.0.
529
+ // Available from libzmq 4.0.0.
524
530
  CZMQ_EXPORT void
525
531
  zsock_set_req_relaxed (void *self, int req_relaxed);
526
532
 
527
533
  // Set socket option `req_correlate`.
528
- // Available from libzmq 4.0.0.
534
+ // Available from libzmq 4.0.0.
529
535
  CZMQ_EXPORT void
530
536
  zsock_set_req_correlate (void *self, int req_correlate);
531
537
 
532
538
  // Set socket option `conflate`.
533
- // Available from libzmq 4.0.0.
539
+ // Available from libzmq 4.0.0.
534
540
  CZMQ_EXPORT void
535
541
  zsock_set_conflate (void *self, int conflate);
536
542
 
537
543
  // Get socket option `zap_domain`.
538
- // Available from libzmq 4.0.0.
544
+ // Available from libzmq 4.0.0.
539
545
  // Caller owns return value and must destroy it when done.
540
546
  CZMQ_EXPORT char *
541
547
  zsock_zap_domain (void *self);
542
548
 
543
549
  // Set socket option `zap_domain`.
544
- // Available from libzmq 4.0.0.
550
+ // Available from libzmq 4.0.0.
545
551
  CZMQ_EXPORT void
546
552
  zsock_set_zap_domain (void *self, const char *zap_domain);
547
553
 
548
554
  // Get socket option `mechanism`.
549
- // Available from libzmq 4.0.0.
555
+ // Available from libzmq 4.0.0.
550
556
  // Caller owns return value and must destroy it when done.
551
557
  CZMQ_EXPORT int
552
558
  zsock_mechanism (void *self);
553
559
 
554
560
  // Get socket option `plain_server`.
555
- // Available from libzmq 4.0.0.
561
+ // Available from libzmq 4.0.0.
556
562
  // Caller owns return value and must destroy it when done.
557
563
  CZMQ_EXPORT int
558
564
  zsock_plain_server (void *self);
559
565
 
560
566
  // Set socket option `plain_server`.
561
- // Available from libzmq 4.0.0.
567
+ // Available from libzmq 4.0.0.
562
568
  CZMQ_EXPORT void
563
569
  zsock_set_plain_server (void *self, int plain_server);
564
570
 
565
571
  // Get socket option `plain_username`.
566
- // Available from libzmq 4.0.0.
572
+ // Available from libzmq 4.0.0.
567
573
  // Caller owns return value and must destroy it when done.
568
574
  CZMQ_EXPORT char *
569
575
  zsock_plain_username (void *self);
570
576
 
571
577
  // Set socket option `plain_username`.
572
- // Available from libzmq 4.0.0.
578
+ // Available from libzmq 4.0.0.
573
579
  CZMQ_EXPORT void
574
580
  zsock_set_plain_username (void *self, const char *plain_username);
575
581
 
576
582
  // Get socket option `plain_password`.
577
- // Available from libzmq 4.0.0.
583
+ // Available from libzmq 4.0.0.
578
584
  // Caller owns return value and must destroy it when done.
579
585
  CZMQ_EXPORT char *
580
586
  zsock_plain_password (void *self);
581
587
 
582
588
  // Set socket option `plain_password`.
583
- // Available from libzmq 4.0.0.
589
+ // Available from libzmq 4.0.0.
584
590
  CZMQ_EXPORT void
585
591
  zsock_set_plain_password (void *self, const char *plain_password);
586
592
 
587
593
  // Get socket option `curve_server`.
588
- // Available from libzmq 4.0.0.
594
+ // Available from libzmq 4.0.0.
589
595
  // Caller owns return value and must destroy it when done.
590
596
  CZMQ_EXPORT int
591
597
  zsock_curve_server (void *self);
592
598
 
593
599
  // Set socket option `curve_server`.
594
- // Available from libzmq 4.0.0.
600
+ // Available from libzmq 4.0.0.
595
601
  CZMQ_EXPORT void
596
602
  zsock_set_curve_server (void *self, int curve_server);
597
603
 
598
604
  // Get socket option `curve_publickey`.
599
- // Available from libzmq 4.0.0.
605
+ // Available from libzmq 4.0.0.
600
606
  // Caller owns return value and must destroy it when done.
601
607
  CZMQ_EXPORT char *
602
608
  zsock_curve_publickey (void *self);
603
609
 
604
610
  // Set socket option `curve_publickey`.
605
- // Available from libzmq 4.0.0.
611
+ // Available from libzmq 4.0.0.
606
612
  CZMQ_EXPORT void
607
613
  zsock_set_curve_publickey (void *self, const char *curve_publickey);
608
614
 
609
615
  // Set socket option `curve_publickey` from 32-octet binary
610
- // Available from libzmq 4.0.0.
616
+ // Available from libzmq 4.0.0.
611
617
  CZMQ_EXPORT void
612
618
  zsock_set_curve_publickey_bin (void *self, const byte *curve_publickey);
613
619
 
614
620
  // Get socket option `curve_secretkey`.
615
- // Available from libzmq 4.0.0.
621
+ // Available from libzmq 4.0.0.
616
622
  // Caller owns return value and must destroy it when done.
617
623
  CZMQ_EXPORT char *
618
624
  zsock_curve_secretkey (void *self);
619
625
 
620
626
  // Set socket option `curve_secretkey`.
621
- // Available from libzmq 4.0.0.
627
+ // Available from libzmq 4.0.0.
622
628
  CZMQ_EXPORT void
623
629
  zsock_set_curve_secretkey (void *self, const char *curve_secretkey);
624
630
 
625
631
  // Set socket option `curve_secretkey` from 32-octet binary
626
- // Available from libzmq 4.0.0.
632
+ // Available from libzmq 4.0.0.
627
633
  CZMQ_EXPORT void
628
634
  zsock_set_curve_secretkey_bin (void *self, const byte *curve_secretkey);
629
635
 
630
636
  // Get socket option `curve_serverkey`.
631
- // Available from libzmq 4.0.0.
637
+ // Available from libzmq 4.0.0.
632
638
  // Caller owns return value and must destroy it when done.
633
639
  CZMQ_EXPORT char *
634
640
  zsock_curve_serverkey (void *self);
635
641
 
636
642
  // Set socket option `curve_serverkey`.
637
- // Available from libzmq 4.0.0.
643
+ // Available from libzmq 4.0.0.
638
644
  CZMQ_EXPORT void
639
645
  zsock_set_curve_serverkey (void *self, const char *curve_serverkey);
640
646
 
641
647
  // Set socket option `curve_serverkey` from 32-octet binary
642
- // Available from libzmq 4.0.0.
648
+ // Available from libzmq 4.0.0.
643
649
  CZMQ_EXPORT void
644
650
  zsock_set_curve_serverkey_bin (void *self, const byte *curve_serverkey);
645
651
 
646
652
  // Get socket option `gssapi_server`.
647
- // Available from libzmq 4.0.0.
653
+ // Available from libzmq 4.0.0.
648
654
  // Caller owns return value and must destroy it when done.
649
655
  CZMQ_EXPORT int
650
656
  zsock_gssapi_server (void *self);
651
657
 
652
658
  // Set socket option `gssapi_server`.
653
- // Available from libzmq 4.0.0.
659
+ // Available from libzmq 4.0.0.
654
660
  CZMQ_EXPORT void
655
661
  zsock_set_gssapi_server (void *self, int gssapi_server);
656
662
 
657
663
  // Get socket option `gssapi_plaintext`.
658
- // Available from libzmq 4.0.0.
664
+ // Available from libzmq 4.0.0.
659
665
  // Caller owns return value and must destroy it when done.
660
666
  CZMQ_EXPORT int
661
667
  zsock_gssapi_plaintext (void *self);
662
668
 
663
669
  // Set socket option `gssapi_plaintext`.
664
- // Available from libzmq 4.0.0.
670
+ // Available from libzmq 4.0.0.
665
671
  CZMQ_EXPORT void
666
672
  zsock_set_gssapi_plaintext (void *self, int gssapi_plaintext);
667
673
 
668
674
  // Get socket option `gssapi_principal`.
669
- // Available from libzmq 4.0.0.
675
+ // Available from libzmq 4.0.0.
670
676
  // Caller owns return value and must destroy it when done.
671
677
  CZMQ_EXPORT char *
672
678
  zsock_gssapi_principal (void *self);
673
679
 
674
680
  // Set socket option `gssapi_principal`.
675
- // Available from libzmq 4.0.0.
681
+ // Available from libzmq 4.0.0.
676
682
  CZMQ_EXPORT void
677
683
  zsock_set_gssapi_principal (void *self, const char *gssapi_principal);
678
684
 
679
685
  // Get socket option `gssapi_service_principal`.
680
- // Available from libzmq 4.0.0.
686
+ // Available from libzmq 4.0.0.
681
687
  // Caller owns return value and must destroy it when done.
682
688
  CZMQ_EXPORT char *
683
689
  zsock_gssapi_service_principal (void *self);
684
690
 
685
691
  // Set socket option `gssapi_service_principal`.
686
- // Available from libzmq 4.0.0.
692
+ // Available from libzmq 4.0.0.
687
693
  CZMQ_EXPORT void
688
694
  zsock_set_gssapi_service_principal (void *self, const char *gssapi_service_principal);
689
695
 
690
- // Get socket option `ipv6`.
696
+ // Get socket option `ipv6`.
691
697
  // Available from libzmq 4.0.0.
692
698
  // Caller owns return value and must destroy it when done.
693
699
  CZMQ_EXPORT int
694
700
  zsock_ipv6 (void *self);
695
701
 
696
- // Set socket option `ipv6`.
702
+ // Set socket option `ipv6`.
697
703
  // Available from libzmq 4.0.0.
698
704
  CZMQ_EXPORT void
699
705
  zsock_set_ipv6 (void *self, int ipv6);
700
706
 
701
707
  // Get socket option `immediate`.
702
- // Available from libzmq 4.0.0.
708
+ // Available from libzmq 4.0.0.
703
709
  // Caller owns return value and must destroy it when done.
704
710
  CZMQ_EXPORT int
705
711
  zsock_immediate (void *self);
706
712
 
707
713
  // Set socket option `immediate`.
708
- // Available from libzmq 4.0.0.
714
+ // Available from libzmq 4.0.0.
709
715
  CZMQ_EXPORT void
710
716
  zsock_set_immediate (void *self, int immediate);
711
717
 
712
- // Get socket option `type`.
713
- // Available from libzmq 3.0.0.
714
- // Caller owns return value and must destroy it when done.
715
- CZMQ_EXPORT int
716
- zsock_type (void *self);
717
-
718
- // Get socket option `sndhwm`.
718
+ // Get socket option `sndhwm`.
719
719
  // Available from libzmq 3.0.0.
720
720
  // Caller owns return value and must destroy it when done.
721
721
  CZMQ_EXPORT int
722
722
  zsock_sndhwm (void *self);
723
723
 
724
- // Set socket option `sndhwm`.
724
+ // Set socket option `sndhwm`.
725
725
  // Available from libzmq 3.0.0.
726
726
  CZMQ_EXPORT void
727
727
  zsock_set_sndhwm (void *self, int sndhwm);
728
728
 
729
- // Get socket option `rcvhwm`.
729
+ // Get socket option `rcvhwm`.
730
730
  // Available from libzmq 3.0.0.
731
731
  // Caller owns return value and must destroy it when done.
732
732
  CZMQ_EXPORT int
733
733
  zsock_rcvhwm (void *self);
734
734
 
735
- // Set socket option `rcvhwm`.
735
+ // Set socket option `rcvhwm`.
736
736
  // Available from libzmq 3.0.0.
737
737
  CZMQ_EXPORT void
738
738
  zsock_set_rcvhwm (void *self, int rcvhwm);
739
739
 
740
- // Get socket option `affinity`.
741
- // Available from libzmq 3.0.0.
740
+ // Get socket option `maxmsgsize`.
741
+ // Available from libzmq 3.0.0.
742
742
  // Caller owns return value and must destroy it when done.
743
743
  CZMQ_EXPORT int
744
- zsock_affinity (void *self);
744
+ zsock_maxmsgsize (void *self);
745
745
 
746
- // Set socket option `affinity`.
747
- // Available from libzmq 3.0.0.
746
+ // Set socket option `maxmsgsize`.
747
+ // Available from libzmq 3.0.0.
748
748
  CZMQ_EXPORT void
749
- zsock_set_affinity (void *self, int affinity);
749
+ zsock_set_maxmsgsize (void *self, int maxmsgsize);
750
750
 
751
- // Set socket option `subscribe`.
752
- // Available from libzmq 3.0.0.
751
+ // Get socket option `multicast_hops`.
752
+ // Available from libzmq 3.0.0.
753
+ // Caller owns return value and must destroy it when done.
754
+ CZMQ_EXPORT int
755
+ zsock_multicast_hops (void *self);
756
+
757
+ // Set socket option `multicast_hops`.
758
+ // Available from libzmq 3.0.0.
753
759
  CZMQ_EXPORT void
754
- zsock_set_subscribe (void *self, const char *subscribe);
760
+ zsock_set_multicast_hops (void *self, int multicast_hops);
755
761
 
756
- // Set socket option `unsubscribe`.
757
- // Available from libzmq 3.0.0.
762
+ // Set socket option `xpub_verbose`.
763
+ // Available from libzmq 3.0.0.
758
764
  CZMQ_EXPORT void
759
- zsock_set_unsubscribe (void *self, const char *unsubscribe);
765
+ zsock_set_xpub_verbose (void *self, int xpub_verbose);
760
766
 
761
- // Get socket option `identity`.
762
- // Available from libzmq 3.0.0.
767
+ // Get socket option `tcp_keepalive`.
768
+ // Available from libzmq 3.0.0.
763
769
  // Caller owns return value and must destroy it when done.
764
- CZMQ_EXPORT char *
765
- zsock_identity (void *self);
770
+ CZMQ_EXPORT int
771
+ zsock_tcp_keepalive (void *self);
766
772
 
767
- // Set socket option `identity`.
768
- // Available from libzmq 3.0.0.
773
+ // Set socket option `tcp_keepalive`.
774
+ // Available from libzmq 3.0.0.
769
775
  CZMQ_EXPORT void
770
- zsock_set_identity (void *self, const char *identity);
776
+ zsock_set_tcp_keepalive (void *self, int tcp_keepalive);
771
777
 
772
- // Get socket option `rate`.
778
+ // Get socket option `tcp_keepalive_idle`.
773
779
  // Available from libzmq 3.0.0.
774
780
  // Caller owns return value and must destroy it when done.
775
781
  CZMQ_EXPORT int
776
- zsock_rate (void *self);
782
+ zsock_tcp_keepalive_idle (void *self);
777
783
 
778
- // Set socket option `rate`.
784
+ // Set socket option `tcp_keepalive_idle`.
779
785
  // Available from libzmq 3.0.0.
780
786
  CZMQ_EXPORT void
781
- zsock_set_rate (void *self, int rate);
787
+ zsock_set_tcp_keepalive_idle (void *self, int tcp_keepalive_idle);
782
788
 
783
- // Get socket option `recovery_ivl`.
784
- // Available from libzmq 3.0.0.
789
+ // Get socket option `tcp_keepalive_cnt`.
790
+ // Available from libzmq 3.0.0.
785
791
  // Caller owns return value and must destroy it when done.
786
792
  CZMQ_EXPORT int
787
- zsock_recovery_ivl (void *self);
793
+ zsock_tcp_keepalive_cnt (void *self);
788
794
 
789
- // Set socket option `recovery_ivl`.
790
- // Available from libzmq 3.0.0.
795
+ // Set socket option `tcp_keepalive_cnt`.
796
+ // Available from libzmq 3.0.0.
791
797
  CZMQ_EXPORT void
792
- zsock_set_recovery_ivl (void *self, int recovery_ivl);
798
+ zsock_set_tcp_keepalive_cnt (void *self, int tcp_keepalive_cnt);
793
799
 
794
- // Get socket option `sndbuf`.
800
+ // Get socket option `tcp_keepalive_intvl`.
795
801
  // Available from libzmq 3.0.0.
796
802
  // Caller owns return value and must destroy it when done.
797
803
  CZMQ_EXPORT int
798
- zsock_sndbuf (void *self);
804
+ zsock_tcp_keepalive_intvl (void *self);
799
805
 
800
- // Set socket option `sndbuf`.
806
+ // Set socket option `tcp_keepalive_intvl`.
801
807
  // Available from libzmq 3.0.0.
802
808
  CZMQ_EXPORT void
803
- zsock_set_sndbuf (void *self, int sndbuf);
809
+ zsock_set_tcp_keepalive_intvl (void *self, int tcp_keepalive_intvl);
804
810
 
805
- // Get socket option `rcvbuf`.
811
+ // Get socket option `tcp_accept_filter`.
806
812
  // Available from libzmq 3.0.0.
807
813
  // Caller owns return value and must destroy it when done.
808
- CZMQ_EXPORT int
809
- zsock_rcvbuf (void *self);
814
+ CZMQ_EXPORT char *
815
+ zsock_tcp_accept_filter (void *self);
810
816
 
811
- // Set socket option `rcvbuf`.
817
+ // Set socket option `tcp_accept_filter`.
812
818
  // Available from libzmq 3.0.0.
813
819
  CZMQ_EXPORT void
814
- zsock_set_rcvbuf (void *self, int rcvbuf);
820
+ zsock_set_tcp_accept_filter (void *self, const char *tcp_accept_filter);
821
+
822
+ // Get socket option `last_endpoint`.
823
+ // Available from libzmq 3.0.0.
824
+ // Caller owns return value and must destroy it when done.
825
+ CZMQ_EXPORT char *
826
+ zsock_last_endpoint (void *self);
815
827
 
816
- // Get socket option `linger`.
828
+ // Set socket option `router_raw`.
829
+ // Available from libzmq 3.0.0.
830
+ CZMQ_EXPORT void
831
+ zsock_set_router_raw (void *self, int router_raw);
832
+
833
+ // Get socket option `ipv4only`.
817
834
  // Available from libzmq 3.0.0.
818
835
  // Caller owns return value and must destroy it when done.
819
836
  CZMQ_EXPORT int
820
- zsock_linger (void *self);
837
+ zsock_ipv4only (void *self);
821
838
 
822
- // Set socket option `linger`.
839
+ // Set socket option `ipv4only`.
823
840
  // Available from libzmq 3.0.0.
824
841
  CZMQ_EXPORT void
825
- zsock_set_linger (void *self, int linger);
842
+ zsock_set_ipv4only (void *self, int ipv4only);
826
843
 
827
- // Get socket option `reconnect_ivl`.
828
- // Available from libzmq 3.0.0.
844
+ // Set socket option `delay_attach_on_connect`.
845
+ // Available from libzmq 3.0.0.
846
+ CZMQ_EXPORT void
847
+ zsock_set_delay_attach_on_connect (void *self, int delay_attach_on_connect);
848
+
849
+ // Get socket option `hwm`.
850
+ // Available from libzmq 2.0.0 to 3.0.0.
829
851
  // Caller owns return value and must destroy it when done.
830
852
  CZMQ_EXPORT int
831
- zsock_reconnect_ivl (void *self);
853
+ zsock_hwm (void *self);
832
854
 
833
- // Set socket option `reconnect_ivl`.
834
- // Available from libzmq 3.0.0.
855
+ // Set socket option `hwm`.
856
+ // Available from libzmq 2.0.0 to 3.0.0.
835
857
  CZMQ_EXPORT void
836
- zsock_set_reconnect_ivl (void *self, int reconnect_ivl);
858
+ zsock_set_hwm (void *self, int hwm);
837
859
 
838
- // Get socket option `reconnect_ivl_max`.
839
- // Available from libzmq 3.0.0.
860
+ // Get socket option `swap`.
861
+ // Available from libzmq 2.0.0 to 3.0.0.
840
862
  // Caller owns return value and must destroy it when done.
841
863
  CZMQ_EXPORT int
842
- zsock_reconnect_ivl_max (void *self);
864
+ zsock_swap (void *self);
843
865
 
844
- // Set socket option `reconnect_ivl_max`.
845
- // Available from libzmq 3.0.0.
866
+ // Set socket option `swap`.
867
+ // Available from libzmq 2.0.0 to 3.0.0.
846
868
  CZMQ_EXPORT void
847
- zsock_set_reconnect_ivl_max (void *self, int reconnect_ivl_max);
869
+ zsock_set_swap (void *self, int swap);
848
870
 
849
- // Get socket option `backlog`.
850
- // Available from libzmq 3.0.0.
871
+ // Get socket option `affinity`.
872
+ // Available from libzmq 2.0.0.
851
873
  // Caller owns return value and must destroy it when done.
852
874
  CZMQ_EXPORT int
853
- zsock_backlog (void *self);
875
+ zsock_affinity (void *self);
854
876
 
855
- // Set socket option `backlog`.
856
- // Available from libzmq 3.0.0.
877
+ // Set socket option `affinity`.
878
+ // Available from libzmq 2.0.0.
857
879
  CZMQ_EXPORT void
858
- zsock_set_backlog (void *self, int backlog);
880
+ zsock_set_affinity (void *self, int affinity);
859
881
 
860
- // Get socket option `maxmsgsize`.
861
- // Available from libzmq 3.0.0.
882
+ // Get socket option `identity`.
883
+ // Available from libzmq 2.0.0.
884
+ // Caller owns return value and must destroy it when done.
885
+ CZMQ_EXPORT char *
886
+ zsock_identity (void *self);
887
+
888
+ // Set socket option `identity`.
889
+ // Available from libzmq 2.0.0.
890
+ CZMQ_EXPORT void
891
+ zsock_set_identity (void *self, const char *identity);
892
+
893
+ // Get socket option `rate`.
894
+ // Available from libzmq 2.0.0.
862
895
  // Caller owns return value and must destroy it when done.
863
896
  CZMQ_EXPORT int
864
- zsock_maxmsgsize (void *self);
897
+ zsock_rate (void *self);
865
898
 
866
- // Set socket option `maxmsgsize`.
867
- // Available from libzmq 3.0.0.
899
+ // Set socket option `rate`.
900
+ // Available from libzmq 2.0.0.
868
901
  CZMQ_EXPORT void
869
- zsock_set_maxmsgsize (void *self, int maxmsgsize);
902
+ zsock_set_rate (void *self, int rate);
870
903
 
871
- // Get socket option `multicast_hops`.
872
- // Available from libzmq 3.0.0.
904
+ // Get socket option `recovery_ivl`.
905
+ // Available from libzmq 2.0.0.
873
906
  // Caller owns return value and must destroy it when done.
874
907
  CZMQ_EXPORT int
875
- zsock_multicast_hops (void *self);
908
+ zsock_recovery_ivl (void *self);
876
909
 
877
- // Set socket option `multicast_hops`.
878
- // Available from libzmq 3.0.0.
910
+ // Set socket option `recovery_ivl`.
911
+ // Available from libzmq 2.0.0.
879
912
  CZMQ_EXPORT void
880
- zsock_set_multicast_hops (void *self, int multicast_hops);
913
+ zsock_set_recovery_ivl (void *self, int recovery_ivl);
914
+
915
+ // Get socket option `recovery_ivl_msec`.
916
+ // Available from libzmq 2.0.0 to 3.0.0.
917
+ // Caller owns return value and must destroy it when done.
918
+ CZMQ_EXPORT int
919
+ zsock_recovery_ivl_msec (void *self);
920
+
921
+ // Set socket option `recovery_ivl_msec`.
922
+ // Available from libzmq 2.0.0 to 3.0.0.
923
+ CZMQ_EXPORT void
924
+ zsock_set_recovery_ivl_msec (void *self, int recovery_ivl_msec);
925
+
926
+ // Get socket option `mcast_loop`.
927
+ // Available from libzmq 2.0.0 to 3.0.0.
928
+ // Caller owns return value and must destroy it when done.
929
+ CZMQ_EXPORT int
930
+ zsock_mcast_loop (void *self);
931
+
932
+ // Set socket option `mcast_loop`.
933
+ // Available from libzmq 2.0.0 to 3.0.0.
934
+ CZMQ_EXPORT void
935
+ zsock_set_mcast_loop (void *self, int mcast_loop);
881
936
 
882
937
  // Get socket option `rcvtimeo`.
883
- // Available from libzmq 3.0.0.
938
+ // Available from libzmq 2.2.0.
884
939
  // Caller owns return value and must destroy it when done.
885
940
  CZMQ_EXPORT int
886
941
  zsock_rcvtimeo (void *self);
887
942
 
888
943
  // Set socket option `rcvtimeo`.
889
- // Available from libzmq 3.0.0.
944
+ // Available from libzmq 2.2.0.
890
945
  CZMQ_EXPORT void
891
946
  zsock_set_rcvtimeo (void *self, int rcvtimeo);
892
947
 
893
948
  // Get socket option `sndtimeo`.
894
- // Available from libzmq 3.0.0.
949
+ // Available from libzmq 2.2.0.
895
950
  // Caller owns return value and must destroy it when done.
896
951
  CZMQ_EXPORT int
897
952
  zsock_sndtimeo (void *self);
898
953
 
899
954
  // Set socket option `sndtimeo`.
900
- // Available from libzmq 3.0.0.
955
+ // Available from libzmq 2.2.0.
901
956
  CZMQ_EXPORT void
902
957
  zsock_set_sndtimeo (void *self, int sndtimeo);
903
958
 
904
- // Set socket option `xpub_verbose`.
905
- // Available from libzmq 3.0.0.
959
+ // Get socket option `sndbuf`.
960
+ // Available from libzmq 2.0.0.
961
+ // Caller owns return value and must destroy it when done.
962
+ CZMQ_EXPORT int
963
+ zsock_sndbuf (void *self);
964
+
965
+ // Set socket option `sndbuf`.
966
+ // Available from libzmq 2.0.0.
906
967
  CZMQ_EXPORT void
907
- zsock_set_xpub_verbose (void *self, int xpub_verbose);
968
+ zsock_set_sndbuf (void *self, int sndbuf);
908
969
 
909
- // Get socket option `tcp_keepalive`.
910
- // Available from libzmq 3.0.0.
970
+ // Get socket option `rcvbuf`.
971
+ // Available from libzmq 2.0.0.
911
972
  // Caller owns return value and must destroy it when done.
912
973
  CZMQ_EXPORT int
913
- zsock_tcp_keepalive (void *self);
974
+ zsock_rcvbuf (void *self);
914
975
 
915
- // Set socket option `tcp_keepalive`.
916
- // Available from libzmq 3.0.0.
976
+ // Set socket option `rcvbuf`.
977
+ // Available from libzmq 2.0.0.
917
978
  CZMQ_EXPORT void
918
- zsock_set_tcp_keepalive (void *self, int tcp_keepalive);
979
+ zsock_set_rcvbuf (void *self, int rcvbuf);
919
980
 
920
- // Get socket option `tcp_keepalive_idle`.
921
- // Available from libzmq 3.0.0.
981
+ // Get socket option `linger`.
982
+ // Available from libzmq 2.0.0.
922
983
  // Caller owns return value and must destroy it when done.
923
984
  CZMQ_EXPORT int
924
- zsock_tcp_keepalive_idle (void *self);
985
+ zsock_linger (void *self);
925
986
 
926
- // Set socket option `tcp_keepalive_idle`.
927
- // Available from libzmq 3.0.0.
987
+ // Set socket option `linger`.
988
+ // Available from libzmq 2.0.0.
928
989
  CZMQ_EXPORT void
929
- zsock_set_tcp_keepalive_idle (void *self, int tcp_keepalive_idle);
990
+ zsock_set_linger (void *self, int linger);
930
991
 
931
- // Get socket option `tcp_keepalive_cnt`.
932
- // Available from libzmq 3.0.0.
992
+ // Get socket option `reconnect_ivl`.
993
+ // Available from libzmq 2.0.0.
933
994
  // Caller owns return value and must destroy it when done.
934
995
  CZMQ_EXPORT int
935
- zsock_tcp_keepalive_cnt (void *self);
996
+ zsock_reconnect_ivl (void *self);
936
997
 
937
- // Set socket option `tcp_keepalive_cnt`.
938
- // Available from libzmq 3.0.0.
998
+ // Set socket option `reconnect_ivl`.
999
+ // Available from libzmq 2.0.0.
939
1000
  CZMQ_EXPORT void
940
- zsock_set_tcp_keepalive_cnt (void *self, int tcp_keepalive_cnt);
1001
+ zsock_set_reconnect_ivl (void *self, int reconnect_ivl);
941
1002
 
942
- // Get socket option `tcp_keepalive_intvl`.
943
- // Available from libzmq 3.0.0.
1003
+ // Get socket option `reconnect_ivl_max`.
1004
+ // Available from libzmq 2.0.0.
944
1005
  // Caller owns return value and must destroy it when done.
945
1006
  CZMQ_EXPORT int
946
- zsock_tcp_keepalive_intvl (void *self);
1007
+ zsock_reconnect_ivl_max (void *self);
947
1008
 
948
- // Set socket option `tcp_keepalive_intvl`.
949
- // Available from libzmq 3.0.0.
1009
+ // Set socket option `reconnect_ivl_max`.
1010
+ // Available from libzmq 2.0.0.
950
1011
  CZMQ_EXPORT void
951
- zsock_set_tcp_keepalive_intvl (void *self, int tcp_keepalive_intvl);
1012
+ zsock_set_reconnect_ivl_max (void *self, int reconnect_ivl_max);
952
1013
 
953
- // Get socket option `tcp_accept_filter`.
954
- // Available from libzmq 3.0.0.
1014
+ // Get socket option `backlog`.
1015
+ // Available from libzmq 2.0.0.
955
1016
  // Caller owns return value and must destroy it when done.
956
- CZMQ_EXPORT char *
957
- zsock_tcp_accept_filter (void *self);
1017
+ CZMQ_EXPORT int
1018
+ zsock_backlog (void *self);
958
1019
 
959
- // Set socket option `tcp_accept_filter`.
960
- // Available from libzmq 3.0.0.
1020
+ // Set socket option `backlog`.
1021
+ // Available from libzmq 2.0.0.
961
1022
  CZMQ_EXPORT void
962
- zsock_set_tcp_accept_filter (void *self, const char *tcp_accept_filter);
1023
+ zsock_set_backlog (void *self, int backlog);
1024
+
1025
+ // Set socket option `subscribe`.
1026
+ // Available from libzmq 2.0.0.
1027
+ CZMQ_EXPORT void
1028
+ zsock_set_subscribe (void *self, const char *subscribe);
1029
+
1030
+ // Set socket option `unsubscribe`.
1031
+ // Available from libzmq 2.0.0.
1032
+ CZMQ_EXPORT void
1033
+ zsock_set_unsubscribe (void *self, const char *unsubscribe);
1034
+
1035
+ // Get socket option `type`.
1036
+ // Available from libzmq 2.0.0.
1037
+ // Caller owns return value and must destroy it when done.
1038
+ CZMQ_EXPORT int
1039
+ zsock_type (void *self);
963
1040
 
964
1041
  // Get socket option `rcvmore`.
965
- // Available from libzmq 3.0.0.
1042
+ // Available from libzmq 2.0.0.
966
1043
  // Caller owns return value and must destroy it when done.
967
1044
  CZMQ_EXPORT int
968
1045
  zsock_rcvmore (void *self);
969
1046
 
970
- // Get socket option `fd`.
971
- // Available from libzmq 3.0.0.
1047
+ // Get socket option `fd`.
1048
+ // Available from libzmq 2.0.0.
972
1049
  // Caller owns return value and must destroy it when done.
973
1050
  CZMQ_EXPORT SOCKET
974
1051
  zsock_fd (void *self);
975
1052
 
976
- // Get socket option `events`.
977
- // Available from libzmq 3.0.0.
1053
+ // Get socket option `events`.
1054
+ // Available from libzmq 2.0.0.
978
1055
  // Caller owns return value and must destroy it when done.
979
1056
  CZMQ_EXPORT int
980
1057
  zsock_events (void *self);
981
1058
 
982
- // Get socket option `last_endpoint`.
983
- // Available from libzmq 3.0.0.
984
- // Caller owns return value and must destroy it when done.
985
- CZMQ_EXPORT char *
986
- zsock_last_endpoint (void *self);
987
-
988
- // Set socket option `router_raw`.
989
- // Available from libzmq 3.0.0.
990
- CZMQ_EXPORT void
991
- zsock_set_router_raw (void *self, int router_raw);
992
-
993
- // Get socket option `ipv4only`.
994
- // Available from libzmq 3.0.0.
995
- // Caller owns return value and must destroy it when done.
996
- CZMQ_EXPORT int
997
- zsock_ipv4only (void *self);
998
-
999
- // Set socket option `ipv4only`.
1000
- // Available from libzmq 3.0.0.
1001
- CZMQ_EXPORT void
1002
- zsock_set_ipv4only (void *self, int ipv4only);
1003
-
1004
- // Set socket option `delay_attach_on_connect`.
1005
- // Available from libzmq 3.0.0.
1006
- CZMQ_EXPORT void
1007
- zsock_set_delay_attach_on_connect (void *self, int delay_attach_on_connect);
1008
-
1009
1059
  // Self test of this class.
1010
1060
  CZMQ_EXPORT void
1011
1061
  zsock_test (bool verbose);
@@ -1043,25 +1093,25 @@ CZMQ_EXPORT zsock_t *
1043
1093
 
1044
1094
  // *** Draft method, for development use, may change without warning ***
1045
1095
  // Return socket routing ID if any. This returns 0 if the socket is not
1046
- // of type ZMQ_SERVER or if no request was already received on it.
1096
+ // of type ZMQ_SERVER or if no request was already received on it.
1047
1097
  CZMQ_EXPORT uint32_t
1048
1098
  zsock_routing_id (zsock_t *self);
1049
1099
 
1050
1100
  // *** Draft method, for development use, may change without warning ***
1051
- // Set routing ID on socket. The socket MUST be of type ZMQ_SERVER.
1101
+ // Set routing ID on socket. The socket MUST be of type ZMQ_SERVER.
1052
1102
  // This will be used when sending messages on the socket via the zsock API.
1053
1103
  CZMQ_EXPORT void
1054
1104
  zsock_set_routing_id (zsock_t *self, uint32_t routing_id);
1055
1105
 
1056
1106
  // *** Draft method, for development use, may change without warning ***
1057
1107
  // Join a group for the RADIO-DISH pattern. Call only on ZMQ_DISH.
1058
- // Returns 0 if OK, -1 if failed.
1108
+ // Returns 0 if OK, -1 if failed.
1059
1109
  CZMQ_EXPORT int
1060
1110
  zsock_join (void *self, const char *group);
1061
1111
 
1062
1112
  // *** Draft method, for development use, may change without warning ***
1063
1113
  // Leave a group for the RADIO-DISH pattern. Call only on ZMQ_DISH.
1064
- // Returns 0 if OK, -1 if failed.
1114
+ // Returns 0 if OK, -1 if failed.
1065
1115
  CZMQ_EXPORT int
1066
1116
  zsock_leave (void *self, const char *group);
1067
1117