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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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