@@ -62,6 +62,174 @@ if (defined ("ZMQ::SOCKOPT_HEARTBEAT_TIMEOUT")) {
62
62
$ tested ++;
63
63
64
64
65
+ }
66
+ /* socket option is marked mode="rw" type=int php_type=int */
67
+ if (defined ("ZMQ::SOCKOPT_USE_FD " )) {
68
+ $ test_value = 3 ;
69
+
70
+ $ socket = ZMQContext::acquire ()->getSocket (ZMQ ::SOCKET_REQ );
71
+
72
+ // Test read-write
73
+ $ socket ->setSockOpt (ZMQ ::SOCKOPT_USE_FD , $ test_value );
74
+ $ retval = $ socket ->getSockOpt (ZMQ ::SOCKOPT_USE_FD );
75
+
76
+ if ($ socket ->getSockOpt (ZMQ ::SOCKOPT_USE_FD ) !== $ test_value ) {
77
+ echo "Failed to set ZMQ::SOCKOPT_USE_FD: expected=[ $ test_value] actual=[ $ retval] " . PHP_EOL ;
78
+ }
79
+ $ tested ++;
80
+
81
+
82
+ }
83
+ /* socket option is marked mode="w" type=int php_type=int */
84
+ if (defined ("ZMQ::SOCKOPT_XPUB_MANUAL " )) {
85
+ $ test_value = 1 ;
86
+
87
+ $ socket = ZMQContext::acquire ()->getSocket (ZMQ ::SOCKET_XPUB );
88
+
89
+ // Test write-only
90
+ $ socket ->setSockOpt (ZMQ ::SOCKOPT_XPUB_MANUAL , $ test_value );
91
+ $ tested ++;
92
+
93
+ try {
94
+ $ socket ->getSockOpt (ZMQ ::SOCKOPT_XPUB_MANUAL );
95
+ echo "Should not be able to get ZMQ::SOCKOPT_XPUB_MANUAL " . PHP_EOL ;
96
+ } catch (ZMQSocketException $ e ) {}
97
+
98
+ }
99
+ /* socket option is marked mode="w" type=string php_type=string */
100
+ if (defined ("ZMQ::SOCKOPT_XPUB_WELCOME_MSG " )) {
101
+ $ test_value = "welcome " ;
102
+
103
+ $ socket = ZMQContext::acquire ()->getSocket (ZMQ ::SOCKET_XPUB );
104
+
105
+ // Test write-only
106
+ $ socket ->setSockOpt (ZMQ ::SOCKOPT_XPUB_WELCOME_MSG , $ test_value );
107
+ $ tested ++;
108
+
109
+ try {
110
+ $ socket ->getSockOpt (ZMQ ::SOCKOPT_XPUB_WELCOME_MSG );
111
+ echo "Should not be able to get ZMQ::SOCKOPT_XPUB_WELCOME_MSG " . PHP_EOL ;
112
+ } catch (ZMQSocketException $ e ) {}
113
+
114
+ }
115
+ /* socket option is marked mode="w" type=int php_type=int */
116
+ if (defined ("ZMQ::SOCKOPT_STREAM_NOTIFY " )) {
117
+ $ test_value = 1 ;
118
+
119
+ $ socket = ZMQContext::acquire ()->getSocket (ZMQ ::SOCKET_STREAM );
120
+
121
+ // Test write-only
122
+ $ socket ->setSockOpt (ZMQ ::SOCKOPT_STREAM_NOTIFY , $ test_value );
123
+ $ tested ++;
124
+
125
+ try {
126
+ $ socket ->getSockOpt (ZMQ ::SOCKOPT_STREAM_NOTIFY );
127
+ echo "Should not be able to get ZMQ::SOCKOPT_STREAM_NOTIFY " . PHP_EOL ;
128
+ } catch (ZMQSocketException $ e ) {}
129
+
130
+ }
131
+ /* socket option is marked mode="rw" type=int php_type=int */
132
+ if (defined ("ZMQ::SOCKOPT_INVERT_MATCHING " )) {
133
+ $ test_value = 1 ;
134
+
135
+ $ socket = ZMQContext::acquire ()->getSocket (ZMQ ::SOCKET_XPUB );
136
+
137
+ // Test read-write
138
+ $ socket ->setSockOpt (ZMQ ::SOCKOPT_INVERT_MATCHING , $ test_value );
139
+ $ retval = $ socket ->getSockOpt (ZMQ ::SOCKOPT_INVERT_MATCHING );
140
+
141
+ if ($ socket ->getSockOpt (ZMQ ::SOCKOPT_INVERT_MATCHING ) !== $ test_value ) {
142
+ echo "Failed to set ZMQ::SOCKOPT_INVERT_MATCHING: expected=[ $ test_value] actual=[ $ retval] " . PHP_EOL ;
143
+ }
144
+ $ tested ++;
145
+
146
+
147
+ }
148
+ /* socket option is marked mode="w" type=int php_type=int */
149
+ if (defined ("ZMQ::SOCKOPT_XPUB_VERBOSER " )) {
150
+ $ test_value = 1 ;
151
+
152
+ $ socket = ZMQContext::acquire ()->getSocket (ZMQ ::SOCKET_XPUB );
153
+
154
+ // Test write-only
155
+ $ socket ->setSockOpt (ZMQ ::SOCKOPT_XPUB_VERBOSER , $ test_value );
156
+ $ tested ++;
157
+
158
+ try {
159
+ $ socket ->getSockOpt (ZMQ ::SOCKOPT_XPUB_VERBOSER );
160
+ echo "Should not be able to get ZMQ::SOCKOPT_XPUB_VERBOSER " . PHP_EOL ;
161
+ } catch (ZMQSocketException $ e ) {}
162
+
163
+ }
164
+ /* socket option is marked mode="rw" type=int php_type=int */
165
+ if (defined ("ZMQ::SOCKOPT_CONNECT_TIMEOUT " )) {
166
+ $ test_value = 200 ;
167
+
168
+ $ socket = ZMQContext::acquire ()->getSocket (ZMQ ::SOCKET_DEALER );
169
+
170
+ // Test read-write
171
+ $ socket ->setSockOpt (ZMQ ::SOCKOPT_CONNECT_TIMEOUT , $ test_value );
172
+ $ retval = $ socket ->getSockOpt (ZMQ ::SOCKOPT_CONNECT_TIMEOUT );
173
+
174
+ if ($ socket ->getSockOpt (ZMQ ::SOCKOPT_CONNECT_TIMEOUT ) !== $ test_value ) {
175
+ echo "Failed to set ZMQ::SOCKOPT_CONNECT_TIMEOUT: expected=[ $ test_value] actual=[ $ retval] " . PHP_EOL ;
176
+ }
177
+ $ tested ++;
178
+
179
+
180
+ }
181
+ /* socket option is marked mode="rw" type=int php_type=int */
182
+ if (defined ("ZMQ::SOCKOPT_TCP_MAXRT " )) {
183
+ $ test_value = 200 ;
184
+
185
+ $ socket = ZMQContext::acquire ()->getSocket (ZMQ ::SOCKET_DEALER );
186
+
187
+ // Test read-write
188
+ $ socket ->setSockOpt (ZMQ ::SOCKOPT_TCP_MAXRT , $ test_value );
189
+ $ retval = $ socket ->getSockOpt (ZMQ ::SOCKOPT_TCP_MAXRT );
190
+
191
+ if ($ socket ->getSockOpt (ZMQ ::SOCKOPT_TCP_MAXRT ) !== $ test_value ) {
192
+ echo "Failed to set ZMQ::SOCKOPT_TCP_MAXRT: expected=[ $ test_value] actual=[ $ retval] " . PHP_EOL ;
193
+ }
194
+ $ tested ++;
195
+
196
+
197
+ }
198
+ /* socket option is marked mode="r" type=int php_type=int */
199
+ if (defined ("ZMQ::SOCKOPT_THREAD_SAFE " )) {
200
+ $ test_value = 0 ;
201
+
202
+ $ socket = ZMQContext::acquire ()->getSocket (ZMQ ::SOCKET_DEALER );
203
+
204
+ // Test read-only
205
+ $ retval = $ socket ->getSockOpt (ZMQ ::SOCKOPT_THREAD_SAFE );
206
+ if (is_int ($ retval ) === false ) {
207
+ echo "Incorrect return type for ZMQ::SOCKOPT_THREAD_SAFE: expected=[int] actual=[ " .gettype ($ retval ). "] " . PHP_EOL ;
208
+ }
209
+ $ tested ++;
210
+
211
+ try {
212
+ $ socket ->setSockOpt (ZMQ ::SOCKOPT_THREAD_SAFE , 'x ' );
213
+ echo "Should not be able to set ZMQ::SOCKOPT_THREAD_SAFE " . PHP_EOL ;
214
+ } catch (ZMQSocketException $ e ) {}
215
+
216
+ }
217
+ /* socket option is marked mode="rw" type=int php_type=int */
218
+ if (defined ("ZMQ::SOCKOPT_MULTICAST_MAXTPDU " )) {
219
+ $ test_value = 1400 ;
220
+
221
+ $ socket = ZMQContext::acquire ()->getSocket (ZMQ ::SOCKET_DEALER );
222
+
223
+ // Test read-write
224
+ $ socket ->setSockOpt (ZMQ ::SOCKOPT_MULTICAST_MAXTPDU , $ test_value );
225
+ $ retval = $ socket ->getSockOpt (ZMQ ::SOCKOPT_MULTICAST_MAXTPDU );
226
+
227
+ if ($ socket ->getSockOpt (ZMQ ::SOCKOPT_MULTICAST_MAXTPDU ) !== $ test_value ) {
228
+ echo "Failed to set ZMQ::SOCKOPT_MULTICAST_MAXTPDU: expected=[ $ test_value] actual=[ $ retval] " . PHP_EOL ;
229
+ }
230
+ $ tested ++;
231
+
232
+
65
233
}
66
234
/* socket option is marked mode="rw" type=int php_type=int */
67
235
if (defined ("ZMQ::SOCKOPT_TOS " )) {
@@ -95,6 +263,72 @@ if (defined ("ZMQ::SOCKOPT_ROUTER_HANDOVER")) {
95
263
echo "Should not be able to get ZMQ::SOCKOPT_ROUTER_HANDOVER " . PHP_EOL ;
96
264
} catch (ZMQSocketException $ e ) {}
97
265
266
+ }
267
+ /* socket option is marked mode="w" type=key php_type=string */
268
+ if (defined ("ZMQ::SOCKOPT_CONNECT_RID " )) {
269
+ $ test_value = "ABCD " ;
270
+
271
+ $ socket = ZMQContext::acquire ()->getSocket (ZMQ ::SOCKET_ROUTER );
272
+
273
+ // Test write-only
274
+ $ socket ->setSockOpt (ZMQ ::SOCKOPT_CONNECT_RID , $ test_value );
275
+ $ tested ++;
276
+
277
+ try {
278
+ $ socket ->getSockOpt (ZMQ ::SOCKOPT_CONNECT_RID );
279
+ echo "Should not be able to get ZMQ::SOCKOPT_CONNECT_RID " . PHP_EOL ;
280
+ } catch (ZMQSocketException $ e ) {}
281
+
282
+ }
283
+ /* socket option is marked mode="rw" type=int php_type=int */
284
+ if (defined ("ZMQ::SOCKOPT_HANDSHAKE_IVL " )) {
285
+ $ test_value = 200 ;
286
+
287
+ $ socket = ZMQContext::acquire ()->getSocket (ZMQ ::SOCKET_DEALER );
288
+
289
+ // Test read-write
290
+ $ socket ->setSockOpt (ZMQ ::SOCKOPT_HANDSHAKE_IVL , $ test_value );
291
+ $ retval = $ socket ->getSockOpt (ZMQ ::SOCKOPT_HANDSHAKE_IVL );
292
+
293
+ if ($ socket ->getSockOpt (ZMQ ::SOCKOPT_HANDSHAKE_IVL ) !== $ test_value ) {
294
+ echo "Failed to set ZMQ::SOCKOPT_HANDSHAKE_IVL: expected=[ $ test_value] actual=[ $ retval] " . PHP_EOL ;
295
+ }
296
+ $ tested ++;
297
+
298
+
299
+ }
300
+ /* socket option is marked mode="rw" type=string php_type=string */
301
+ if (defined ("ZMQ::SOCKOPT_SOCKS_PROXY " )) {
302
+ $ test_value = "127.0.0.1 " ;
303
+
304
+ $ socket = ZMQContext::acquire ()->getSocket (ZMQ ::SOCKET_DEALER );
305
+
306
+ // Test read-write
307
+ $ socket ->setSockOpt (ZMQ ::SOCKOPT_SOCKS_PROXY , $ test_value );
308
+ $ retval = $ socket ->getSockOpt (ZMQ ::SOCKOPT_SOCKS_PROXY );
309
+
310
+ if ($ socket ->getSockOpt (ZMQ ::SOCKOPT_SOCKS_PROXY ) !== $ test_value ) {
311
+ echo "Failed to set ZMQ::SOCKOPT_SOCKS_PROXY: expected=[ $ test_value] actual=[ $ retval] " . PHP_EOL ;
312
+ }
313
+ $ tested ++;
314
+
315
+
316
+ }
317
+ /* socket option is marked mode="w" type=int php_type=int */
318
+ if (defined ("ZMQ::SOCKOPT_XPUB_NODROP " )) {
319
+ $ test_value = 1 ;
320
+
321
+ $ socket = ZMQContext::acquire ()->getSocket (ZMQ ::SOCKET_XPUB );
322
+
323
+ // Test write-only
324
+ $ socket ->setSockOpt (ZMQ ::SOCKOPT_XPUB_NODROP , $ test_value );
325
+ $ tested ++;
326
+
327
+ try {
328
+ $ socket ->getSockOpt (ZMQ ::SOCKOPT_XPUB_NODROP );
329
+ echo "Should not be able to get ZMQ::SOCKOPT_XPUB_NODROP " . PHP_EOL ;
330
+ } catch (ZMQSocketException $ e ) {}
331
+
98
332
}
99
333
/* socket option is marked mode="w" type=int php_type=int */
100
334
if (defined ("ZMQ::SOCKOPT_ROUTER_MANDATORY " )) {
0 commit comments