ionian 0.4.1 → 0.5.0
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.
- checksums.yaml +4 -4
- data/doc/Ionian/Extension/IO.html +1 -1
- data/doc/Ionian/Extension/Socket.html +1143 -20
- data/doc/Ionian/Socket.html +43 -14
- data/doc/created.rid +4 -4
- data/doc/js/search_index.js +1 -1
- data/doc/table_of_contents.html +155 -0
- data/lib/ionian/extension/io.rb +1 -1
- data/lib/ionian/extension/socket.rb +212 -8
- data/lib/ionian/socket.rb +43 -7
- metadata +2 -2
@@ -80,12 +80,74 @@
|
|
80
80
|
|
81
81
|
<li ><a href="#method-c-extended">::extended</a>
|
82
82
|
|
83
|
+
<li ><a href="#method-i-cork">#cork</a>
|
84
|
+
|
85
|
+
<li ><a href="#method-i-cork-3D">#cork=</a>
|
86
|
+
|
87
|
+
<li ><a href="#method-i-cork-3F">#cork?</a>
|
88
|
+
|
83
89
|
<li ><a href="#method-i-initialize_ionian_socket">#initialize_ionian_socket</a>
|
84
90
|
|
91
|
+
<li ><a href="#method-i-ip_add_membership">#ip_add_membership</a>
|
92
|
+
|
93
|
+
<li ><a href="#method-i-ip_drop_membership">#ip_drop_membership</a>
|
94
|
+
|
95
|
+
<li ><a href="#method-i-ip_multicast_if">#ip_multicast_if</a>
|
96
|
+
|
97
|
+
<li ><a href="#method-i-ip_multicast_if-3D">#ip_multicast_if=</a>
|
98
|
+
|
99
|
+
<li ><a href="#method-i-ip_multicast_loop">#ip_multicast_loop</a>
|
100
|
+
|
101
|
+
<li ><a href="#method-i-ip_multicast_loop-3D">#ip_multicast_loop=</a>
|
102
|
+
|
103
|
+
<li ><a href="#method-i-ip_multicast_loop-3F">#ip_multicast_loop?</a>
|
104
|
+
|
105
|
+
<li ><a href="#method-i-ip_multicast_ttl">#ip_multicast_ttl</a>
|
106
|
+
|
107
|
+
<li ><a href="#method-i-ip_multicast_ttl-3D">#ip_multicast_ttl=</a>
|
108
|
+
|
109
|
+
<li ><a href="#method-i-ipv6_add_membership">#ipv6_add_membership</a>
|
110
|
+
|
111
|
+
<li ><a href="#method-i-ipv6_drop_membership">#ipv6_drop_membership</a>
|
112
|
+
|
113
|
+
<li ><a href="#method-i-ipv6_multicast_hops">#ipv6_multicast_hops</a>
|
114
|
+
|
115
|
+
<li ><a href="#method-i-ipv6_multicast_hops-3D">#ipv6_multicast_hops=</a>
|
116
|
+
|
117
|
+
<li ><a href="#method-i-ipv6_multicast_if">#ipv6_multicast_if</a>
|
118
|
+
|
119
|
+
<li ><a href="#method-i-ipv6_multicast_if-3D">#ipv6_multicast_if=</a>
|
120
|
+
|
121
|
+
<li ><a href="#method-i-ipv6_multicast_loop">#ipv6_multicast_loop</a>
|
122
|
+
|
123
|
+
<li ><a href="#method-i-ipv6_multicast_loop-3D">#ipv6_multicast_loop=</a>
|
124
|
+
|
125
|
+
<li ><a href="#method-i-ipv6_multicast_loop-3F">#ipv6_multicast_loop?</a>
|
126
|
+
|
127
|
+
<li ><a href="#method-i-multicast">#multicast</a>
|
128
|
+
|
129
|
+
<li ><a href="#method-i-multicast-3F">#multicast?</a>
|
130
|
+
|
85
131
|
<li ><a href="#method-i-no_delay">#no_delay</a>
|
86
132
|
|
87
133
|
<li ><a href="#method-i-no_delay-3D">#no_delay=</a>
|
88
134
|
|
135
|
+
<li ><a href="#method-i-no_delay-3F">#no_delay?</a>
|
136
|
+
|
137
|
+
<li ><a href="#method-i-recork">#recork</a>
|
138
|
+
|
139
|
+
<li ><a href="#method-i-reuse_addr">#reuse_addr</a>
|
140
|
+
|
141
|
+
<li ><a href="#method-i-reuse_addr-3D">#reuse_addr=</a>
|
142
|
+
|
143
|
+
<li ><a href="#method-i-reuse_addr-3F">#reuse_addr?</a>
|
144
|
+
|
145
|
+
<li ><a href="#method-i-ttl">#ttl</a>
|
146
|
+
|
147
|
+
<li ><a href="#method-i-ttl-3D">#ttl=</a>
|
148
|
+
|
149
|
+
<li ><a href="#method-i-ttl-3F">#ttl?</a>
|
150
|
+
|
89
151
|
</ul>
|
90
152
|
</div>
|
91
153
|
|
@@ -147,7 +209,7 @@ my_socket.extend <a href="../Socket.html">Ionian::Socket</a></p>
|
|
147
209
|
|
148
210
|
|
149
211
|
<div class="method-source-code" id="extended-source">
|
150
|
-
<pre><span class="ruby-comment"># File lib/ionian/extension/socket.rb, line
|
212
|
+
<pre><span class="ruby-comment"># File lib/ionian/extension/socket.rb, line 17</span>
|
151
213
|
<span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">extended</span>(<span class="ruby-identifier">obj</span>)
|
152
214
|
<span class="ruby-identifier">obj</span>.<span class="ruby-identifier">extend</span> <span class="ruby-constant">Ionian</span><span class="ruby-operator">::</span><span class="ruby-constant">Extension</span><span class="ruby-operator">::</span><span class="ruby-constant">IO</span>
|
153
215
|
<span class="ruby-identifier">obj</span>.<span class="ruby-identifier">initialize_ionian_socket</span>
|
@@ -170,6 +232,112 @@ my_socket.extend <a href="../Socket.html">Ionian::Socket</a></p>
|
|
170
232
|
</header>
|
171
233
|
|
172
234
|
|
235
|
+
<div id="method-i-cork" class="method-detail ">
|
236
|
+
|
237
|
+
<div class="method-heading">
|
238
|
+
<span class="method-name">cork</span><span
|
239
|
+
class="method-args">()</span>
|
240
|
+
|
241
|
+
<span class="method-click-advice">click to toggle source</span>
|
242
|
+
|
243
|
+
</div>
|
244
|
+
|
245
|
+
|
246
|
+
<div class="method-description">
|
247
|
+
|
248
|
+
<p>Returns true if multiple writes are buffered into a single segment. See <a
|
249
|
+
href="Socket.html#method-i-recork">recork</a>. Linux only. ( TCP_CORK )</p>
|
250
|
+
|
251
|
+
|
252
|
+
|
253
|
+
|
254
|
+
<div class="method-source-code" id="cork-source">
|
255
|
+
<pre><span class="ruby-comment"># File lib/ionian/extension/socket.rb, line 80</span>
|
256
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier">cork</span>
|
257
|
+
<span class="ruby-identifier">param</span> = <span class="ruby-keyword">self</span>.<span class="ruby-identifier">getsockopt</span>(<span class="ruby-operator">::</span><span class="ruby-constant">Socket</span><span class="ruby-operator">::</span><span class="ruby-constant">IPPROTO_TCP</span>, <span class="ruby-operator">::</span><span class="ruby-constant">Socket</span><span class="ruby-operator">::</span><span class="ruby-constant">TCP_CORK</span>)
|
258
|
+
.<span class="ruby-identifier">data</span>.<span class="ruby-identifier">unpack</span>(<span class="ruby-string">'i'</span>).<span class="ruby-identifier">first</span>
|
259
|
+
<span class="ruby-identifier">param</span> <span class="ruby-operator">></span> <span class="ruby-value">0</span> <span class="ruby-operator">?</span> <span class="ruby-keyword">true</span> <span class="ruby-operator">:</span> <span class="ruby-keyword">false</span>
|
260
|
+
<span class="ruby-keyword">end</span></pre>
|
261
|
+
</div>
|
262
|
+
|
263
|
+
</div>
|
264
|
+
|
265
|
+
|
266
|
+
<div class="aliases">
|
267
|
+
Also aliased as: <a href="Socket.html#method-i-cork-3F">cork?</a>
|
268
|
+
</div>
|
269
|
+
|
270
|
+
|
271
|
+
|
272
|
+
</div>
|
273
|
+
|
274
|
+
|
275
|
+
<div id="method-i-cork-3D" class="method-detail ">
|
276
|
+
|
277
|
+
<div class="method-heading">
|
278
|
+
<span class="method-name">cork=</span><span
|
279
|
+
class="method-args">(value)</span>
|
280
|
+
|
281
|
+
<span class="method-click-advice">click to toggle source</span>
|
282
|
+
|
283
|
+
</div>
|
284
|
+
|
285
|
+
|
286
|
+
<div class="method-description">
|
287
|
+
|
288
|
+
<p>Buffers multiple writes into a single segment if true. The segment is sent
|
289
|
+
once the cork flag is disabled, the upper limit on the size of a segment is
|
290
|
+
reached, the socket is closed, or 200ms elapses from the time the first
|
291
|
+
corked byte is written. See <a
|
292
|
+
href="Socket.html#method-i-recork">recork</a>. Linux only. ( TCP_CORK )</p>
|
293
|
+
|
294
|
+
|
295
|
+
|
296
|
+
|
297
|
+
<div class="method-source-code" id="cork-3D-source">
|
298
|
+
<pre><span class="ruby-comment"># File lib/ionian/extension/socket.rb, line 96</span>
|
299
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier">cork=</span>(<span class="ruby-identifier">value</span>)
|
300
|
+
<span class="ruby-identifier">param</span> = <span class="ruby-identifier">value</span> <span class="ruby-operator">?</span> <span class="ruby-value">1</span> <span class="ruby-operator">:</span> <span class="ruby-value">0</span>
|
301
|
+
<span class="ruby-keyword">self</span>.<span class="ruby-identifier">setsockopt</span> <span class="ruby-operator">::</span><span class="ruby-constant">Socket</span><span class="ruby-operator">::</span><span class="ruby-constant">IPPROTO_TCP</span>, <span class="ruby-operator">::</span><span class="ruby-constant">Socket</span><span class="ruby-operator">::</span><span class="ruby-constant">TCP_CORK</span>, [<span class="ruby-identifier">param</span>].<span class="ruby-identifier">pack</span>(<span class="ruby-string">'i'</span>)
|
302
|
+
<span class="ruby-keyword">end</span></pre>
|
303
|
+
</div>
|
304
|
+
|
305
|
+
</div>
|
306
|
+
|
307
|
+
|
308
|
+
|
309
|
+
|
310
|
+
</div>
|
311
|
+
|
312
|
+
|
313
|
+
<div id="method-i-cork-3F" class="method-detail method-alias">
|
314
|
+
|
315
|
+
<div class="method-heading">
|
316
|
+
<span class="method-name">cork?</span><span
|
317
|
+
class="method-args">()</span>
|
318
|
+
|
319
|
+
</div>
|
320
|
+
|
321
|
+
|
322
|
+
<div class="method-description">
|
323
|
+
|
324
|
+
|
325
|
+
|
326
|
+
|
327
|
+
|
328
|
+
|
329
|
+
</div>
|
330
|
+
|
331
|
+
|
332
|
+
|
333
|
+
|
334
|
+
<div class="aliases">
|
335
|
+
Alias for: <a href="Socket.html#method-i-cork">cork</a>
|
336
|
+
</div>
|
337
|
+
|
338
|
+
</div>
|
339
|
+
|
340
|
+
|
173
341
|
<div id="method-i-initialize_ionian_socket" class="method-detail ">
|
174
342
|
|
175
343
|
<div class="method-heading">
|
@@ -191,7 +359,7 @@ extend is called on an object.</p>
|
|
191
359
|
|
192
360
|
|
193
361
|
<div class="method-source-code" id="initialize_ionian_socket-source">
|
194
|
-
<pre><span class="ruby-comment"># File lib/ionian/extension/socket.rb, line
|
362
|
+
<pre><span class="ruby-comment"># File lib/ionian/extension/socket.rb, line 24</span>
|
195
363
|
<span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize_ionian_socket</span>
|
196
364
|
<span class="ruby-keyword">end</span></pre>
|
197
365
|
</div>
|
@@ -204,10 +372,92 @@ extend is called on an object.</p>
|
|
204
372
|
</div>
|
205
373
|
|
206
374
|
|
207
|
-
<div id="method-i-
|
375
|
+
<div id="method-i-ip_add_membership" class="method-detail ">
|
208
376
|
|
209
377
|
<div class="method-heading">
|
210
|
-
<span class="method-name">
|
378
|
+
<span class="method-name">ip_add_membership</span><span
|
379
|
+
class="method-args">(address = nil, interface = nil)</span>
|
380
|
+
|
381
|
+
<span class="method-click-advice">click to toggle source</span>
|
382
|
+
|
383
|
+
</div>
|
384
|
+
|
385
|
+
|
386
|
+
<div class="method-description">
|
387
|
+
|
388
|
+
<p>Join a multicast group. Address is the class D multicast address (uses
|
389
|
+
remote address if not specified). Interface is the local network interface
|
390
|
+
to receive the multicast traffic on (all interfaces if not specified). (
|
391
|
+
IP_ADD_MEMBERSHIP )</p>
|
392
|
+
|
393
|
+
|
394
|
+
|
395
|
+
|
396
|
+
<div class="method-source-code" id="ip_add_membership-source">
|
397
|
+
<pre><span class="ruby-comment"># File lib/ionian/extension/socket.rb, line 114</span>
|
398
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier">ip_add_membership</span>(<span class="ruby-identifier">address</span> = <span class="ruby-keyword">nil</span>, <span class="ruby-identifier">interface</span> = <span class="ruby-keyword">nil</span>)
|
399
|
+
<span class="ruby-identifier">address</span> <span class="ruby-operator">||=</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">remote_address</span>.<span class="ruby-identifier">ip_address</span>
|
400
|
+
<span class="ruby-identifier">interface</span> <span class="ruby-operator">||=</span> <span class="ruby-string">'0.0.0.0'</span>
|
401
|
+
|
402
|
+
<span class="ruby-keyword">self</span>.<span class="ruby-identifier">setsockopt</span> <span class="ruby-operator">::</span><span class="ruby-constant">Socket</span><span class="ruby-operator">::</span><span class="ruby-constant">IPPROTO_IP</span>,
|
403
|
+
<span class="ruby-operator">::</span><span class="ruby-constant">Socket</span><span class="ruby-operator">::</span><span class="ruby-constant">IP_ADD_MEMBERSHIP</span>,
|
404
|
+
<span class="ruby-constant">IPAddr</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">address</span>).<span class="ruby-identifier">hton</span> <span class="ruby-operator">+</span> <span class="ruby-constant">IPAddr</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">interface</span>).<span class="ruby-identifier">hton</span>
|
405
|
+
<span class="ruby-keyword">end</span></pre>
|
406
|
+
</div>
|
407
|
+
|
408
|
+
</div>
|
409
|
+
|
410
|
+
|
411
|
+
|
412
|
+
|
413
|
+
</div>
|
414
|
+
|
415
|
+
|
416
|
+
<div id="method-i-ip_drop_membership" class="method-detail ">
|
417
|
+
|
418
|
+
<div class="method-heading">
|
419
|
+
<span class="method-name">ip_drop_membership</span><span
|
420
|
+
class="method-args">(address = nil, interface = nil)</span>
|
421
|
+
|
422
|
+
<span class="method-click-advice">click to toggle source</span>
|
423
|
+
|
424
|
+
</div>
|
425
|
+
|
426
|
+
|
427
|
+
<div class="method-description">
|
428
|
+
|
429
|
+
<p>Leave a multicast group. Address is the class D multicast address (uses
|
430
|
+
remote address if not specified). Interface is the local network interface
|
431
|
+
the multicast traffic is received on (all interfaces if not specified). (
|
432
|
+
IP_DROP_MEMBERSHIP )</p>
|
433
|
+
|
434
|
+
|
435
|
+
|
436
|
+
|
437
|
+
<div class="method-source-code" id="ip_drop_membership-source">
|
438
|
+
<pre><span class="ruby-comment"># File lib/ionian/extension/socket.rb, line 130</span>
|
439
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier">ip_drop_membership</span>(<span class="ruby-identifier">address</span> = <span class="ruby-keyword">nil</span>, <span class="ruby-identifier">interface</span> = <span class="ruby-keyword">nil</span>)
|
440
|
+
<span class="ruby-identifier">address</span> <span class="ruby-operator">||=</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">remote_address</span>.<span class="ruby-identifier">ip_address</span>
|
441
|
+
<span class="ruby-identifier">interface</span> <span class="ruby-operator">||=</span> <span class="ruby-string">'0.0.0.0'</span>
|
442
|
+
|
443
|
+
<span class="ruby-keyword">self</span>.<span class="ruby-identifier">setsockopt</span> <span class="ruby-operator">::</span><span class="ruby-constant">Socket</span><span class="ruby-operator">::</span><span class="ruby-constant">IPPROTO_IP</span>,
|
444
|
+
<span class="ruby-operator">::</span><span class="ruby-constant">Socket</span><span class="ruby-operator">::</span><span class="ruby-constant">IP_DROP_MEMBERSHIP</span>,
|
445
|
+
<span class="ruby-constant">IPAddr</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">address</span>).<span class="ruby-identifier">hton</span> <span class="ruby-operator">+</span> <span class="ruby-constant">IPAddr</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">interface</span>).<span class="ruby-identifier">hton</span>
|
446
|
+
<span class="ruby-keyword">end</span></pre>
|
447
|
+
</div>
|
448
|
+
|
449
|
+
</div>
|
450
|
+
|
451
|
+
|
452
|
+
|
453
|
+
|
454
|
+
</div>
|
455
|
+
|
456
|
+
|
457
|
+
<div id="method-i-ip_multicast_if" class="method-detail ">
|
458
|
+
|
459
|
+
<div class="method-heading">
|
460
|
+
<span class="method-name">ip_multicast_if</span><span
|
211
461
|
class="method-args">()</span>
|
212
462
|
|
213
463
|
<span class="method-click-advice">click to toggle source</span>
|
@@ -217,17 +467,16 @@ extend is called on an object.</p>
|
|
217
467
|
|
218
468
|
<div class="method-description">
|
219
469
|
|
220
|
-
<p>Returns
|
221
|
-
false.</p>
|
470
|
+
<p>Returns the default interface for outgoing multicasts. ( IP_MULTICAST_IF )</p>
|
222
471
|
|
223
472
|
|
224
473
|
|
225
474
|
|
226
|
-
<div class="method-source-code" id="
|
227
|
-
<pre><span class="ruby-comment"># File lib/ionian/extension/socket.rb, line
|
228
|
-
<span class="ruby-keyword">def</span> <span class="ruby-identifier">
|
229
|
-
<span class="ruby-
|
230
|
-
|
475
|
+
<div class="method-source-code" id="ip_multicast_if-source">
|
476
|
+
<pre><span class="ruby-comment"># File lib/ionian/extension/socket.rb, line 142</span>
|
477
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier">ip_multicast_if</span>
|
478
|
+
<span class="ruby-keyword">self</span>.<span class="ruby-identifier">getsockopt</span>(<span class="ruby-operator">::</span><span class="ruby-constant">Socket</span><span class="ruby-operator">::</span><span class="ruby-constant">IPPROTO_IP</span>, <span class="ruby-operator">::</span><span class="ruby-constant">Socket</span><span class="ruby-operator">::</span><span class="ruby-constant">IP_MULTICAST_IF</span>)
|
479
|
+
.<span class="ruby-identifier">data</span>.<span class="ruby-identifier">unpack</span>(<span class="ruby-string">'CCCC'</span>).<span class="ruby-identifier">join</span>(<span class="ruby-string">'.'</span>)
|
231
480
|
<span class="ruby-keyword">end</span></pre>
|
232
481
|
</div>
|
233
482
|
|
@@ -239,10 +488,87 @@ false.</p>
|
|
239
488
|
</div>
|
240
489
|
|
241
490
|
|
242
|
-
<div id="method-i-
|
491
|
+
<div id="method-i-ip_multicast_if-3D" class="method-detail ">
|
243
492
|
|
244
493
|
<div class="method-heading">
|
245
|
-
<span class="method-name">
|
494
|
+
<span class="method-name">ip_multicast_if=</span><span
|
495
|
+
class="method-args">(interface = nil)</span>
|
496
|
+
|
497
|
+
<span class="method-click-advice">click to toggle source</span>
|
498
|
+
|
499
|
+
</div>
|
500
|
+
|
501
|
+
|
502
|
+
<div class="method-description">
|
503
|
+
|
504
|
+
<p>Specify default interface for outgoing multicasts. ( IP_MULTICAST_IF )</p>
|
505
|
+
|
506
|
+
|
507
|
+
|
508
|
+
|
509
|
+
<div class="method-source-code" id="ip_multicast_if-3D-source">
|
510
|
+
<pre><span class="ruby-comment"># File lib/ionian/extension/socket.rb, line 149</span>
|
511
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier">ip_multicast_if=</span>(<span class="ruby-identifier">interface</span> = <span class="ruby-keyword">nil</span>)
|
512
|
+
<span class="ruby-identifier">interface</span> <span class="ruby-operator">||=</span> <span class="ruby-string">'0.0.0.0'</span>
|
513
|
+
|
514
|
+
<span class="ruby-keyword">self</span>.<span class="ruby-identifier">setsockopt</span> <span class="ruby-operator">::</span><span class="ruby-constant">Socket</span><span class="ruby-operator">::</span><span class="ruby-constant">IPPROTO_IP</span>,
|
515
|
+
<span class="ruby-operator">::</span><span class="ruby-constant">Socket</span><span class="ruby-operator">::</span><span class="ruby-constant">IP_MULTICAST_IF</span>,
|
516
|
+
<span class="ruby-constant">IPAddr</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">interface</span>).<span class="ruby-identifier">hton</span>
|
517
|
+
<span class="ruby-keyword">end</span></pre>
|
518
|
+
</div>
|
519
|
+
|
520
|
+
</div>
|
521
|
+
|
522
|
+
|
523
|
+
|
524
|
+
|
525
|
+
</div>
|
526
|
+
|
527
|
+
|
528
|
+
<div id="method-i-ip_multicast_loop" class="method-detail ">
|
529
|
+
|
530
|
+
<div class="method-heading">
|
531
|
+
<span class="method-name">ip_multicast_loop</span><span
|
532
|
+
class="method-args">()</span>
|
533
|
+
|
534
|
+
<span class="method-click-advice">click to toggle source</span>
|
535
|
+
|
536
|
+
</div>
|
537
|
+
|
538
|
+
|
539
|
+
<div class="method-description">
|
540
|
+
|
541
|
+
<p>Returns true if loopback of outgoing multicasts is enabled. (
|
542
|
+
IP_MULTICAST_LOOP )</p>
|
543
|
+
|
544
|
+
|
545
|
+
|
546
|
+
|
547
|
+
<div class="method-source-code" id="ip_multicast_loop-source">
|
548
|
+
<pre><span class="ruby-comment"># File lib/ionian/extension/socket.rb, line 173</span>
|
549
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier">ip_multicast_loop</span>
|
550
|
+
<span class="ruby-identifier">param</span> = <span class="ruby-keyword">self</span>.<span class="ruby-identifier">getsockopt</span>(<span class="ruby-operator">::</span><span class="ruby-constant">Socket</span><span class="ruby-operator">::</span><span class="ruby-constant">IPPROTO_IP</span>, <span class="ruby-operator">::</span><span class="ruby-constant">Socket</span><span class="ruby-operator">::</span><span class="ruby-constant">IP_MULTICAST_LOOP</span>)
|
551
|
+
.<span class="ruby-identifier">data</span>.<span class="ruby-identifier">unpack</span>(<span class="ruby-string">'C'</span>).<span class="ruby-identifier">first</span>
|
552
|
+
<span class="ruby-identifier">param</span> <span class="ruby-operator">></span> <span class="ruby-value">0</span> <span class="ruby-operator">?</span> <span class="ruby-keyword">true</span> <span class="ruby-operator">:</span> <span class="ruby-keyword">false</span>
|
553
|
+
<span class="ruby-keyword">end</span></pre>
|
554
|
+
</div>
|
555
|
+
|
556
|
+
</div>
|
557
|
+
|
558
|
+
|
559
|
+
<div class="aliases">
|
560
|
+
Also aliased as: <a href="Socket.html#method-i-ip_multicast_loop-3F">ip_multicast_loop?</a>
|
561
|
+
</div>
|
562
|
+
|
563
|
+
|
564
|
+
|
565
|
+
</div>
|
566
|
+
|
567
|
+
|
568
|
+
<div id="method-i-ip_multicast_loop-3D" class="method-detail ">
|
569
|
+
|
570
|
+
<div class="method-heading">
|
571
|
+
<span class="method-name">ip_multicast_loop=</span><span
|
246
572
|
class="method-args">(value)</span>
|
247
573
|
|
248
574
|
<span class="method-click-advice">click to toggle source</span>
|
@@ -252,17 +578,16 @@ false.</p>
|
|
252
578
|
|
253
579
|
<div class="method-description">
|
254
580
|
|
255
|
-
<p>
|
256
|
-
false disables the flag (enables Nagle).</p>
|
581
|
+
<p>Enables loopback of outgoing multicasts if true. ( IP_MULTICAST_LOOP )</p>
|
257
582
|
|
258
583
|
|
259
584
|
|
260
585
|
|
261
|
-
<div class="method-source-code" id="
|
262
|
-
<pre><span class="ruby-comment"># File lib/ionian/extension/socket.rb, line
|
263
|
-
<span class="ruby-keyword">def</span> <span class="ruby-identifier">
|
264
|
-
<span class="ruby-identifier">
|
265
|
-
<span class="ruby-keyword">self</span>.<span class="ruby-identifier">setsockopt</span> <span class="ruby-operator">::</span><span class="ruby-constant">Socket</span><span class="ruby-operator">::</span><span class="ruby-constant">
|
586
|
+
<div class="method-source-code" id="ip_multicast_loop-3D-source">
|
587
|
+
<pre><span class="ruby-comment"># File lib/ionian/extension/socket.rb, line 183</span>
|
588
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier">ip_multicast_loop=</span>(<span class="ruby-identifier">value</span>)
|
589
|
+
<span class="ruby-identifier">param</span> = <span class="ruby-identifier">value</span> <span class="ruby-operator">?</span> <span class="ruby-value">1</span> <span class="ruby-operator">:</span> <span class="ruby-value">0</span>
|
590
|
+
<span class="ruby-keyword">self</span>.<span class="ruby-identifier">setsockopt</span> <span class="ruby-operator">::</span><span class="ruby-constant">Socket</span><span class="ruby-operator">::</span><span class="ruby-constant">IPPROTO_IP</span>, <span class="ruby-operator">::</span><span class="ruby-constant">Socket</span><span class="ruby-operator">::</span><span class="ruby-constant">IP_MULTICAST_LOOP</span>, [<span class="ruby-identifier">param</span>].<span class="ruby-identifier">pack</span>(<span class="ruby-string">'C'</span>)
|
266
591
|
<span class="ruby-keyword">end</span></pre>
|
267
592
|
</div>
|
268
593
|
|
@@ -274,6 +599,804 @@ false disables the flag (enables Nagle).</p>
|
|
274
599
|
</div>
|
275
600
|
|
276
601
|
|
602
|
+
<div id="method-i-ip_multicast_loop-3F" class="method-detail method-alias">
|
603
|
+
|
604
|
+
<div class="method-heading">
|
605
|
+
<span class="method-name">ip_multicast_loop?</span><span
|
606
|
+
class="method-args">()</span>
|
607
|
+
|
608
|
+
</div>
|
609
|
+
|
610
|
+
|
611
|
+
<div class="method-description">
|
612
|
+
|
613
|
+
|
614
|
+
|
615
|
+
|
616
|
+
|
617
|
+
|
618
|
+
</div>
|
619
|
+
|
620
|
+
|
621
|
+
|
622
|
+
|
623
|
+
<div class="aliases">
|
624
|
+
Alias for: <a href="Socket.html#method-i-ip_multicast_loop">ip_multicast_loop</a>
|
625
|
+
</div>
|
626
|
+
|
627
|
+
</div>
|
628
|
+
|
629
|
+
|
630
|
+
<div id="method-i-ip_multicast_ttl" class="method-detail ">
|
631
|
+
|
632
|
+
<div class="method-heading">
|
633
|
+
<span class="method-name">ip_multicast_ttl</span><span
|
634
|
+
class="method-args">()</span>
|
635
|
+
|
636
|
+
<span class="method-click-advice">click to toggle source</span>
|
637
|
+
|
638
|
+
</div>
|
639
|
+
|
640
|
+
|
641
|
+
<div class="method-description">
|
642
|
+
|
643
|
+
<p>Returns the time to live (hop limit) for outgoing multicasts. (
|
644
|
+
IP_MULTICAST_TTL )</p>
|
645
|
+
|
646
|
+
|
647
|
+
|
648
|
+
|
649
|
+
<div class="method-source-code" id="ip_multicast_ttl-source">
|
650
|
+
<pre><span class="ruby-comment"># File lib/ionian/extension/socket.rb, line 160</span>
|
651
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier">ip_multicast_ttl</span>
|
652
|
+
<span class="ruby-keyword">self</span>.<span class="ruby-identifier">getsockopt</span>(<span class="ruby-operator">::</span><span class="ruby-constant">Socket</span><span class="ruby-operator">::</span><span class="ruby-constant">IPPROTO_IP</span>, <span class="ruby-operator">::</span><span class="ruby-constant">Socket</span><span class="ruby-operator">::</span><span class="ruby-constant">IP_MULTICAST_TTL</span>)
|
653
|
+
.<span class="ruby-identifier">data</span>.<span class="ruby-identifier">unpack</span>(<span class="ruby-string">'C'</span>).<span class="ruby-identifier">first</span>
|
654
|
+
<span class="ruby-keyword">end</span></pre>
|
655
|
+
</div>
|
656
|
+
|
657
|
+
</div>
|
658
|
+
|
659
|
+
|
660
|
+
|
661
|
+
|
662
|
+
</div>
|
663
|
+
|
664
|
+
|
665
|
+
<div id="method-i-ip_multicast_ttl-3D" class="method-detail ">
|
666
|
+
|
667
|
+
<div class="method-heading">
|
668
|
+
<span class="method-name">ip_multicast_ttl=</span><span
|
669
|
+
class="method-args">(value)</span>
|
670
|
+
|
671
|
+
<span class="method-click-advice">click to toggle source</span>
|
672
|
+
|
673
|
+
</div>
|
674
|
+
|
675
|
+
|
676
|
+
<div class="method-description">
|
677
|
+
|
678
|
+
<p>Set the time to live (hop limit) for outgoing multicasts. (
|
679
|
+
IP_MULTICAST_TTL )</p>
|
680
|
+
|
681
|
+
|
682
|
+
|
683
|
+
|
684
|
+
<div class="method-source-code" id="ip_multicast_ttl-3D-source">
|
685
|
+
<pre><span class="ruby-comment"># File lib/ionian/extension/socket.rb, line 167</span>
|
686
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier">ip_multicast_ttl=</span>(<span class="ruby-identifier">value</span>)
|
687
|
+
<span class="ruby-keyword">self</span>.<span class="ruby-identifier">setsockopt</span> <span class="ruby-operator">::</span><span class="ruby-constant">Socket</span><span class="ruby-operator">::</span><span class="ruby-constant">IPPROTO_IP</span>, <span class="ruby-operator">::</span><span class="ruby-constant">Socket</span><span class="ruby-operator">::</span><span class="ruby-constant">IP_MULTICAST_TTL</span>, [<span class="ruby-identifier">value</span>].<span class="ruby-identifier">pack</span>(<span class="ruby-string">'C'</span>)
|
688
|
+
<span class="ruby-keyword">end</span></pre>
|
689
|
+
</div>
|
690
|
+
|
691
|
+
</div>
|
692
|
+
|
693
|
+
|
694
|
+
|
695
|
+
|
696
|
+
</div>
|
697
|
+
|
698
|
+
|
699
|
+
<div id="method-i-ipv6_add_membership" class="method-detail ">
|
700
|
+
|
701
|
+
<div class="method-heading">
|
702
|
+
<span class="method-name">ipv6_add_membership</span><span
|
703
|
+
class="method-args">()</span>
|
704
|
+
|
705
|
+
<span class="method-click-advice">click to toggle source</span>
|
706
|
+
|
707
|
+
</div>
|
708
|
+
|
709
|
+
|
710
|
+
<div class="method-description">
|
711
|
+
|
712
|
+
|
713
|
+
|
714
|
+
|
715
|
+
|
716
|
+
|
717
|
+
<div class="method-source-code" id="ipv6_add_membership-source">
|
718
|
+
<pre><span class="ruby-comment"># File lib/ionian/extension/socket.rb, line 188</span>
|
719
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier">ipv6_add_membership</span>
|
720
|
+
<span class="ruby-comment"># TODO: Implement</span>
|
721
|
+
<span class="ruby-keyword">false</span>
|
722
|
+
<span class="ruby-keyword">end</span></pre>
|
723
|
+
</div>
|
724
|
+
|
725
|
+
</div>
|
726
|
+
|
727
|
+
|
728
|
+
|
729
|
+
|
730
|
+
</div>
|
731
|
+
|
732
|
+
|
733
|
+
<div id="method-i-ipv6_drop_membership" class="method-detail ">
|
734
|
+
|
735
|
+
<div class="method-heading">
|
736
|
+
<span class="method-name">ipv6_drop_membership</span><span
|
737
|
+
class="method-args">()</span>
|
738
|
+
|
739
|
+
<span class="method-click-advice">click to toggle source</span>
|
740
|
+
|
741
|
+
</div>
|
742
|
+
|
743
|
+
|
744
|
+
<div class="method-description">
|
745
|
+
|
746
|
+
|
747
|
+
|
748
|
+
|
749
|
+
|
750
|
+
|
751
|
+
<div class="method-source-code" id="ipv6_drop_membership-source">
|
752
|
+
<pre><span class="ruby-comment"># File lib/ionian/extension/socket.rb, line 193</span>
|
753
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier">ipv6_drop_membership</span>
|
754
|
+
<span class="ruby-comment"># TODO: Implement</span>
|
755
|
+
<span class="ruby-keyword">false</span>
|
756
|
+
<span class="ruby-keyword">end</span></pre>
|
757
|
+
</div>
|
758
|
+
|
759
|
+
</div>
|
760
|
+
|
761
|
+
|
762
|
+
|
763
|
+
|
764
|
+
</div>
|
765
|
+
|
766
|
+
|
767
|
+
<div id="method-i-ipv6_multicast_hops" class="method-detail ">
|
768
|
+
|
769
|
+
<div class="method-heading">
|
770
|
+
<span class="method-name">ipv6_multicast_hops</span><span
|
771
|
+
class="method-args">()</span>
|
772
|
+
|
773
|
+
<span class="method-click-advice">click to toggle source</span>
|
774
|
+
|
775
|
+
</div>
|
776
|
+
|
777
|
+
|
778
|
+
<div class="method-description">
|
779
|
+
|
780
|
+
|
781
|
+
|
782
|
+
|
783
|
+
|
784
|
+
|
785
|
+
<div class="method-source-code" id="ipv6_multicast_hops-source">
|
786
|
+
<pre><span class="ruby-comment"># File lib/ionian/extension/socket.rb, line 207</span>
|
787
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier">ipv6_multicast_hops</span>
|
788
|
+
<span class="ruby-comment"># TODO: Implement</span>
|
789
|
+
<span class="ruby-keyword">false</span>
|
790
|
+
<span class="ruby-keyword">end</span></pre>
|
791
|
+
</div>
|
792
|
+
|
793
|
+
</div>
|
794
|
+
|
795
|
+
|
796
|
+
|
797
|
+
|
798
|
+
</div>
|
799
|
+
|
800
|
+
|
801
|
+
<div id="method-i-ipv6_multicast_hops-3D" class="method-detail ">
|
802
|
+
|
803
|
+
<div class="method-heading">
|
804
|
+
<span class="method-name">ipv6_multicast_hops=</span><span
|
805
|
+
class="method-args">(value)</span>
|
806
|
+
|
807
|
+
<span class="method-click-advice">click to toggle source</span>
|
808
|
+
|
809
|
+
</div>
|
810
|
+
|
811
|
+
|
812
|
+
<div class="method-description">
|
813
|
+
|
814
|
+
|
815
|
+
|
816
|
+
|
817
|
+
|
818
|
+
|
819
|
+
<div class="method-source-code" id="ipv6_multicast_hops-3D-source">
|
820
|
+
<pre><span class="ruby-comment"># File lib/ionian/extension/socket.rb, line 212</span>
|
821
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier">ipv6_multicast_hops=</span>(<span class="ruby-identifier">value</span>)
|
822
|
+
<span class="ruby-comment"># TODO: Implement</span>
|
823
|
+
<span class="ruby-keyword">end</span></pre>
|
824
|
+
</div>
|
825
|
+
|
826
|
+
</div>
|
827
|
+
|
828
|
+
|
829
|
+
|
830
|
+
|
831
|
+
</div>
|
832
|
+
|
833
|
+
|
834
|
+
<div id="method-i-ipv6_multicast_if" class="method-detail ">
|
835
|
+
|
836
|
+
<div class="method-heading">
|
837
|
+
<span class="method-name">ipv6_multicast_if</span><span
|
838
|
+
class="method-args">()</span>
|
839
|
+
|
840
|
+
<span class="method-click-advice">click to toggle source</span>
|
841
|
+
|
842
|
+
</div>
|
843
|
+
|
844
|
+
|
845
|
+
<div class="method-description">
|
846
|
+
|
847
|
+
|
848
|
+
|
849
|
+
|
850
|
+
|
851
|
+
|
852
|
+
<div class="method-source-code" id="ipv6_multicast_if-source">
|
853
|
+
<pre><span class="ruby-comment"># File lib/ionian/extension/socket.rb, line 198</span>
|
854
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier">ipv6_multicast_if</span>
|
855
|
+
<span class="ruby-comment"># TODO: Implement</span>
|
856
|
+
<span class="ruby-keyword">false</span>
|
857
|
+
<span class="ruby-keyword">end</span></pre>
|
858
|
+
</div>
|
859
|
+
|
860
|
+
</div>
|
861
|
+
|
862
|
+
|
863
|
+
|
864
|
+
|
865
|
+
</div>
|
866
|
+
|
867
|
+
|
868
|
+
<div id="method-i-ipv6_multicast_if-3D" class="method-detail ">
|
869
|
+
|
870
|
+
<div class="method-heading">
|
871
|
+
<span class="method-name">ipv6_multicast_if=</span><span
|
872
|
+
class="method-args">(value)</span>
|
873
|
+
|
874
|
+
<span class="method-click-advice">click to toggle source</span>
|
875
|
+
|
876
|
+
</div>
|
877
|
+
|
878
|
+
|
879
|
+
<div class="method-description">
|
880
|
+
|
881
|
+
|
882
|
+
|
883
|
+
|
884
|
+
|
885
|
+
|
886
|
+
<div class="method-source-code" id="ipv6_multicast_if-3D-source">
|
887
|
+
<pre><span class="ruby-comment"># File lib/ionian/extension/socket.rb, line 203</span>
|
888
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier">ipv6_multicast_if=</span>(<span class="ruby-identifier">value</span>)
|
889
|
+
<span class="ruby-comment"># TODO: Implement</span>
|
890
|
+
<span class="ruby-keyword">end</span></pre>
|
891
|
+
</div>
|
892
|
+
|
893
|
+
</div>
|
894
|
+
|
895
|
+
|
896
|
+
|
897
|
+
|
898
|
+
</div>
|
899
|
+
|
900
|
+
|
901
|
+
<div id="method-i-ipv6_multicast_loop" class="method-detail ">
|
902
|
+
|
903
|
+
<div class="method-heading">
|
904
|
+
<span class="method-name">ipv6_multicast_loop</span><span
|
905
|
+
class="method-args">()</span>
|
906
|
+
|
907
|
+
<span class="method-click-advice">click to toggle source</span>
|
908
|
+
|
909
|
+
</div>
|
910
|
+
|
911
|
+
|
912
|
+
<div class="method-description">
|
913
|
+
|
914
|
+
|
915
|
+
|
916
|
+
|
917
|
+
|
918
|
+
|
919
|
+
<div class="method-source-code" id="ipv6_multicast_loop-source">
|
920
|
+
<pre><span class="ruby-comment"># File lib/ionian/extension/socket.rb, line 216</span>
|
921
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier">ipv6_multicast_loop</span>
|
922
|
+
<span class="ruby-comment"># TODO: Implement</span>
|
923
|
+
<span class="ruby-keyword">false</span>
|
924
|
+
<span class="ruby-keyword">end</span></pre>
|
925
|
+
</div>
|
926
|
+
|
927
|
+
</div>
|
928
|
+
|
929
|
+
|
930
|
+
<div class="aliases">
|
931
|
+
Also aliased as: <a href="Socket.html#method-i-ipv6_multicast_loop-3F">ipv6_multicast_loop?</a>
|
932
|
+
</div>
|
933
|
+
|
934
|
+
|
935
|
+
|
936
|
+
</div>
|
937
|
+
|
938
|
+
|
939
|
+
<div id="method-i-ipv6_multicast_loop-3D" class="method-detail ">
|
940
|
+
|
941
|
+
<div class="method-heading">
|
942
|
+
<span class="method-name">ipv6_multicast_loop=</span><span
|
943
|
+
class="method-args">(value)</span>
|
944
|
+
|
945
|
+
<span class="method-click-advice">click to toggle source</span>
|
946
|
+
|
947
|
+
</div>
|
948
|
+
|
949
|
+
|
950
|
+
<div class="method-description">
|
951
|
+
|
952
|
+
|
953
|
+
|
954
|
+
|
955
|
+
|
956
|
+
|
957
|
+
<div class="method-source-code" id="ipv6_multicast_loop-3D-source">
|
958
|
+
<pre><span class="ruby-comment"># File lib/ionian/extension/socket.rb, line 223</span>
|
959
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier">ipv6_multicast_loop=</span>(<span class="ruby-identifier">value</span>)
|
960
|
+
<span class="ruby-comment"># TODO: Implement</span>
|
961
|
+
<span class="ruby-keyword">end</span></pre>
|
962
|
+
</div>
|
963
|
+
|
964
|
+
</div>
|
965
|
+
|
966
|
+
|
967
|
+
|
968
|
+
|
969
|
+
</div>
|
970
|
+
|
971
|
+
|
972
|
+
<div id="method-i-ipv6_multicast_loop-3F" class="method-detail method-alias">
|
973
|
+
|
974
|
+
<div class="method-heading">
|
975
|
+
<span class="method-name">ipv6_multicast_loop?</span><span
|
976
|
+
class="method-args">()</span>
|
977
|
+
|
978
|
+
</div>
|
979
|
+
|
980
|
+
|
981
|
+
<div class="method-description">
|
982
|
+
|
983
|
+
|
984
|
+
|
985
|
+
|
986
|
+
|
987
|
+
|
988
|
+
</div>
|
989
|
+
|
990
|
+
|
991
|
+
|
992
|
+
|
993
|
+
<div class="aliases">
|
994
|
+
Alias for: <a href="Socket.html#method-i-ipv6_multicast_loop">ipv6_multicast_loop</a>
|
995
|
+
</div>
|
996
|
+
|
997
|
+
</div>
|
998
|
+
|
999
|
+
|
1000
|
+
<div id="method-i-multicast" class="method-detail ">
|
1001
|
+
|
1002
|
+
<div class="method-heading">
|
1003
|
+
<span class="method-name">multicast</span><span
|
1004
|
+
class="method-args">(address)</span>
|
1005
|
+
|
1006
|
+
<span class="method-click-advice">click to toggle source</span>
|
1007
|
+
|
1008
|
+
</div>
|
1009
|
+
|
1010
|
+
|
1011
|
+
<div class="method-description">
|
1012
|
+
|
1013
|
+
<p>Returns true if the given address is within the multicast range.</p>
|
1014
|
+
|
1015
|
+
|
1016
|
+
|
1017
|
+
|
1018
|
+
<div class="method-source-code" id="multicast-source">
|
1019
|
+
<pre><span class="ruby-comment"># File lib/ionian/extension/socket.rb, line 230</span>
|
1020
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier">multicast</span>(<span class="ruby-identifier">address</span>)
|
1021
|
+
<span class="ruby-identifier">address</span> <span class="ruby-operator">>=</span> <span class="ruby-string">'224.0.0.0'</span> <span class="ruby-keyword">and</span> <span class="ruby-identifier">address</span> <span class="ruby-operator"><=</span> <span class="ruby-string">'239.255.255.255'</span> <span class="ruby-operator">?</span> <span class="ruby-keyword">true</span> <span class="ruby-operator">:</span> <span class="ruby-keyword">false</span>
|
1022
|
+
<span class="ruby-keyword">end</span></pre>
|
1023
|
+
</div>
|
1024
|
+
|
1025
|
+
</div>
|
1026
|
+
|
1027
|
+
|
1028
|
+
<div class="aliases">
|
1029
|
+
Also aliased as: <a href="Socket.html#method-i-multicast-3F">multicast?</a>
|
1030
|
+
</div>
|
1031
|
+
|
1032
|
+
|
1033
|
+
|
1034
|
+
</div>
|
1035
|
+
|
1036
|
+
|
1037
|
+
<div id="method-i-multicast-3F" class="method-detail method-alias">
|
1038
|
+
|
1039
|
+
<div class="method-heading">
|
1040
|
+
<span class="method-name">multicast?</span><span
|
1041
|
+
class="method-args">(address)</span>
|
1042
|
+
|
1043
|
+
</div>
|
1044
|
+
|
1045
|
+
|
1046
|
+
<div class="method-description">
|
1047
|
+
|
1048
|
+
|
1049
|
+
|
1050
|
+
|
1051
|
+
|
1052
|
+
|
1053
|
+
</div>
|
1054
|
+
|
1055
|
+
|
1056
|
+
|
1057
|
+
|
1058
|
+
<div class="aliases">
|
1059
|
+
Alias for: <a href="Socket.html#method-i-multicast">multicast</a>
|
1060
|
+
</div>
|
1061
|
+
|
1062
|
+
</div>
|
1063
|
+
|
1064
|
+
|
1065
|
+
<div id="method-i-no_delay" class="method-detail ">
|
1066
|
+
|
1067
|
+
<div class="method-heading">
|
1068
|
+
<span class="method-name">no_delay</span><span
|
1069
|
+
class="method-args">()</span>
|
1070
|
+
|
1071
|
+
<span class="method-click-advice">click to toggle source</span>
|
1072
|
+
|
1073
|
+
</div>
|
1074
|
+
|
1075
|
+
|
1076
|
+
<div class="method-description">
|
1077
|
+
|
1078
|
+
<p>Returns true if the Nagle algorithm is disabled. ( TCP_NODELAY )</p>
|
1079
|
+
|
1080
|
+
|
1081
|
+
|
1082
|
+
|
1083
|
+
<div class="method-source-code" id="no_delay-source">
|
1084
|
+
<pre><span class="ruby-comment"># File lib/ionian/extension/socket.rb, line 61</span>
|
1085
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier">no_delay</span>
|
1086
|
+
<span class="ruby-identifier">param</span> = <span class="ruby-keyword">self</span>.<span class="ruby-identifier">getsockopt</span>(<span class="ruby-operator">::</span><span class="ruby-constant">Socket</span><span class="ruby-operator">::</span><span class="ruby-constant">IPPROTO_TCP</span>, <span class="ruby-operator">::</span><span class="ruby-constant">Socket</span><span class="ruby-operator">::</span><span class="ruby-constant">TCP_NODELAY</span>)
|
1087
|
+
.<span class="ruby-identifier">data</span>.<span class="ruby-identifier">unpack</span>(<span class="ruby-string">'i'</span>).<span class="ruby-identifier">first</span>
|
1088
|
+
<span class="ruby-identifier">param</span> <span class="ruby-operator">></span> <span class="ruby-value">0</span> <span class="ruby-operator">?</span> <span class="ruby-keyword">true</span> <span class="ruby-operator">:</span> <span class="ruby-keyword">false</span>
|
1089
|
+
<span class="ruby-keyword">end</span></pre>
|
1090
|
+
</div>
|
1091
|
+
|
1092
|
+
</div>
|
1093
|
+
|
1094
|
+
|
1095
|
+
<div class="aliases">
|
1096
|
+
Also aliased as: <a href="Socket.html#method-i-no_delay-3F">no_delay?</a>
|
1097
|
+
</div>
|
1098
|
+
|
1099
|
+
|
1100
|
+
|
1101
|
+
</div>
|
1102
|
+
|
1103
|
+
|
1104
|
+
<div id="method-i-no_delay-3D" class="method-detail ">
|
1105
|
+
|
1106
|
+
<div class="method-heading">
|
1107
|
+
<span class="method-name">no_delay=</span><span
|
1108
|
+
class="method-args">(value)</span>
|
1109
|
+
|
1110
|
+
<span class="method-click-advice">click to toggle source</span>
|
1111
|
+
|
1112
|
+
</div>
|
1113
|
+
|
1114
|
+
|
1115
|
+
<div class="method-description">
|
1116
|
+
|
1117
|
+
<p>Disables the Nagle algorithm if true. ( TCP_NODELAY )</p>
|
1118
|
+
|
1119
|
+
|
1120
|
+
|
1121
|
+
|
1122
|
+
<div class="method-source-code" id="no_delay-3D-source">
|
1123
|
+
<pre><span class="ruby-comment"># File lib/ionian/extension/socket.rb, line 71</span>
|
1124
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier">no_delay=</span>(<span class="ruby-identifier">value</span>)
|
1125
|
+
<span class="ruby-identifier">param</span> = <span class="ruby-identifier">value</span> <span class="ruby-operator">?</span> <span class="ruby-value">1</span> <span class="ruby-operator">:</span> <span class="ruby-value">0</span>
|
1126
|
+
<span class="ruby-keyword">self</span>.<span class="ruby-identifier">setsockopt</span> <span class="ruby-operator">::</span><span class="ruby-constant">Socket</span><span class="ruby-operator">::</span><span class="ruby-constant">IPPROTO_TCP</span>, <span class="ruby-operator">::</span><span class="ruby-constant">Socket</span><span class="ruby-operator">::</span><span class="ruby-constant">TCP_NODELAY</span>, [<span class="ruby-identifier">param</span>].<span class="ruby-identifier">pack</span>(<span class="ruby-string">'i'</span>)
|
1127
|
+
<span class="ruby-keyword">end</span></pre>
|
1128
|
+
</div>
|
1129
|
+
|
1130
|
+
</div>
|
1131
|
+
|
1132
|
+
|
1133
|
+
|
1134
|
+
|
1135
|
+
</div>
|
1136
|
+
|
1137
|
+
|
1138
|
+
<div id="method-i-no_delay-3F" class="method-detail method-alias">
|
1139
|
+
|
1140
|
+
<div class="method-heading">
|
1141
|
+
<span class="method-name">no_delay?</span><span
|
1142
|
+
class="method-args">()</span>
|
1143
|
+
|
1144
|
+
</div>
|
1145
|
+
|
1146
|
+
|
1147
|
+
<div class="method-description">
|
1148
|
+
|
1149
|
+
|
1150
|
+
|
1151
|
+
|
1152
|
+
|
1153
|
+
|
1154
|
+
</div>
|
1155
|
+
|
1156
|
+
|
1157
|
+
|
1158
|
+
|
1159
|
+
<div class="aliases">
|
1160
|
+
Alias for: <a href="Socket.html#method-i-no_delay">no_delay</a>
|
1161
|
+
</div>
|
1162
|
+
|
1163
|
+
</div>
|
1164
|
+
|
1165
|
+
|
1166
|
+
<div id="method-i-recork" class="method-detail ">
|
1167
|
+
|
1168
|
+
<div class="method-heading">
|
1169
|
+
<span class="method-name">recork</span><span
|
1170
|
+
class="method-args">()</span>
|
1171
|
+
|
1172
|
+
<span class="method-click-advice">click to toggle source</span>
|
1173
|
+
|
1174
|
+
</div>
|
1175
|
+
|
1176
|
+
|
1177
|
+
<div class="method-description">
|
1178
|
+
|
1179
|
+
<p>Unsets cork to transmit data, then reapplies cork. ( TCP_CORK )</p>
|
1180
|
+
|
1181
|
+
|
1182
|
+
|
1183
|
+
|
1184
|
+
<div class="method-source-code" id="recork-source">
|
1185
|
+
<pre><span class="ruby-comment"># File lib/ionian/extension/socket.rb, line 103</span>
|
1186
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier">recork</span>
|
1187
|
+
<span class="ruby-keyword">self</span>.<span class="ruby-identifier">setsockopt</span> <span class="ruby-operator">::</span><span class="ruby-constant">Socket</span><span class="ruby-operator">::</span><span class="ruby-constant">IPPROTO_TCP</span>, <span class="ruby-operator">::</span><span class="ruby-constant">Socket</span><span class="ruby-operator">::</span><span class="ruby-constant">TCP_CORK</span>, [<span class="ruby-value">0</span>].<span class="ruby-identifier">pack</span>(<span class="ruby-string">'i'</span>)
|
1188
|
+
<span class="ruby-keyword">self</span>.<span class="ruby-identifier">setsockopt</span> <span class="ruby-operator">::</span><span class="ruby-constant">Socket</span><span class="ruby-operator">::</span><span class="ruby-constant">IPPROTO_TCP</span>, <span class="ruby-operator">::</span><span class="ruby-constant">Socket</span><span class="ruby-operator">::</span><span class="ruby-constant">TCP_CORK</span>, [<span class="ruby-value">1</span>].<span class="ruby-identifier">pack</span>(<span class="ruby-string">'i'</span>)
|
1189
|
+
<span class="ruby-keyword">end</span></pre>
|
1190
|
+
</div>
|
1191
|
+
|
1192
|
+
</div>
|
1193
|
+
|
1194
|
+
|
1195
|
+
|
1196
|
+
|
1197
|
+
</div>
|
1198
|
+
|
1199
|
+
|
1200
|
+
<div id="method-i-reuse_addr" class="method-detail ">
|
1201
|
+
|
1202
|
+
<div class="method-heading">
|
1203
|
+
<span class="method-name">reuse_addr</span><span
|
1204
|
+
class="method-args">()</span>
|
1205
|
+
|
1206
|
+
<span class="method-click-advice">click to toggle source</span>
|
1207
|
+
|
1208
|
+
</div>
|
1209
|
+
|
1210
|
+
|
1211
|
+
<div class="method-description">
|
1212
|
+
|
1213
|
+
<p>Returns true if local address reuse is allowed. ( SO_REUSEADDR )</p>
|
1214
|
+
|
1215
|
+
|
1216
|
+
|
1217
|
+
|
1218
|
+
<div class="method-source-code" id="reuse_addr-source">
|
1219
|
+
<pre><span class="ruby-comment"># File lib/ionian/extension/socket.rb, line 29</span>
|
1220
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier">reuse_addr</span>
|
1221
|
+
<span class="ruby-identifier">param</span> = <span class="ruby-keyword">self</span>.<span class="ruby-identifier">getsockopt</span>(<span class="ruby-operator">::</span><span class="ruby-constant">Socket</span><span class="ruby-operator">::</span><span class="ruby-constant">SOL_SOCKET</span>, <span class="ruby-operator">::</span><span class="ruby-constant">Socket</span><span class="ruby-operator">::</span><span class="ruby-constant">SO_REUSEADDR</span>)
|
1222
|
+
.<span class="ruby-identifier">data</span>.<span class="ruby-identifier">unpack</span>(<span class="ruby-string">'i'</span>).<span class="ruby-identifier">first</span>
|
1223
|
+
<span class="ruby-identifier">param</span> <span class="ruby-operator">></span> <span class="ruby-value">0</span> <span class="ruby-operator">?</span> <span class="ruby-keyword">true</span> <span class="ruby-operator">:</span> <span class="ruby-keyword">false</span>
|
1224
|
+
<span class="ruby-keyword">end</span></pre>
|
1225
|
+
</div>
|
1226
|
+
|
1227
|
+
</div>
|
1228
|
+
|
1229
|
+
|
1230
|
+
<div class="aliases">
|
1231
|
+
Also aliased as: <a href="Socket.html#method-i-reuse_addr-3F">reuse_addr?</a>
|
1232
|
+
</div>
|
1233
|
+
|
1234
|
+
|
1235
|
+
|
1236
|
+
</div>
|
1237
|
+
|
1238
|
+
|
1239
|
+
<div id="method-i-reuse_addr-3D" class="method-detail ">
|
1240
|
+
|
1241
|
+
<div class="method-heading">
|
1242
|
+
<span class="method-name">reuse_addr=</span><span
|
1243
|
+
class="method-args">(value)</span>
|
1244
|
+
|
1245
|
+
<span class="method-click-advice">click to toggle source</span>
|
1246
|
+
|
1247
|
+
</div>
|
1248
|
+
|
1249
|
+
|
1250
|
+
<div class="method-description">
|
1251
|
+
|
1252
|
+
<p>Allows local address reuse if true. ( SO_REUSEADDR )</p>
|
1253
|
+
|
1254
|
+
|
1255
|
+
|
1256
|
+
|
1257
|
+
<div class="method-source-code" id="reuse_addr-3D-source">
|
1258
|
+
<pre><span class="ruby-comment"># File lib/ionian/extension/socket.rb, line 39</span>
|
1259
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier">reuse_addr=</span>(<span class="ruby-identifier">value</span>)
|
1260
|
+
<span class="ruby-identifier">param</span> = <span class="ruby-identifier">value</span> <span class="ruby-operator">?</span> <span class="ruby-value">1</span> <span class="ruby-operator">:</span> <span class="ruby-value">0</span>
|
1261
|
+
<span class="ruby-keyword">self</span>.<span class="ruby-identifier">setsockopt</span> <span class="ruby-operator">::</span><span class="ruby-constant">Socket</span><span class="ruby-operator">::</span><span class="ruby-constant">SOL_SOCKET</span>, <span class="ruby-operator">::</span><span class="ruby-constant">Socket</span><span class="ruby-operator">::</span><span class="ruby-constant">SO_REUSEADDR</span>, [<span class="ruby-identifier">param</span>].<span class="ruby-identifier">pack</span>(<span class="ruby-string">'i'</span>)
|
1262
|
+
<span class="ruby-keyword">end</span></pre>
|
1263
|
+
</div>
|
1264
|
+
|
1265
|
+
</div>
|
1266
|
+
|
1267
|
+
|
1268
|
+
|
1269
|
+
|
1270
|
+
</div>
|
1271
|
+
|
1272
|
+
|
1273
|
+
<div id="method-i-reuse_addr-3F" class="method-detail method-alias">
|
1274
|
+
|
1275
|
+
<div class="method-heading">
|
1276
|
+
<span class="method-name">reuse_addr?</span><span
|
1277
|
+
class="method-args">()</span>
|
1278
|
+
|
1279
|
+
</div>
|
1280
|
+
|
1281
|
+
|
1282
|
+
<div class="method-description">
|
1283
|
+
|
1284
|
+
|
1285
|
+
|
1286
|
+
|
1287
|
+
|
1288
|
+
|
1289
|
+
</div>
|
1290
|
+
|
1291
|
+
|
1292
|
+
|
1293
|
+
|
1294
|
+
<div class="aliases">
|
1295
|
+
Alias for: <a href="Socket.html#method-i-reuse_addr">reuse_addr</a>
|
1296
|
+
</div>
|
1297
|
+
|
1298
|
+
</div>
|
1299
|
+
|
1300
|
+
|
1301
|
+
<div id="method-i-ttl" class="method-detail ">
|
1302
|
+
|
1303
|
+
<div class="method-heading">
|
1304
|
+
<span class="method-name">ttl</span><span
|
1305
|
+
class="method-args">()</span>
|
1306
|
+
|
1307
|
+
<span class="method-click-advice">click to toggle source</span>
|
1308
|
+
|
1309
|
+
</div>
|
1310
|
+
|
1311
|
+
|
1312
|
+
<div class="method-description">
|
1313
|
+
|
1314
|
+
<p>Returns the time to live (hop limit). ( IP_TTL )</p>
|
1315
|
+
|
1316
|
+
|
1317
|
+
|
1318
|
+
|
1319
|
+
<div class="method-source-code" id="ttl-source">
|
1320
|
+
<pre><span class="ruby-comment"># File lib/ionian/extension/socket.rb, line 46</span>
|
1321
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier">ttl</span>
|
1322
|
+
<span class="ruby-keyword">self</span>.<span class="ruby-identifier">getsockopt</span>(<span class="ruby-operator">::</span><span class="ruby-constant">Socket</span><span class="ruby-operator">::</span><span class="ruby-constant">IPPROTO_IP</span>, <span class="ruby-operator">::</span><span class="ruby-constant">Socket</span><span class="ruby-operator">::</span><span class="ruby-constant">IP_TTL</span>)
|
1323
|
+
.<span class="ruby-identifier">data</span>.<span class="ruby-identifier">unpack</span>(<span class="ruby-string">'i'</span>).<span class="ruby-identifier">first</span>
|
1324
|
+
<span class="ruby-keyword">end</span></pre>
|
1325
|
+
</div>
|
1326
|
+
|
1327
|
+
</div>
|
1328
|
+
|
1329
|
+
|
1330
|
+
<div class="aliases">
|
1331
|
+
Also aliased as: <a href="Socket.html#method-i-ttl-3F">ttl?</a>
|
1332
|
+
</div>
|
1333
|
+
|
1334
|
+
|
1335
|
+
|
1336
|
+
</div>
|
1337
|
+
|
1338
|
+
|
1339
|
+
<div id="method-i-ttl-3D" class="method-detail ">
|
1340
|
+
|
1341
|
+
<div class="method-heading">
|
1342
|
+
<span class="method-name">ttl=</span><span
|
1343
|
+
class="method-args">(value)</span>
|
1344
|
+
|
1345
|
+
<span class="method-click-advice">click to toggle source</span>
|
1346
|
+
|
1347
|
+
</div>
|
1348
|
+
|
1349
|
+
|
1350
|
+
<div class="method-description">
|
1351
|
+
|
1352
|
+
<p>Sets the time to live (hop limit). ( IP_TTL )</p>
|
1353
|
+
|
1354
|
+
|
1355
|
+
|
1356
|
+
|
1357
|
+
<div class="method-source-code" id="ttl-3D-source">
|
1358
|
+
<pre><span class="ruby-comment"># File lib/ionian/extension/socket.rb, line 55</span>
|
1359
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier">ttl=</span>(<span class="ruby-identifier">value</span>)
|
1360
|
+
<span class="ruby-keyword">self</span>.<span class="ruby-identifier">setsockopt</span> <span class="ruby-operator">::</span><span class="ruby-constant">Socket</span><span class="ruby-operator">::</span><span class="ruby-constant">IPPROTO_IP</span>, <span class="ruby-operator">::</span><span class="ruby-constant">Socket</span><span class="ruby-operator">::</span><span class="ruby-constant">IP_TTL</span>, [<span class="ruby-identifier">value</span>].<span class="ruby-identifier">pack</span>(<span class="ruby-string">'i'</span>)
|
1361
|
+
<span class="ruby-keyword">end</span></pre>
|
1362
|
+
</div>
|
1363
|
+
|
1364
|
+
</div>
|
1365
|
+
|
1366
|
+
|
1367
|
+
|
1368
|
+
|
1369
|
+
</div>
|
1370
|
+
|
1371
|
+
|
1372
|
+
<div id="method-i-ttl-3F" class="method-detail method-alias">
|
1373
|
+
|
1374
|
+
<div class="method-heading">
|
1375
|
+
<span class="method-name">ttl?</span><span
|
1376
|
+
class="method-args">()</span>
|
1377
|
+
|
1378
|
+
</div>
|
1379
|
+
|
1380
|
+
|
1381
|
+
<div class="method-description">
|
1382
|
+
|
1383
|
+
|
1384
|
+
|
1385
|
+
|
1386
|
+
|
1387
|
+
|
1388
|
+
</div>
|
1389
|
+
|
1390
|
+
|
1391
|
+
|
1392
|
+
|
1393
|
+
<div class="aliases">
|
1394
|
+
Alias for: <a href="Socket.html#method-i-ttl">ttl</a>
|
1395
|
+
</div>
|
1396
|
+
|
1397
|
+
</div>
|
1398
|
+
|
1399
|
+
|
277
1400
|
</section>
|
278
1401
|
|
279
1402
|
</section>
|