ionian 0.6.3 → 0.6.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (67) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +63 -0
  3. data/doc/Ionian/Extension/IO.html +1062 -599
  4. data/doc/Ionian/Extension/Socket.html +2140 -1314
  5. data/doc/Ionian/Extension.html +98 -70
  6. data/doc/Ionian/Server.html +577 -345
  7. data/doc/Ionian/Socket.html +1100 -612
  8. data/doc/Ionian.html +100 -70
  9. data/doc/_index.html +164 -0
  10. data/doc/class_list.html +54 -0
  11. data/doc/css/common.css +1 -0
  12. data/doc/css/full_list.css +57 -0
  13. data/doc/css/style.css +338 -0
  14. data/doc/file.README.html +133 -0
  15. data/doc/file.license.html +73 -0
  16. data/doc/file_list.html +59 -0
  17. data/doc/frames.html +26 -0
  18. data/doc/index.html +111 -71
  19. data/doc/js/app.js +219 -0
  20. data/doc/js/full_list.js +178 -0
  21. data/doc/js/jquery.js +4 -18
  22. data/doc/method_list.html +419 -0
  23. data/doc/top-level-namespace.html +112 -0
  24. data/lib/ionian/extension/io.rb +4 -2
  25. data/lib/ionian/socket.rb +1 -1
  26. data/license.txt +2 -0
  27. metadata +28 -54
  28. data/doc/created.rid +0 -6
  29. data/doc/fonts/Lato-Light.ttf +0 -0
  30. data/doc/fonts/Lato-LightItalic.ttf +0 -0
  31. data/doc/fonts/Lato-Regular.ttf +0 -0
  32. data/doc/fonts/Lato-RegularItalic.ttf +0 -0
  33. data/doc/fonts/SourceCodePro-Bold.ttf +0 -0
  34. data/doc/fonts/SourceCodePro-Regular.ttf +0 -0
  35. data/doc/fonts.css +0 -167
  36. data/doc/images/add.png +0 -0
  37. data/doc/images/arrow_up.png +0 -0
  38. data/doc/images/brick.png +0 -0
  39. data/doc/images/brick_link.png +0 -0
  40. data/doc/images/bug.png +0 -0
  41. data/doc/images/bullet_black.png +0 -0
  42. data/doc/images/bullet_toggle_minus.png +0 -0
  43. data/doc/images/bullet_toggle_plus.png +0 -0
  44. data/doc/images/date.png +0 -0
  45. data/doc/images/delete.png +0 -0
  46. data/doc/images/find.png +0 -0
  47. data/doc/images/loadingAnimation.gif +0 -0
  48. data/doc/images/macFFBgHack.png +0 -0
  49. data/doc/images/package.png +0 -0
  50. data/doc/images/page_green.png +0 -0
  51. data/doc/images/page_white_text.png +0 -0
  52. data/doc/images/page_white_width.png +0 -0
  53. data/doc/images/plugin.png +0 -0
  54. data/doc/images/ruby.png +0 -0
  55. data/doc/images/tag_blue.png +0 -0
  56. data/doc/images/tag_green.png +0 -0
  57. data/doc/images/transparent.png +0 -0
  58. data/doc/images/wrench.png +0 -0
  59. data/doc/images/wrench_orange.png +0 -0
  60. data/doc/images/zoom.png +0 -0
  61. data/doc/js/darkfish.js +0 -140
  62. data/doc/js/navigation.js +0 -142
  63. data/doc/js/search.js +0 -109
  64. data/doc/js/search_index.js +0 -1
  65. data/doc/js/searcher.js +0 -228
  66. data/doc/rdoc.css +0 -580
  67. data/doc/table_of_contents.html +0 -402
@@ -1,1410 +1,2236 @@
1
- <!DOCTYPE html>
2
-
3
- <html>
4
- <head>
5
- <meta charset="UTF-8">
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4
+ <head>
5
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
6
+ <title>
7
+ Module: Ionian::Extension::Socket
8
+
9
+ &mdash; Documentation by YARD 0.8.7.3
10
+
11
+ </title>
6
12
 
7
- <title>module Ionian::Extension::Socket - RDoc Documentation</title>
13
+ <link rel="stylesheet" href="../../css/style.css" type="text/css" charset="utf-8" />
8
14
 
9
- <link href="../../fonts.css" rel="stylesheet">
10
- <link href="../../rdoc.css" rel="stylesheet">
15
+ <link rel="stylesheet" href="../../css/common.css" type="text/css" charset="utf-8" />
11
16
 
12
- <script type="text/javascript">
13
- var rdoc_rel_prefix = "../../";
17
+ <script type="text/javascript" charset="utf-8">
18
+ hasFrames = window.top.frames.main ? true : false;
19
+ relpath = '../../';
20
+ framesUrl = "../../frames.html#!" + escape(window.location.href);
14
21
  </script>
15
22
 
16
- <script src="../../js/jquery.js"></script>
17
- <script src="../../js/navigation.js"></script>
18
- <script src="../../js/search_index.js"></script>
19
- <script src="../../js/search.js"></script>
20
- <script src="../../js/searcher.js"></script>
21
- <script src="../../js/darkfish.js"></script>
22
-
23
-
24
- <body id="top" role="document" class="module">
25
- <nav role="navigation">
26
- <div id="project-navigation">
27
- <div id="home-section" role="region" title="Quick navigation" class="nav-section">
28
- <h2>
29
- <a href="../../index.html" rel="home">Home</a>
30
- </h2>
31
-
32
- <div id="table-of-contents-navigation">
33
- <a href="../../table_of_contents.html#pages">Pages</a>
34
- <a href="../../table_of_contents.html#classes">Classes</a>
35
- <a href="../../table_of_contents.html#methods">Methods</a>
36
- </div>
37
- </div>
38
23
 
39
- <div id="search-section" role="search" class="project-section initially-hidden">
40
- <form action="#" method="get" accept-charset="utf-8">
41
- <div id="search-field-wrapper">
42
- <input id="search-field" role="combobox" aria-label="Search"
43
- aria-autocomplete="list" aria-controls="search-results"
44
- type="text" name="search" placeholder="Search" spellcheck="false"
45
- title="Type to search, Up and Down to navigate, Enter to load">
46
- </div>
24
+ <script type="text/javascript" charset="utf-8" src="../../js/jquery.js"></script>
47
25
 
48
- <ul id="search-results" aria-label="Search Results"
49
- aria-busy="false" aria-expanded="false"
50
- aria-atomic="false" class="initially-hidden"></ul>
51
- </form>
52
- </div>
26
+ <script type="text/javascript" charset="utf-8" src="../../js/app.js"></script>
53
27
 
54
- </div>
55
28
 
29
+ </head>
30
+ <body>
31
+ <div id="header">
32
+ <div id="menu">
33
+
34
+ <a href="../../_index.html">Index (S)</a> &raquo;
35
+ <span class='title'><span class='object_link'><a href="../../Ionian.html" title="Ionian (module)">Ionian</a></span></span> &raquo; <span class='title'><span class='object_link'><a href="../Extension.html" title="Ionian::Extension (module)">Extension</a></span></span>
36
+ &raquo;
37
+ <span class="title">Socket</span>
56
38
 
57
39
 
58
- <div id="class-metadata">
59
-
60
-
61
-
62
- <div id="extends-section" class="nav-section">
63
- <h3>Extended With Modules</h3>
40
+ <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
41
+ </div>
64
42
 
65
- <ul class="link-list">
66
-
43
+ <div id="search">
67
44
 
68
- <li><a class="extend" href="IO.html">Ionian::Extension::IO</a>
45
+ <a class="full_list_link" id="class_list_link"
46
+ href="../../class_list.html">
47
+ Class List
48
+ </a>
69
49
 
50
+ <a class="full_list_link" id="method_list_link"
51
+ href="../../method_list.html">
52
+ Method List
53
+ </a>
54
+
55
+ <a class="full_list_link" id="file_list_link"
56
+ href="../../file_list.html">
57
+ File List
58
+ </a>
70
59
 
71
- </ul>
72
60
  </div>
61
+ <div class="clear"></div>
62
+ </div>
73
63
 
74
- <!-- Method Quickref -->
75
- <div id="method-list-section" class="nav-section">
76
- <h3>Methods</h3>
64
+ <iframe id="search_frame"></iframe>
77
65
 
78
- <ul class="link-list" role="directory">
66
+ <div id="content"><h1>Module: Ionian::Extension::Socket
67
+
68
+
69
+
70
+ </h1>
71
+
72
+ <dl class="box">
73
+
74
+
79
75
 
80
- <li ><a href="#method-c-extended">::extended</a>
76
+
81
77
 
82
- <li ><a href="#method-i-cork">#cork</a>
78
+
79
+
80
+
81
+ <dt class="r1 last">Defined in:</dt>
82
+ <dd class="r1 last">lib/ionian/extension/socket.rb</dd>
83
+
84
+ </dl>
85
+ <div class="clear"></div>
86
+
87
+ <h2>Overview</h2><div class="docstring">
88
+ <div class="discussion">
83
89
 
84
- <li ><a href="#method-i-cork-3D">#cork=</a>
90
+ <p>A mixin for Socket objects.</p>
91
+
92
+ <p>This module was designed to be extended by instantiated objects that
93
+ implement the standard library Socket class. my_socket.extend
94
+ Ionian::Socket</p>
95
+
96
+ <p>Extending this module also extends Ionian::IO.</p>
97
+
98
+
99
+ </div>
100
+ </div>
101
+ <div class="tags">
102
+
103
+
104
+ </div>
105
+
106
+
107
+
108
+
109
+
110
+
111
+
112
+ <h2>
113
+ Class Method Summary
114
+ <small>(<a href="#" class="summary_toggle">collapse</a>)</small>
115
+ </h2>
116
+
117
+ <ul class="summary">
118
+
119
+ <li class="public ">
120
+ <span class="summary_signature">
85
121
 
86
- <li ><a href="#method-i-cork-3F">#cork?</a>
122
+ <a href="#extended-class_method" title="extended (class method)">+ (Object) <strong>extended</strong>(obj) </a>
87
123
 
88
- <li ><a href="#method-i-initialize_ionian_socket">#initialize_ionian_socket</a>
124
+
89
125
 
90
- <li ><a href="#method-i-ip_add_membership">#ip_add_membership</a>
126
+ </span>
127
+
128
+
129
+
130
+
131
+
132
+
133
+
134
+
135
+
136
+ <span class="summary_desc"><div class='inline'>
137
+ <p>Called automaticallly when the object is extended with #extend.</p>
138
+ </div></span>
139
+
140
+ </li>
141
+
142
+
143
+ <li class="public ">
144
+ <span class="summary_signature">
91
145
 
92
- <li ><a href="#method-i-ip_drop_membership">#ip_drop_membership</a>
146
+ <a href="#multicast-class_method" title="multicast (class method)">+ (Object) <strong>multicast</strong>(address) </a>
93
147
 
94
- <li ><a href="#method-i-ip_multicast_if">#ip_multicast_if</a>
148
+
95
149
 
96
- <li ><a href="#method-i-ip_multicast_if-3D">#ip_multicast_if=</a>
150
+ </span>
151
+
152
+
153
+
154
+
155
+
156
+
157
+
158
+
159
+
160
+ <span class="summary_desc"><div class='inline'>
161
+ <p>Returns true if the given address is within the multicast range.</p>
162
+ </div></span>
163
+
164
+ </li>
165
+
166
+
167
+ <li class="public ">
168
+ <span class="summary_signature">
97
169
 
98
- <li ><a href="#method-i-ip_multicast_loop">#ip_multicast_loop</a>
170
+ <a href="#multicast%3F-class_method" title="multicast? (class method)">+ (Object) <strong>multicast?</strong> </a>
99
171
 
100
- <li ><a href="#method-i-ip_multicast_loop-3D">#ip_multicast_loop=</a>
172
+
101
173
 
102
- <li ><a href="#method-i-ip_multicast_loop-3F">#ip_multicast_loop?</a>
174
+ </span>
175
+
176
+
177
+
178
+
179
+
180
+
181
+
182
+
183
+
184
+ <span class="summary_desc"><div class='inline'>
185
+ <p>Returns true if the given address is within the multicast range.</p>
186
+ </div></span>
187
+
188
+ </li>
189
+
190
+
191
+ </ul>
192
+
193
+ <h2>
194
+ Instance Method Summary
195
+ <small>(<a href="#" class="summary_toggle">collapse</a>)</small>
196
+ </h2>
197
+
198
+ <ul class="summary">
199
+
200
+ <li class="public ">
201
+ <span class="summary_signature">
103
202
 
104
- <li ><a href="#method-i-ip_multicast_ttl">#ip_multicast_ttl</a>
203
+ <a href="#cork-instance_method" title="#cork (instance method)">- (Object) <strong>cork</strong> </a>
105
204
 
106
- <li ><a href="#method-i-ip_multicast_ttl-3D">#ip_multicast_ttl=</a>
205
+
107
206
 
108
- <li ><a href="#method-i-ipv6_add_membership">#ipv6_add_membership</a>
207
+ (also: #cork?)
109
208
 
110
- <li ><a href="#method-i-ipv6_drop_membership">#ipv6_drop_membership</a>
209
+ </span>
210
+
211
+
212
+
213
+
214
+
215
+
216
+
217
+
218
+
219
+ <span class="summary_desc"><div class='inline'>
220
+ <p>Returns true if multiple writes are buffered into a single segment.</p>
221
+ </div></span>
222
+
223
+ </li>
224
+
225
+
226
+ <li class="public ">
227
+ <span class="summary_signature">
111
228
 
112
- <li ><a href="#method-i-ipv6_multicast_hops">#ipv6_multicast_hops</a>
229
+ <a href="#cork%3D-instance_method" title="#cork= (instance method)">- (Object) <strong>cork=</strong>(value) </a>
113
230
 
114
- <li ><a href="#method-i-ipv6_multicast_hops-3D">#ipv6_multicast_hops=</a>
231
+
115
232
 
116
- <li ><a href="#method-i-ipv6_multicast_if">#ipv6_multicast_if</a>
233
+ </span>
234
+
235
+
236
+
237
+
238
+
239
+
240
+
241
+
242
+
243
+ <span class="summary_desc"><div class='inline'>
244
+ <p>Buffers multiple writes into a single segment if true.</p>
245
+ </div></span>
246
+
247
+ </li>
248
+
249
+
250
+ <li class="public ">
251
+ <span class="summary_signature">
117
252
 
118
- <li ><a href="#method-i-ipv6_multicast_if-3D">#ipv6_multicast_if=</a>
253
+ <a href="#initialize_ionian_socket-instance_method" title="#initialize_ionian_socket (instance method)">- (Object) <strong>initialize_ionian_socket</strong> </a>
119
254
 
120
- <li ><a href="#method-i-ipv6_multicast_loop">#ipv6_multicast_loop</a>
255
+
121
256
 
122
- <li ><a href="#method-i-ipv6_multicast_loop-3D">#ipv6_multicast_loop=</a>
257
+ </span>
258
+
259
+
260
+
261
+
262
+
263
+
264
+
265
+
266
+
267
+ <span class="summary_desc"><div class='inline'>
268
+ <p>Initialize the Ionian Socket variables.</p>
269
+ </div></span>
270
+
271
+ </li>
272
+
273
+
274
+ <li class="public ">
275
+ <span class="summary_signature">
123
276
 
124
- <li ><a href="#method-i-ipv6_multicast_loop-3F">#ipv6_multicast_loop?</a>
277
+ <a href="#ip_add_membership-instance_method" title="#ip_add_membership (instance method)">- (Object) <strong>ip_add_membership</strong>(address = nil, interface = nil) </a>
125
278
 
126
- <li ><a href="#method-i-multicast">#multicast</a>
279
+
127
280
 
128
- <li ><a href="#method-i-multicast-3F">#multicast?</a>
281
+ </span>
282
+
283
+
284
+
285
+
286
+
287
+
288
+
289
+
290
+
291
+ <span class="summary_desc"><div class='inline'>
292
+ <p>Join a multicast group.</p>
293
+ </div></span>
294
+
295
+ </li>
296
+
297
+
298
+ <li class="public ">
299
+ <span class="summary_signature">
129
300
 
130
- <li ><a href="#method-i-no_delay">#no_delay</a>
301
+ <a href="#ip_drop_membership-instance_method" title="#ip_drop_membership (instance method)">- (Object) <strong>ip_drop_membership</strong>(address = nil, interface = nil) </a>
131
302
 
132
- <li ><a href="#method-i-no_delay-3D">#no_delay=</a>
303
+
133
304
 
134
- <li ><a href="#method-i-no_delay-3F">#no_delay?</a>
305
+ </span>
306
+
307
+
308
+
309
+
310
+
311
+
312
+
313
+
314
+
315
+ <span class="summary_desc"><div class='inline'>
316
+ <p>Leave a multicast group.</p>
317
+ </div></span>
318
+
319
+ </li>
320
+
321
+
322
+ <li class="public ">
323
+ <span class="summary_signature">
135
324
 
136
- <li ><a href="#method-i-recork">#recork</a>
325
+ <a href="#ip_multicast_if-instance_method" title="#ip_multicast_if (instance method)">- (Object) <strong>ip_multicast_if</strong> </a>
137
326
 
138
- <li ><a href="#method-i-reuse_addr">#reuse_addr</a>
327
+
139
328
 
140
- <li ><a href="#method-i-reuse_addr-3D">#reuse_addr=</a>
329
+ </span>
330
+
331
+
332
+
333
+
334
+
335
+
336
+
337
+
338
+
339
+ <span class="summary_desc"><div class='inline'>
340
+ <p>Returns the default interface for outgoing multicasts.</p>
341
+ </div></span>
342
+
343
+ </li>
344
+
345
+
346
+ <li class="public ">
347
+ <span class="summary_signature">
141
348
 
142
- <li ><a href="#method-i-reuse_addr-3F">#reuse_addr?</a>
349
+ <a href="#ip_multicast_if%3D-instance_method" title="#ip_multicast_if= (instance method)">- (Object) <strong>ip_multicast_if=</strong>(interface = nil) </a>
143
350
 
144
- <li ><a href="#method-i-ttl">#ttl</a>
351
+
145
352
 
146
- <li ><a href="#method-i-ttl-3D">#ttl=</a>
353
+ </span>
354
+
355
+
356
+
357
+
358
+
359
+
360
+
361
+
362
+
363
+ <span class="summary_desc"><div class='inline'>
364
+ <p>Specify default interface for outgoing multicasts.</p>
365
+ </div></span>
366
+
367
+ </li>
368
+
369
+
370
+ <li class="public ">
371
+ <span class="summary_signature">
147
372
 
148
- <li ><a href="#method-i-ttl-3F">#ttl?</a>
373
+ <a href="#ip_multicast_loop-instance_method" title="#ip_multicast_loop (instance method)">- (Object) <strong>ip_multicast_loop</strong> </a>
149
374
 
150
- </ul>
151
- </div>
152
375
 
153
- </div>
154
- </nav>
376
+
377
+ (also: #ip_multicast_loop?)
378
+
379
+ </span>
380
+
381
+
382
+
383
+
384
+
385
+
386
+
155
387
 
156
- <main role="main" aria-labelledby="module-Ionian::Extension::Socket">
157
- <h1 id="module-Ionian::Extension::Socket" class="module">
158
- module Ionian::Extension::Socket
159
- </h1>
388
+
389
+ <span class="summary_desc"><div class='inline'>
390
+ <p>Returns true if loopback of outgoing multicasts is enabled.</p>
391
+ </div></span>
392
+
393
+ </li>
160
394
 
161
- <section class="description">
395
+
396
+ <li class="public ">
397
+ <span class="summary_signature">
398
+
399
+ <a href="#ip_multicast_loop%3D-instance_method" title="#ip_multicast_loop= (instance method)">- (Object) <strong>ip_multicast_loop=</strong>(value) </a>
162
400
 
163
- <p>A mixin for <a href="Socket.html">Socket</a> objects.</p>
164
401
 
165
- <p>This module was designed to be extended by instantiated objects that
166
- implement the standard library <a href="Socket.html">Socket</a> class.
167
- my_socket.extend <a href="../Socket.html">Ionian::Socket</a></p>
402
+
403
+ </span>
404
+
405
+
406
+
407
+
408
+
409
+
410
+
168
411
 
169
- <p>Extending this module also extends Ionian::IO.</p>
412
+
413
+ <span class="summary_desc"><div class='inline'>
414
+ <p>Enables loopback of outgoing multicasts if true.</p>
415
+ </div></span>
416
+
417
+ </li>
170
418
 
171
- </section>
419
+
420
+ <li class="public ">
421
+ <span class="summary_signature">
422
+
423
+ <a href="#ip_multicast_ttl-instance_method" title="#ip_multicast_ttl (instance method)">- (Object) <strong>ip_multicast_ttl</strong> </a>
424
+
172
425
 
426
+
427
+ </span>
428
+
429
+
430
+
431
+
173
432
 
174
433
 
175
434
 
176
- <section id="5Buntitled-5D" class="documentation-section">
177
-
178
435
 
179
-
436
+
437
+ <span class="summary_desc"><div class='inline'>
438
+ <p>Returns the time to live (hop limit) for outgoing multicasts.</p>
439
+ </div></span>
440
+
441
+ </li>
180
442
 
443
+
444
+ <li class="public ">
445
+ <span class="summary_signature">
181
446
 
182
-
447
+ <a href="#ip_multicast_ttl%3D-instance_method" title="#ip_multicast_ttl= (instance method)">- (Object) <strong>ip_multicast_ttl=</strong>(value) </a>
183
448
 
184
449
 
185
450
 
186
- <section id="public-class-5Buntitled-5D-method-details" class="method-section">
187
- <header>
188
- <h3>Public Class Methods</h3>
189
- </header>
451
+ </span>
452
+
453
+
454
+
455
+
456
+
457
+
458
+
190
459
 
191
-
192
- <div id="method-c-extended" class="method-detail ">
193
-
194
- <div class="method-heading">
195
- <span class="method-name">extended</span><span
196
- class="method-args">(obj)</span>
197
-
198
- <span class="method-click-advice">click to toggle source</span>
199
-
200
- </div>
201
-
460
+
461
+ <span class="summary_desc"><div class='inline'>
462
+ <p>Set the time to live (hop limit) for outgoing multicasts.</p>
463
+ </div></span>
464
+
465
+ </li>
202
466
 
203
- <div class="method-description">
204
-
205
- <p>Called automaticallly when the object is extended with extend.</p>
206
-
207
-
467
+
468
+ <li class="public ">
469
+ <span class="summary_signature">
470
+
471
+ <a href="#ipv6_add_membership-instance_method" title="#ipv6_add_membership (instance method)">- (Object) <strong>ipv6_add_membership</strong> </a>
472
+
208
473
 
209
-
210
- <div class="method-source-code" id="extended-source">
211
- <pre><span class="ruby-comment"># File lib/ionian/extension/socket.rb, line 17</span>
212
- <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">extended</span>(<span class="ruby-identifier">obj</span>)
213
- <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>
214
- <span class="ruby-identifier">obj</span>.<span class="ruby-identifier">initialize_ionian_socket</span>
215
- <span class="ruby-keyword">end</span></pre>
216
- </div>
217
-
218
- </div>
474
+
475
+ </span>
476
+
477
+
478
+
479
+
480
+
481
+
482
+
219
483
 
220
-
484
+
485
+ <span class="summary_desc"><div class='inline'>
486
+ <p>Not yet implemented.</p>
487
+ </div></span>
488
+
489
+ </li>
221
490
 
222
-
223
- </div>
491
+
492
+ <li class="public ">
493
+ <span class="summary_signature">
494
+
495
+ <a href="#ipv6_drop_membership-instance_method" title="#ipv6_drop_membership (instance method)">- (Object) <strong>ipv6_drop_membership</strong> </a>
496
+
224
497
 
225
498
 
226
- </section>
499
+ </span>
500
+
501
+
502
+
503
+
504
+
505
+
227
506
 
228
- <section id="public-instance-5Buntitled-5D-method-details" class="method-section">
229
- <header>
230
- <h3>Public Instance Methods</h3>
231
- </header>
232
507
 
233
-
234
- <div id="method-i-cork" class="method-detail ">
235
-
236
- <div class="method-heading">
237
- <span class="method-name">cork</span><span
238
- class="method-args">()</span>
239
-
240
- <span class="method-click-advice">click to toggle source</span>
241
-
242
- </div>
243
-
508
+
509
+ <span class="summary_desc"><div class='inline'>
510
+ <p>Not yet implemented.</p>
511
+ </div></span>
512
+
513
+ </li>
244
514
 
245
- <div class="method-description">
246
-
247
- <p>Returns true if multiple writes are buffered into a single segment. See <a
248
- href="Socket.html#method-i-recork">recork</a>. Linux only. ( TCP_CORK )</p>
249
-
250
-
515
+
516
+ <li class="public ">
517
+ <span class="summary_signature">
518
+
519
+ <a href="#ipv6_multicast_hops-instance_method" title="#ipv6_multicast_hops (instance method)">- (Object) <strong>ipv6_multicast_hops</strong> </a>
520
+
251
521
 
252
-
253
- <div class="method-source-code" id="cork-source">
254
- <pre><span class="ruby-comment"># File lib/ionian/extension/socket.rb, line 80</span>
255
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">cork</span>
256
- <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>)
257
- .<span class="ruby-identifier">data</span>.<span class="ruby-identifier">unpack</span>(<span class="ruby-string">&#39;i&#39;</span>).<span class="ruby-identifier">first</span>
258
- <span class="ruby-identifier">param</span> <span class="ruby-operator">&gt;</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>
259
- <span class="ruby-keyword">end</span></pre>
260
- </div>
261
-
262
- </div>
522
+
523
+ </span>
524
+
525
+
526
+
527
+
528
+
529
+
530
+
263
531
 
264
-
265
- <div class="aliases">
266
- Also aliased as: <a href="Socket.html#method-i-cork-3F">cork?</a>
267
- </div>
268
-
532
+
533
+ <span class="summary_desc"><div class='inline'>
534
+ <p>Not yet implemented.</p>
535
+ </div></span>
536
+
537
+ </li>
269
538
 
270
-
271
- </div>
539
+
540
+ <li class="public ">
541
+ <span class="summary_signature">
542
+
543
+ <a href="#ipv6_multicast_hops%3D-instance_method" title="#ipv6_multicast_hops= (instance method)">- (Object) <strong>ipv6_multicast_hops=</strong>(value) </a>
544
+
272
545
 
273
546
 
274
- <div id="method-i-cork-3D" class="method-detail ">
275
-
276
- <div class="method-heading">
277
- <span class="method-name">cork=</span><span
278
- class="method-args">(value)</span>
279
-
280
- <span class="method-click-advice">click to toggle source</span>
281
-
282
- </div>
283
-
284
-
285
- <div class="method-description">
286
-
287
- <p>Buffers multiple writes into a single segment if true. The segment is sent
288
- once the cork flag is disabled, the upper limit on the size of a segment is
289
- reached, the socket is closed, or 200ms elapses from the time the first
290
- corked byte is written. See <a
291
- href="Socket.html#method-i-recork">recork</a>. Linux only. ( TCP_CORK )</p>
292
-
293
-
294
-
295
-
296
- <div class="method-source-code" id="cork-3D-source">
297
- <pre><span class="ruby-comment"># File lib/ionian/extension/socket.rb, line 96</span>
298
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">cork=</span>(<span class="ruby-identifier">value</span>)
299
- <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>
300
- <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">&#39;i&#39;</span>)
301
- <span class="ruby-keyword">end</span></pre>
302
- </div>
303
-
304
- </div>
305
-
306
-
307
-
308
-
309
- </div>
310
-
311
-
312
- <div id="method-i-cork-3F" class="method-detail method-alias">
313
-
314
- <div class="method-heading">
315
- <span class="method-name">cork?</span><span
316
- class="method-args">()</span>
317
-
318
- </div>
319
-
320
-
321
- <div class="method-description">
322
-
323
-
324
-
325
-
326
-
327
-
328
- </div>
329
-
330
-
331
-
332
-
333
- <div class="aliases">
334
- Alias for: <a href="Socket.html#method-i-cork">cork</a>
335
- </div>
336
-
337
- </div>
338
-
339
-
340
- <div id="method-i-initialize_ionian_socket" class="method-detail ">
341
-
342
- <div class="method-heading">
343
- <span class="method-name">initialize_ionian_socket</span><span
344
- class="method-args">()</span>
345
-
346
- <span class="method-click-advice">click to toggle source</span>
347
-
348
- </div>
349
-
350
-
351
- <div class="method-description">
352
-
353
- <p>Initialize the <a href="../../Ionian.html">Ionian</a> <a
354
- href="Socket.html">Socket</a> variables. This is called automatically if
355
- extend is called on an object.</p>
356
-
357
-
358
-
359
-
360
- <div class="method-source-code" id="initialize_ionian_socket-source">
361
- <pre><span class="ruby-comment"># File lib/ionian/extension/socket.rb, line 24</span>
362
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize_ionian_socket</span>
363
- <span class="ruby-keyword">end</span></pre>
364
- </div>
365
-
366
- </div>
367
-
368
-
369
-
370
-
371
- </div>
372
-
373
-
374
- <div id="method-i-ip_add_membership" class="method-detail ">
375
-
376
- <div class="method-heading">
377
- <span class="method-name">ip_add_membership</span><span
378
- class="method-args">(address = nil, interface = nil)</span>
379
-
380
- <span class="method-click-advice">click to toggle source</span>
381
-
382
- </div>
383
-
384
-
385
- <div class="method-description">
386
-
387
- <p>Join a multicast group. Address is the class D multicast address (uses
547
+ </span>
548
+
549
+
550
+
551
+
552
+
553
+
554
+
555
+
556
+
557
+ <span class="summary_desc"><div class='inline'>
558
+ <p>Not yet implemented.</p>
559
+ </div></span>
560
+
561
+ </li>
562
+
563
+
564
+ <li class="public ">
565
+ <span class="summary_signature">
566
+
567
+ <a href="#ipv6_multicast_if-instance_method" title="#ipv6_multicast_if (instance method)">- (Object) <strong>ipv6_multicast_if</strong> </a>
568
+
569
+
570
+
571
+ </span>
572
+
573
+
574
+
575
+
576
+
577
+
578
+
579
+
580
+
581
+ <span class="summary_desc"><div class='inline'>
582
+ <p>Not yet implemented.</p>
583
+ </div></span>
584
+
585
+ </li>
586
+
587
+
588
+ <li class="public ">
589
+ <span class="summary_signature">
590
+
591
+ <a href="#ipv6_multicast_if%3D-instance_method" title="#ipv6_multicast_if= (instance method)">- (Object) <strong>ipv6_multicast_if=</strong>(value) </a>
592
+
593
+
594
+
595
+ </span>
596
+
597
+
598
+
599
+
600
+
601
+
602
+
603
+
604
+
605
+ <span class="summary_desc"><div class='inline'>
606
+ <p>Not yet implemented.</p>
607
+ </div></span>
608
+
609
+ </li>
610
+
611
+
612
+ <li class="public ">
613
+ <span class="summary_signature">
614
+
615
+ <a href="#ipv6_multicast_loop-instance_method" title="#ipv6_multicast_loop (instance method)">- (Object) <strong>ipv6_multicast_loop</strong> </a>
616
+
617
+
618
+
619
+ (also: #ipv6_multicast_loop?)
620
+
621
+ </span>
622
+
623
+
624
+
625
+
626
+
627
+
628
+
629
+
630
+
631
+ <span class="summary_desc"><div class='inline'>
632
+ <p>Not yet implemented.</p>
633
+ </div></span>
634
+
635
+ </li>
636
+
637
+
638
+ <li class="public ">
639
+ <span class="summary_signature">
640
+
641
+ <a href="#ipv6_multicast_loop%3D-instance_method" title="#ipv6_multicast_loop= (instance method)">- (Object) <strong>ipv6_multicast_loop=</strong>(value) </a>
642
+
643
+
644
+
645
+ </span>
646
+
647
+
648
+
649
+
650
+
651
+
652
+
653
+
654
+
655
+ <span class="summary_desc"><div class='inline'>
656
+ <p>Not yet implemented.</p>
657
+ </div></span>
658
+
659
+ </li>
660
+
661
+
662
+ <li class="public ">
663
+ <span class="summary_signature">
664
+
665
+ <a href="#multicast-instance_method" title="#multicast (instance method)">- (Object) <strong>multicast</strong> </a>
666
+
667
+
668
+
669
+ (also: #multicast?)
670
+
671
+ </span>
672
+
673
+
674
+
675
+
676
+
677
+
678
+
679
+
680
+
681
+ <span class="summary_desc"><div class='inline'>
682
+ <p>Returns true if the socket&#39;s address is in the multicast range.</p>
683
+ </div></span>
684
+
685
+ </li>
686
+
687
+
688
+ <li class="public ">
689
+ <span class="summary_signature">
690
+
691
+ <a href="#no_delay-instance_method" title="#no_delay (instance method)">- (Object) <strong>no_delay</strong> </a>
692
+
693
+
694
+
695
+ (also: #no_delay?)
696
+
697
+ </span>
698
+
699
+
700
+
701
+
702
+
703
+
704
+
705
+
706
+
707
+ <span class="summary_desc"><div class='inline'>
708
+ <p>Returns true if the Nagle algorithm is disabled.</p>
709
+ </div></span>
710
+
711
+ </li>
712
+
713
+
714
+ <li class="public ">
715
+ <span class="summary_signature">
716
+
717
+ <a href="#no_delay%3D-instance_method" title="#no_delay= (instance method)">- (Object) <strong>no_delay=</strong>(value) </a>
718
+
719
+
720
+
721
+ </span>
722
+
723
+
724
+
725
+
726
+
727
+
728
+
729
+
730
+
731
+ <span class="summary_desc"><div class='inline'>
732
+ <p>Disables the Nagle algorithm if true.</p>
733
+ </div></span>
734
+
735
+ </li>
736
+
737
+
738
+ <li class="public ">
739
+ <span class="summary_signature">
740
+
741
+ <a href="#recork-instance_method" title="#recork (instance method)">- (Object) <strong>recork</strong> </a>
742
+
743
+
744
+
745
+ </span>
746
+
747
+
748
+
749
+
750
+
751
+
752
+
753
+
754
+
755
+ <span class="summary_desc"><div class='inline'>
756
+ <p>Unsets cork to transmit data, then reapplies cork.</p>
757
+ </div></span>
758
+
759
+ </li>
760
+
761
+
762
+ <li class="public ">
763
+ <span class="summary_signature">
764
+
765
+ <a href="#reuse_addr-instance_method" title="#reuse_addr (instance method)">- (Object) <strong>reuse_addr</strong> </a>
766
+
767
+
768
+
769
+ (also: #reuse_addr?)
770
+
771
+ </span>
772
+
773
+
774
+
775
+
776
+
777
+
778
+
779
+
780
+
781
+ <span class="summary_desc"><div class='inline'>
782
+ <p>Returns true if local address reuse is allowed.</p>
783
+ </div></span>
784
+
785
+ </li>
786
+
787
+
788
+ <li class="public ">
789
+ <span class="summary_signature">
790
+
791
+ <a href="#reuse_addr%3D-instance_method" title="#reuse_addr= (instance method)">- (Object) <strong>reuse_addr=</strong>(value) </a>
792
+
793
+
794
+
795
+ </span>
796
+
797
+
798
+
799
+
800
+
801
+
802
+
803
+
804
+
805
+ <span class="summary_desc"><div class='inline'>
806
+ <p>Allows local address reuse if true.</p>
807
+ </div></span>
808
+
809
+ </li>
810
+
811
+
812
+ <li class="public ">
813
+ <span class="summary_signature">
814
+
815
+ <a href="#ttl-instance_method" title="#ttl (instance method)">- (Object) <strong>ttl</strong> </a>
816
+
817
+
818
+
819
+ (also: #ttl?)
820
+
821
+ </span>
822
+
823
+
824
+
825
+
826
+
827
+
828
+
829
+
830
+
831
+ <span class="summary_desc"><div class='inline'>
832
+ <p>Returns the time to live (hop limit).</p>
833
+ </div></span>
834
+
835
+ </li>
836
+
837
+
838
+ <li class="public ">
839
+ <span class="summary_signature">
840
+
841
+ <a href="#ttl%3D-instance_method" title="#ttl= (instance method)">- (Object) <strong>ttl=</strong>(value) </a>
842
+
843
+
844
+
845
+ </span>
846
+
847
+
848
+
849
+
850
+
851
+
852
+
853
+
854
+
855
+ <span class="summary_desc"><div class='inline'>
856
+ <p>Sets the time to live (hop limit).</p>
857
+ </div></span>
858
+
859
+ </li>
860
+
861
+
862
+ </ul>
863
+
864
+
865
+
866
+
867
+ <div id="class_method_details" class="method_details_list">
868
+ <h2>Class Method Details</h2>
869
+
870
+
871
+ <div class="method_details first">
872
+ <h3 class="signature first" id="extended-class_method">
873
+
874
+ + (<tt>Object</tt>) <strong>extended</strong>(obj)
875
+
876
+
877
+
878
+
879
+
880
+ </h3><div class="docstring">
881
+ <div class="discussion">
882
+
883
+ <p>Called automaticallly when the object is extended with #extend.</p>
884
+
885
+
886
+ </div>
887
+ </div>
888
+ <div class="tags">
889
+
890
+
891
+ </div><table class="source_code">
892
+ <tr>
893
+ <td>
894
+ <pre class="lines">
895
+
896
+
897
+ 17
898
+ 18
899
+ 19
900
+ 20</pre>
901
+ </td>
902
+ <td>
903
+ <pre class="code"><span class="info file"># File 'lib/ionian/extension/socket.rb', line 17</span>
904
+
905
+ <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_extended'>extended</span><span class='lparen'>(</span><span class='id identifier rubyid_obj'>obj</span><span class='rparen'>)</span>
906
+ <span class='id identifier rubyid_obj'>obj</span><span class='period'>.</span><span class='id identifier rubyid_extend'>extend</span> <span class='const'>Ionian</span><span class='op'>::</span><span class='const'>Extension</span><span class='op'>::</span><span class='const'>IO</span>
907
+ <span class='id identifier rubyid_obj'>obj</span><span class='period'>.</span><span class='id identifier rubyid_initialize_ionian_socket'>initialize_ionian_socket</span>
908
+ <span class='kw'>end</span></pre>
909
+ </td>
910
+ </tr>
911
+ </table>
912
+ </div>
913
+
914
+ <div class="method_details ">
915
+ <h3 class="signature " id="multicast-class_method">
916
+
917
+ + (<tt>Object</tt>) <strong>multicast</strong>(address)
918
+
919
+
920
+
921
+
922
+
923
+ </h3><div class="docstring">
924
+ <div class="discussion">
925
+
926
+ <p>Returns true if the given address is within the multicast range.</p>
927
+
928
+
929
+ </div>
930
+ </div>
931
+ <div class="tags">
932
+
933
+
934
+ </div><table class="source_code">
935
+ <tr>
936
+ <td>
937
+ <pre class="lines">
938
+
939
+
940
+ 238
941
+ 239
942
+ 240</pre>
943
+ </td>
944
+ <td>
945
+ <pre class="code"><span class="info file"># File 'lib/ionian/extension/socket.rb', line 238</span>
946
+
947
+ <span class='kw'>def</span> <span class='id identifier rubyid_multicast'>multicast</span><span class='lparen'>(</span><span class='id identifier rubyid_address'>address</span><span class='rparen'>)</span>
948
+ <span class='id identifier rubyid_address'>address</span> <span class='op'>&gt;=</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>224.0.0.0</span><span class='tstring_end'>&#39;</span></span> <span class='kw'>and</span> <span class='id identifier rubyid_address'>address</span> <span class='op'>&lt;=</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>239.255.255.255</span><span class='tstring_end'>&#39;</span></span> <span class='op'>?</span> <span class='kw'>true</span> <span class='op'>:</span> <span class='kw'>false</span>
949
+ <span class='kw'>end</span></pre>
950
+ </td>
951
+ </tr>
952
+ </table>
953
+ </div>
954
+
955
+ <div class="method_details ">
956
+ <h3 class="signature " id="multicast?-class_method">
957
+
958
+ + (<tt>Object</tt>) <strong>multicast?</strong>
959
+
960
+
961
+
962
+
963
+
964
+ </h3><div class="docstring">
965
+ <div class="discussion">
966
+
967
+ <p>Returns true if the given address is within the multicast range.</p>
968
+
969
+
970
+ </div>
971
+ </div>
972
+ <div class="tags">
973
+
974
+
975
+ </div><table class="source_code">
976
+ <tr>
977
+ <td>
978
+ <pre class="lines">
979
+
980
+
981
+ 242
982
+ 243
983
+ 244</pre>
984
+ </td>
985
+ <td>
986
+ <pre class="code"><span class="info file"># File 'lib/ionian/extension/socket.rb', line 242</span>
987
+
988
+ <span class='kw'>def</span> <span class='id identifier rubyid_multicast'>multicast</span><span class='lparen'>(</span><span class='id identifier rubyid_address'>address</span><span class='rparen'>)</span>
989
+ <span class='id identifier rubyid_address'>address</span> <span class='op'>&gt;=</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>224.0.0.0</span><span class='tstring_end'>&#39;</span></span> <span class='kw'>and</span> <span class='id identifier rubyid_address'>address</span> <span class='op'>&lt;=</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>239.255.255.255</span><span class='tstring_end'>&#39;</span></span> <span class='op'>?</span> <span class='kw'>true</span> <span class='op'>:</span> <span class='kw'>false</span>
990
+ <span class='kw'>end</span></pre>
991
+ </td>
992
+ </tr>
993
+ </table>
994
+ </div>
995
+
996
+ </div>
997
+
998
+ <div id="instance_method_details" class="method_details_list">
999
+ <h2>Instance Method Details</h2>
1000
+
1001
+
1002
+ <div class="method_details first">
1003
+ <h3 class="signature first" id="cork-instance_method">
1004
+
1005
+ - (<tt>Object</tt>) <strong>cork</strong>
1006
+
1007
+
1008
+
1009
+ <span class="aliases">Also known as:
1010
+ <span class="names"><span id='cork?-instance_method'>cork?</span></span>
1011
+ </span>
1012
+
1013
+
1014
+
1015
+ </h3><div class="docstring">
1016
+ <div class="discussion">
1017
+
1018
+ <p>Returns true if multiple writes are buffered into a single segment. See
1019
+ #recork. Linux only. ( TCP_CORK )</p>
1020
+
1021
+
1022
+ </div>
1023
+ </div>
1024
+ <div class="tags">
1025
+
1026
+
1027
+ </div><table class="source_code">
1028
+ <tr>
1029
+ <td>
1030
+ <pre class="lines">
1031
+
1032
+
1033
+ 80
1034
+ 81
1035
+ 82
1036
+ 83
1037
+ 84</pre>
1038
+ </td>
1039
+ <td>
1040
+ <pre class="code"><span class="info file"># File 'lib/ionian/extension/socket.rb', line 80</span>
1041
+
1042
+ <span class='kw'>def</span> <span class='id identifier rubyid_cork'>cork</span>
1043
+ <span class='id identifier rubyid_param'>param</span> <span class='op'>=</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_getsockopt'>getsockopt</span><span class='lparen'>(</span><span class='op'>::</span><span class='const'>Socket</span><span class='op'>::</span><span class='const'>IPPROTO_TCP</span><span class='comma'>,</span> <span class='op'>::</span><span class='const'>Socket</span><span class='op'>::</span><span class='const'>TCP_CORK</span><span class='rparen'>)</span><span class='period'>
1044
+ </span><span class='id identifier rubyid_ .data'> .data</span><span class='period'>.</span><span class='id identifier rubyid_unpack'>unpack</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>i</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_first'>first</span>
1045
+ <span class='id identifier rubyid_param'>param</span> <span class='op'>&gt;</span> <span class='int'>0</span> <span class='op'>?</span> <span class='kw'>true</span> <span class='op'>:</span> <span class='kw'>false</span>
1046
+ <span class='kw'>end</span></pre>
1047
+ </td>
1048
+ </tr>
1049
+ </table>
1050
+ </div>
1051
+
1052
+ <div class="method_details ">
1053
+ <h3 class="signature " id="cork=-instance_method">
1054
+
1055
+ - (<tt>Object</tt>) <strong>cork=</strong>(value)
1056
+
1057
+
1058
+
1059
+
1060
+
1061
+ </h3><div class="docstring">
1062
+ <div class="discussion">
1063
+
1064
+ <p>Buffers multiple writes into a single segment if true. The segment is sent
1065
+ once the cork flag is disabled, the upper limit on the size of a segment is
1066
+ reached, the socket is closed, or 200ms elapses from the time the first
1067
+ corked byte is written. See #recork. Linux only. ( TCP_CORK )</p>
1068
+
1069
+
1070
+ </div>
1071
+ </div>
1072
+ <div class="tags">
1073
+
1074
+
1075
+ </div><table class="source_code">
1076
+ <tr>
1077
+ <td>
1078
+ <pre class="lines">
1079
+
1080
+
1081
+ 96
1082
+ 97
1083
+ 98
1084
+ 99</pre>
1085
+ </td>
1086
+ <td>
1087
+ <pre class="code"><span class="info file"># File 'lib/ionian/extension/socket.rb', line 96</span>
1088
+
1089
+ <span class='kw'>def</span> <span class='id identifier rubyid_cork='>cork=</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
1090
+ <span class='id identifier rubyid_param'>param</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span> <span class='op'>?</span> <span class='int'>1</span> <span class='op'>:</span> <span class='int'>0</span>
1091
+ <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_setsockopt'>setsockopt</span> <span class='op'>::</span><span class='const'>Socket</span><span class='op'>::</span><span class='const'>IPPROTO_TCP</span><span class='comma'>,</span> <span class='op'>::</span><span class='const'>Socket</span><span class='op'>::</span><span class='const'>TCP_CORK</span><span class='comma'>,</span> <span class='lbracket'>[</span><span class='id identifier rubyid_param'>param</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_pack'>pack</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>i</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span>
1092
+ <span class='kw'>end</span></pre>
1093
+ </td>
1094
+ </tr>
1095
+ </table>
1096
+ </div>
1097
+
1098
+ <div class="method_details ">
1099
+ <h3 class="signature " id="initialize_ionian_socket-instance_method">
1100
+
1101
+ - (<tt>Object</tt>) <strong>initialize_ionian_socket</strong>
1102
+
1103
+
1104
+
1105
+
1106
+
1107
+ </h3><div class="docstring">
1108
+ <div class="discussion">
1109
+
1110
+ <p>Initialize the Ionian Socket variables. This is called automatically if
1111
+ #extend is called on an object.</p>
1112
+
1113
+
1114
+ </div>
1115
+ </div>
1116
+ <div class="tags">
1117
+
1118
+
1119
+ </div><table class="source_code">
1120
+ <tr>
1121
+ <td>
1122
+ <pre class="lines">
1123
+
1124
+
1125
+ 24
1126
+ 25</pre>
1127
+ </td>
1128
+ <td>
1129
+ <pre class="code"><span class="info file"># File 'lib/ionian/extension/socket.rb', line 24</span>
1130
+
1131
+ <span class='kw'>def</span> <span class='id identifier rubyid_initialize_ionian_socket'>initialize_ionian_socket</span>
1132
+ <span class='kw'>end</span></pre>
1133
+ </td>
1134
+ </tr>
1135
+ </table>
1136
+ </div>
1137
+
1138
+ <div class="method_details ">
1139
+ <h3 class="signature " id="ip_add_membership-instance_method">
1140
+
1141
+ - (<tt>Object</tt>) <strong>ip_add_membership</strong>(address = nil, interface = nil)
1142
+
1143
+
1144
+
1145
+
1146
+
1147
+ </h3><div class="docstring">
1148
+ <div class="discussion">
1149
+
1150
+ <p>Join a multicast group. Address is the class D multicast address (uses
388
1151
  remote address if not specified). Interface is the local network interface
389
1152
  to receive the multicast traffic on (all interfaces if not specified). (
390
1153
  IP_ADD_MEMBERSHIP )</p>
391
-
392
-
393
-
394
-
395
- <div class="method-source-code" id="ip_add_membership-source">
396
- <pre><span class="ruby-comment"># File lib/ionian/extension/socket.rb, line 114</span>
397
- <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>)
398
- <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>
399
- <span class="ruby-identifier">interface</span> <span class="ruby-operator">||=</span> <span class="ruby-string">&#39;0.0.0.0&#39;</span>
400
-
401
- <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>,
402
- <span class="ruby-operator">::</span><span class="ruby-constant">Socket</span><span class="ruby-operator">::</span><span class="ruby-constant">IP_ADD_MEMBERSHIP</span>,
403
- <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>
404
- <span class="ruby-keyword">end</span></pre>
405
- </div>
406
-
407
- </div>
408
-
409
-
410
-
411
-
412
- </div>
413
-
414
-
415
- <div id="method-i-ip_drop_membership" class="method-detail ">
416
-
417
- <div class="method-heading">
418
- <span class="method-name">ip_drop_membership</span><span
419
- class="method-args">(address = nil, interface = nil)</span>
420
-
421
- <span class="method-click-advice">click to toggle source</span>
422
-
423
- </div>
424
-
425
-
426
- <div class="method-description">
427
-
428
- <p>Leave a multicast group. Address is the class D multicast address (uses
1154
+
1155
+
1156
+ </div>
1157
+ </div>
1158
+ <div class="tags">
1159
+
1160
+
1161
+ </div><table class="source_code">
1162
+ <tr>
1163
+ <td>
1164
+ <pre class="lines">
1165
+
1166
+
1167
+ 114
1168
+ 115
1169
+ 116
1170
+ 117
1171
+ 118
1172
+ 119
1173
+ 120
1174
+ 121
1175
+ 122</pre>
1176
+ </td>
1177
+ <td>
1178
+ <pre class="code"><span class="info file"># File 'lib/ionian/extension/socket.rb', line 114</span>
1179
+
1180
+ <span class='kw'>def</span> <span class='id identifier rubyid_ip_add_membership'>ip_add_membership</span><span class='lparen'>(</span><span class='id identifier rubyid_address'>address</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='id identifier rubyid_interface'>interface</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='rparen'>)</span>
1181
+ <span class='id identifier rubyid_address'>address</span> <span class='op'>||=</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_remote_address'>remote_address</span><span class='period'>.</span><span class='id identifier rubyid_ip_address'>ip_address</span>
1182
+ <span class='id identifier rubyid_interface'>interface</span> <span class='op'>||=</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>0.0.0.0</span><span class='tstring_end'>&#39;</span></span>
1183
+
1184
+ <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_setsockopt'>setsockopt</span> \
1185
+ <span class='op'>::</span><span class='const'>Socket</span><span class='op'>::</span><span class='const'>IPPROTO_IP</span><span class='comma'>,</span>
1186
+ <span class='op'>::</span><span class='const'>Socket</span><span class='op'>::</span><span class='const'>IP_ADD_MEMBERSHIP</span><span class='comma'>,</span>
1187
+ <span class='const'>IPAddr</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_address'>address</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_hton'>hton</span> <span class='op'>+</span> <span class='const'>IPAddr</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_interface'>interface</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_hton'>hton</span>
1188
+ <span class='kw'>end</span></pre>
1189
+ </td>
1190
+ </tr>
1191
+ </table>
1192
+ </div>
1193
+
1194
+ <div class="method_details ">
1195
+ <h3 class="signature " id="ip_drop_membership-instance_method">
1196
+
1197
+ - (<tt>Object</tt>) <strong>ip_drop_membership</strong>(address = nil, interface = nil)
1198
+
1199
+
1200
+
1201
+
1202
+
1203
+ </h3><div class="docstring">
1204
+ <div class="discussion">
1205
+
1206
+ <p>Leave a multicast group. Address is the class D multicast address (uses
429
1207
  remote address if not specified). Interface is the local network interface
430
1208
  the multicast traffic is received on (all interfaces if not specified). (
431
1209
  IP_DROP_MEMBERSHIP )</p>
432
-
433
-
434
-
435
-
436
- <div class="method-source-code" id="ip_drop_membership-source">
437
- <pre><span class="ruby-comment"># File lib/ionian/extension/socket.rb, line 130</span>
438
- <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>)
439
- <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>
440
- <span class="ruby-identifier">interface</span> <span class="ruby-operator">||=</span> <span class="ruby-string">&#39;0.0.0.0&#39;</span>
441
-
442
- <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>,
443
- <span class="ruby-operator">::</span><span class="ruby-constant">Socket</span><span class="ruby-operator">::</span><span class="ruby-constant">IP_DROP_MEMBERSHIP</span>,
444
- <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>
445
- <span class="ruby-keyword">end</span></pre>
446
- </div>
447
-
448
- </div>
449
-
450
-
451
-
452
-
453
- </div>
454
-
455
-
456
- <div id="method-i-ip_multicast_if" class="method-detail ">
457
-
458
- <div class="method-heading">
459
- <span class="method-name">ip_multicast_if</span><span
460
- class="method-args">()</span>
461
-
462
- <span class="method-click-advice">click to toggle source</span>
463
-
464
- </div>
465
-
466
-
467
- <div class="method-description">
468
-
469
- <p>Returns the default interface for outgoing multicasts. ( IP_MULTICAST_IF )</p>
470
-
471
-
472
-
473
-
474
- <div class="method-source-code" id="ip_multicast_if-source">
475
- <pre><span class="ruby-comment"># File lib/ionian/extension/socket.rb, line 142</span>
476
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">ip_multicast_if</span>
477
- <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>)
478
- .<span class="ruby-identifier">data</span>.<span class="ruby-identifier">unpack</span>(<span class="ruby-string">&#39;CCCC&#39;</span>).<span class="ruby-identifier">join</span>(<span class="ruby-string">&#39;.&#39;</span>)
479
- <span class="ruby-keyword">end</span></pre>
480
- </div>
481
-
482
- </div>
483
-
484
-
485
-
486
-
487
- </div>
488
-
489
-
490
- <div id="method-i-ip_multicast_if-3D" class="method-detail ">
491
-
492
- <div class="method-heading">
493
- <span class="method-name">ip_multicast_if=</span><span
494
- class="method-args">(interface = nil)</span>
495
-
496
- <span class="method-click-advice">click to toggle source</span>
497
-
498
- </div>
499
-
500
-
501
- <div class="method-description">
502
-
503
- <p>Specify default interface for outgoing multicasts. ( IP_MULTICAST_IF )</p>
504
-
505
-
506
-
507
-
508
- <div class="method-source-code" id="ip_multicast_if-3D-source">
509
- <pre><span class="ruby-comment"># File lib/ionian/extension/socket.rb, line 149</span>
510
- <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>)
511
- <span class="ruby-identifier">interface</span> <span class="ruby-operator">||=</span> <span class="ruby-string">&#39;0.0.0.0&#39;</span>
512
-
513
- <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>,
514
- <span class="ruby-operator">::</span><span class="ruby-constant">Socket</span><span class="ruby-operator">::</span><span class="ruby-constant">IP_MULTICAST_IF</span>,
515
- <span class="ruby-constant">IPAddr</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">interface</span>).<span class="ruby-identifier">hton</span>
516
- <span class="ruby-keyword">end</span></pre>
517
- </div>
518
-
519
- </div>
520
-
521
-
522
-
523
-
524
- </div>
525
-
526
-
527
- <div id="method-i-ip_multicast_loop" class="method-detail ">
528
-
529
- <div class="method-heading">
530
- <span class="method-name">ip_multicast_loop</span><span
531
- class="method-args">()</span>
532
-
533
- <span class="method-click-advice">click to toggle source</span>
534
-
535
- </div>
536
-
537
-
538
- <div class="method-description">
539
-
540
- <p>Returns true if loopback of outgoing multicasts is enabled. (
1210
+
1211
+
1212
+ </div>
1213
+ </div>
1214
+ <div class="tags">
1215
+
1216
+
1217
+ </div><table class="source_code">
1218
+ <tr>
1219
+ <td>
1220
+ <pre class="lines">
1221
+
1222
+
1223
+ 130
1224
+ 131
1225
+ 132
1226
+ 133
1227
+ 134
1228
+ 135
1229
+ 136
1230
+ 137
1231
+ 138</pre>
1232
+ </td>
1233
+ <td>
1234
+ <pre class="code"><span class="info file"># File 'lib/ionian/extension/socket.rb', line 130</span>
1235
+
1236
+ <span class='kw'>def</span> <span class='id identifier rubyid_ip_drop_membership'>ip_drop_membership</span><span class='lparen'>(</span><span class='id identifier rubyid_address'>address</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='id identifier rubyid_interface'>interface</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='rparen'>)</span>
1237
+ <span class='id identifier rubyid_address'>address</span> <span class='op'>||=</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_remote_address'>remote_address</span><span class='period'>.</span><span class='id identifier rubyid_ip_address'>ip_address</span>
1238
+ <span class='id identifier rubyid_interface'>interface</span> <span class='op'>||=</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>0.0.0.0</span><span class='tstring_end'>&#39;</span></span>
1239
+
1240
+ <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_setsockopt'>setsockopt</span> \
1241
+ <span class='op'>::</span><span class='const'>Socket</span><span class='op'>::</span><span class='const'>IPPROTO_IP</span><span class='comma'>,</span>
1242
+ <span class='op'>::</span><span class='const'>Socket</span><span class='op'>::</span><span class='const'>IP_DROP_MEMBERSHIP</span><span class='comma'>,</span>
1243
+ <span class='const'>IPAddr</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_address'>address</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_hton'>hton</span> <span class='op'>+</span> <span class='const'>IPAddr</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_interface'>interface</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_hton'>hton</span>
1244
+ <span class='kw'>end</span></pre>
1245
+ </td>
1246
+ </tr>
1247
+ </table>
1248
+ </div>
1249
+
1250
+ <div class="method_details ">
1251
+ <h3 class="signature " id="ip_multicast_if-instance_method">
1252
+
1253
+ - (<tt>Object</tt>) <strong>ip_multicast_if</strong>
1254
+
1255
+
1256
+
1257
+
1258
+
1259
+ </h3><div class="docstring">
1260
+ <div class="discussion">
1261
+
1262
+ <p>Returns the default interface for outgoing multicasts. ( IP_MULTICAST_IF )</p>
1263
+
1264
+
1265
+ </div>
1266
+ </div>
1267
+ <div class="tags">
1268
+
1269
+
1270
+ </div><table class="source_code">
1271
+ <tr>
1272
+ <td>
1273
+ <pre class="lines">
1274
+
1275
+
1276
+ 142
1277
+ 143
1278
+ 144
1279
+ 145</pre>
1280
+ </td>
1281
+ <td>
1282
+ <pre class="code"><span class="info file"># File 'lib/ionian/extension/socket.rb', line 142</span>
1283
+
1284
+ <span class='kw'>def</span> <span class='id identifier rubyid_ip_multicast_if'>ip_multicast_if</span>
1285
+ <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_getsockopt'>getsockopt</span><span class='lparen'>(</span><span class='op'>::</span><span class='const'>Socket</span><span class='op'>::</span><span class='const'>IPPROTO_IP</span><span class='comma'>,</span> <span class='op'>::</span><span class='const'>Socket</span><span class='op'>::</span><span class='const'>IP_MULTICAST_IF</span><span class='rparen'>)</span><span class='period'>
1286
+ </span><span class='id identifier rubyid_ .data'> .data</span><span class='period'>.</span><span class='id identifier rubyid_unpack'>unpack</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>CCCC</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_join'>join</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>.</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span>
1287
+ <span class='kw'>end</span></pre>
1288
+ </td>
1289
+ </tr>
1290
+ </table>
1291
+ </div>
1292
+
1293
+ <div class="method_details ">
1294
+ <h3 class="signature " id="ip_multicast_if=-instance_method">
1295
+
1296
+ - (<tt>Object</tt>) <strong>ip_multicast_if=</strong>(interface = nil)
1297
+
1298
+
1299
+
1300
+
1301
+
1302
+ </h3><div class="docstring">
1303
+ <div class="discussion">
1304
+
1305
+ <p>Specify default interface for outgoing multicasts. ( IP_MULTICAST_IF )</p>
1306
+
1307
+
1308
+ </div>
1309
+ </div>
1310
+ <div class="tags">
1311
+
1312
+
1313
+ </div><table class="source_code">
1314
+ <tr>
1315
+ <td>
1316
+ <pre class="lines">
1317
+
1318
+
1319
+ 149
1320
+ 150
1321
+ 151
1322
+ 152
1323
+ 153
1324
+ 154
1325
+ 155
1326
+ 156</pre>
1327
+ </td>
1328
+ <td>
1329
+ <pre class="code"><span class="info file"># File 'lib/ionian/extension/socket.rb', line 149</span>
1330
+
1331
+ <span class='kw'>def</span> <span class='id identifier rubyid_ip_multicast_if='>ip_multicast_if=</span><span class='lparen'>(</span><span class='id identifier rubyid_interface'>interface</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='rparen'>)</span>
1332
+ <span class='id identifier rubyid_interface'>interface</span> <span class='op'>||=</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>0.0.0.0</span><span class='tstring_end'>&#39;</span></span>
1333
+
1334
+ <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_setsockopt'>setsockopt</span> \
1335
+ <span class='op'>::</span><span class='const'>Socket</span><span class='op'>::</span><span class='const'>IPPROTO_IP</span><span class='comma'>,</span>
1336
+ <span class='op'>::</span><span class='const'>Socket</span><span class='op'>::</span><span class='const'>IP_MULTICAST_IF</span><span class='comma'>,</span>
1337
+ <span class='const'>IPAddr</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_interface'>interface</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_hton'>hton</span>
1338
+ <span class='kw'>end</span></pre>
1339
+ </td>
1340
+ </tr>
1341
+ </table>
1342
+ </div>
1343
+
1344
+ <div class="method_details ">
1345
+ <h3 class="signature " id="ip_multicast_loop-instance_method">
1346
+
1347
+ - (<tt>Object</tt>) <strong>ip_multicast_loop</strong>
1348
+
1349
+
1350
+
1351
+ <span class="aliases">Also known as:
1352
+ <span class="names"><span id='ip_multicast_loop?-instance_method'>ip_multicast_loop?</span></span>
1353
+ </span>
1354
+
1355
+
1356
+
1357
+ </h3><div class="docstring">
1358
+ <div class="discussion">
1359
+
1360
+ <p>Returns true if loopback of outgoing multicasts is enabled. (
541
1361
  IP_MULTICAST_LOOP )</p>
542
-
543
-
544
-
545
-
546
- <div class="method-source-code" id="ip_multicast_loop-source">
547
- <pre><span class="ruby-comment"># File lib/ionian/extension/socket.rb, line 173</span>
548
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">ip_multicast_loop</span>
549
- <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>)
550
- .<span class="ruby-identifier">data</span>.<span class="ruby-identifier">unpack</span>(<span class="ruby-string">&#39;C&#39;</span>).<span class="ruby-identifier">first</span>
551
- <span class="ruby-identifier">param</span> <span class="ruby-operator">&gt;</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>
552
- <span class="ruby-keyword">end</span></pre>
553
- </div>
554
-
555
- </div>
556
-
557
-
558
- <div class="aliases">
559
- Also aliased as: <a href="Socket.html#method-i-ip_multicast_loop-3F">ip_multicast_loop?</a>
560
- </div>
561
-
562
-
563
-
564
- </div>
565
-
566
-
567
- <div id="method-i-ip_multicast_loop-3D" class="method-detail ">
568
-
569
- <div class="method-heading">
570
- <span class="method-name">ip_multicast_loop=</span><span
571
- class="method-args">(value)</span>
572
-
573
- <span class="method-click-advice">click to toggle source</span>
574
-
575
- </div>
576
-
577
-
578
- <div class="method-description">
579
-
580
- <p>Enables loopback of outgoing multicasts if true. ( IP_MULTICAST_LOOP )</p>
581
-
582
-
583
-
584
-
585
- <div class="method-source-code" id="ip_multicast_loop-3D-source">
586
- <pre><span class="ruby-comment"># File lib/ionian/extension/socket.rb, line 183</span>
587
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">ip_multicast_loop=</span>(<span class="ruby-identifier">value</span>)
588
- <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>
589
- <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">&#39;C&#39;</span>)
590
- <span class="ruby-keyword">end</span></pre>
591
- </div>
592
-
593
- </div>
594
-
595
-
596
-
597
-
598
- </div>
599
-
600
-
601
- <div id="method-i-ip_multicast_loop-3F" class="method-detail method-alias">
602
-
603
- <div class="method-heading">
604
- <span class="method-name">ip_multicast_loop?</span><span
605
- class="method-args">()</span>
606
-
607
- </div>
608
-
609
-
610
- <div class="method-description">
611
-
612
-
613
-
614
-
615
-
616
-
617
- </div>
618
-
619
-
620
-
621
-
622
- <div class="aliases">
623
- Alias for: <a href="Socket.html#method-i-ip_multicast_loop">ip_multicast_loop</a>
624
- </div>
625
-
626
- </div>
627
-
628
-
629
- <div id="method-i-ip_multicast_ttl" class="method-detail ">
630
-
631
- <div class="method-heading">
632
- <span class="method-name">ip_multicast_ttl</span><span
633
- class="method-args">()</span>
634
-
635
- <span class="method-click-advice">click to toggle source</span>
636
-
637
- </div>
638
-
639
-
640
- <div class="method-description">
641
-
642
- <p>Returns the time to live (hop limit) for outgoing multicasts. (
1362
+
1363
+
1364
+ </div>
1365
+ </div>
1366
+ <div class="tags">
1367
+
1368
+
1369
+ </div><table class="source_code">
1370
+ <tr>
1371
+ <td>
1372
+ <pre class="lines">
1373
+
1374
+
1375
+ 173
1376
+ 174
1377
+ 175
1378
+ 176
1379
+ 177</pre>
1380
+ </td>
1381
+ <td>
1382
+ <pre class="code"><span class="info file"># File 'lib/ionian/extension/socket.rb', line 173</span>
1383
+
1384
+ <span class='kw'>def</span> <span class='id identifier rubyid_ip_multicast_loop'>ip_multicast_loop</span>
1385
+ <span class='id identifier rubyid_param'>param</span> <span class='op'>=</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_getsockopt'>getsockopt</span><span class='lparen'>(</span><span class='op'>::</span><span class='const'>Socket</span><span class='op'>::</span><span class='const'>IPPROTO_IP</span><span class='comma'>,</span> <span class='op'>::</span><span class='const'>Socket</span><span class='op'>::</span><span class='const'>IP_MULTICAST_LOOP</span><span class='rparen'>)</span><span class='period'>
1386
+ </span><span class='id identifier rubyid_ .data'> .data</span><span class='period'>.</span><span class='id identifier rubyid_unpack'>unpack</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>C</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_first'>first</span>
1387
+ <span class='id identifier rubyid_param'>param</span> <span class='op'>&gt;</span> <span class='int'>0</span> <span class='op'>?</span> <span class='kw'>true</span> <span class='op'>:</span> <span class='kw'>false</span>
1388
+ <span class='kw'>end</span></pre>
1389
+ </td>
1390
+ </tr>
1391
+ </table>
1392
+ </div>
1393
+
1394
+ <div class="method_details ">
1395
+ <h3 class="signature " id="ip_multicast_loop=-instance_method">
1396
+
1397
+ - (<tt>Object</tt>) <strong>ip_multicast_loop=</strong>(value)
1398
+
1399
+
1400
+
1401
+
1402
+
1403
+ </h3><div class="docstring">
1404
+ <div class="discussion">
1405
+
1406
+ <p>Enables loopback of outgoing multicasts if true. ( IP_MULTICAST_LOOP )</p>
1407
+
1408
+
1409
+ </div>
1410
+ </div>
1411
+ <div class="tags">
1412
+
1413
+
1414
+ </div><table class="source_code">
1415
+ <tr>
1416
+ <td>
1417
+ <pre class="lines">
1418
+
1419
+
1420
+ 183
1421
+ 184
1422
+ 185
1423
+ 186</pre>
1424
+ </td>
1425
+ <td>
1426
+ <pre class="code"><span class="info file"># File 'lib/ionian/extension/socket.rb', line 183</span>
1427
+
1428
+ <span class='kw'>def</span> <span class='id identifier rubyid_ip_multicast_loop='>ip_multicast_loop=</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
1429
+ <span class='id identifier rubyid_param'>param</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span> <span class='op'>?</span> <span class='int'>1</span> <span class='op'>:</span> <span class='int'>0</span>
1430
+ <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_setsockopt'>setsockopt</span> <span class='op'>::</span><span class='const'>Socket</span><span class='op'>::</span><span class='const'>IPPROTO_IP</span><span class='comma'>,</span> <span class='op'>::</span><span class='const'>Socket</span><span class='op'>::</span><span class='const'>IP_MULTICAST_LOOP</span><span class='comma'>,</span> <span class='lbracket'>[</span><span class='id identifier rubyid_param'>param</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_pack'>pack</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>C</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span>
1431
+ <span class='kw'>end</span></pre>
1432
+ </td>
1433
+ </tr>
1434
+ </table>
1435
+ </div>
1436
+
1437
+ <div class="method_details ">
1438
+ <h3 class="signature " id="ip_multicast_ttl-instance_method">
1439
+
1440
+ - (<tt>Object</tt>) <strong>ip_multicast_ttl</strong>
1441
+
1442
+
1443
+
1444
+
1445
+
1446
+ </h3><div class="docstring">
1447
+ <div class="discussion">
1448
+
1449
+ <p>Returns the time to live (hop limit) for outgoing multicasts. (
643
1450
  IP_MULTICAST_TTL )</p>
644
-
645
-
646
-
647
-
648
- <div class="method-source-code" id="ip_multicast_ttl-source">
649
- <pre><span class="ruby-comment"># File lib/ionian/extension/socket.rb, line 160</span>
650
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">ip_multicast_ttl</span>
651
- <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>)
652
- .<span class="ruby-identifier">data</span>.<span class="ruby-identifier">unpack</span>(<span class="ruby-string">&#39;C&#39;</span>).<span class="ruby-identifier">first</span>
653
- <span class="ruby-keyword">end</span></pre>
654
- </div>
655
-
656
- </div>
657
-
658
-
659
-
660
-
661
- </div>
662
-
663
-
664
- <div id="method-i-ip_multicast_ttl-3D" class="method-detail ">
665
-
666
- <div class="method-heading">
667
- <span class="method-name">ip_multicast_ttl=</span><span
668
- class="method-args">(value)</span>
669
-
670
- <span class="method-click-advice">click to toggle source</span>
671
-
672
- </div>
673
-
674
-
675
- <div class="method-description">
676
-
677
- <p>Set the time to live (hop limit) for outgoing multicasts. (
1451
+
1452
+
1453
+ </div>
1454
+ </div>
1455
+ <div class="tags">
1456
+
1457
+
1458
+ </div><table class="source_code">
1459
+ <tr>
1460
+ <td>
1461
+ <pre class="lines">
1462
+
1463
+
1464
+ 160
1465
+ 161
1466
+ 162
1467
+ 163</pre>
1468
+ </td>
1469
+ <td>
1470
+ <pre class="code"><span class="info file"># File 'lib/ionian/extension/socket.rb', line 160</span>
1471
+
1472
+ <span class='kw'>def</span> <span class='id identifier rubyid_ip_multicast_ttl'>ip_multicast_ttl</span>
1473
+ <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_getsockopt'>getsockopt</span><span class='lparen'>(</span><span class='op'>::</span><span class='const'>Socket</span><span class='op'>::</span><span class='const'>IPPROTO_IP</span><span class='comma'>,</span> <span class='op'>::</span><span class='const'>Socket</span><span class='op'>::</span><span class='const'>IP_MULTICAST_TTL</span><span class='rparen'>)</span><span class='period'>
1474
+ </span><span class='id identifier rubyid_ .data'> .data</span><span class='period'>.</span><span class='id identifier rubyid_unpack'>unpack</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>C</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_first'>first</span>
1475
+ <span class='kw'>end</span></pre>
1476
+ </td>
1477
+ </tr>
1478
+ </table>
1479
+ </div>
1480
+
1481
+ <div class="method_details ">
1482
+ <h3 class="signature " id="ip_multicast_ttl=-instance_method">
1483
+
1484
+ - (<tt>Object</tt>) <strong>ip_multicast_ttl=</strong>(value)
1485
+
1486
+
1487
+
1488
+
1489
+
1490
+ </h3><div class="docstring">
1491
+ <div class="discussion">
1492
+
1493
+ <p>Set the time to live (hop limit) for outgoing multicasts. (
678
1494
  IP_MULTICAST_TTL )</p>
679
-
680
-
681
-
682
-
683
- <div class="method-source-code" id="ip_multicast_ttl-3D-source">
684
- <pre><span class="ruby-comment"># File lib/ionian/extension/socket.rb, line 167</span>
685
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">ip_multicast_ttl=</span>(<span class="ruby-identifier">value</span>)
686
- <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">&#39;C&#39;</span>)
687
- <span class="ruby-keyword">end</span></pre>
688
- </div>
689
-
690
- </div>
691
-
692
-
693
-
694
-
695
- </div>
696
-
697
-
698
- <div id="method-i-ipv6_add_membership" class="method-detail ">
699
-
700
- <div class="method-heading">
701
- <span class="method-name">ipv6_add_membership</span><span
702
- class="method-args">()</span>
703
-
704
- <span class="method-click-advice">click to toggle source</span>
705
-
706
- </div>
707
-
708
-
709
- <div class="method-description">
710
-
711
- <p>Not yet implemented.</p>
712
-
713
-
714
-
715
-
716
- <div class="method-source-code" id="ipv6_add_membership-source">
717
- <pre><span class="ruby-comment"># File lib/ionian/extension/socket.rb, line 189</span>
718
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">ipv6_add_membership</span>
719
- <span class="ruby-comment"># TODO: Implement</span>
720
- <span class="ruby-keyword">false</span>
721
- <span class="ruby-keyword">end</span></pre>
722
- </div>
723
-
724
- </div>
725
-
726
-
727
-
728
-
729
- </div>
730
-
731
-
732
- <div id="method-i-ipv6_drop_membership" class="method-detail ">
733
-
734
- <div class="method-heading">
735
- <span class="method-name">ipv6_drop_membership</span><span
736
- class="method-args">()</span>
737
-
738
- <span class="method-click-advice">click to toggle source</span>
739
-
740
- </div>
741
-
742
-
743
- <div class="method-description">
744
-
745
- <p>Not yet implemented.</p>
746
-
747
-
748
-
749
-
750
- <div class="method-source-code" id="ipv6_drop_membership-source">
751
- <pre><span class="ruby-comment"># File lib/ionian/extension/socket.rb, line 195</span>
752
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">ipv6_drop_membership</span>
753
- <span class="ruby-comment"># TODO: Implement</span>
754
- <span class="ruby-keyword">false</span>
755
- <span class="ruby-keyword">end</span></pre>
756
- </div>
757
-
758
- </div>
759
-
760
-
761
-
762
-
763
- </div>
764
-
765
-
766
- <div id="method-i-ipv6_multicast_hops" class="method-detail ">
767
-
768
- <div class="method-heading">
769
- <span class="method-name">ipv6_multicast_hops</span><span
770
- class="method-args">()</span>
771
-
772
- <span class="method-click-advice">click to toggle source</span>
773
-
774
- </div>
775
-
776
-
777
- <div class="method-description">
778
-
779
- <p>Not yet implemented.</p>
780
-
781
-
782
-
783
-
784
- <div class="method-source-code" id="ipv6_multicast_hops-source">
785
- <pre><span class="ruby-comment"># File lib/ionian/extension/socket.rb, line 212</span>
786
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">ipv6_multicast_hops</span>
787
- <span class="ruby-comment"># TODO: Implement</span>
788
- <span class="ruby-keyword">false</span>
789
- <span class="ruby-keyword">end</span></pre>
790
- </div>
791
-
792
- </div>
793
-
794
-
795
-
796
-
797
- </div>
798
-
799
-
800
- <div id="method-i-ipv6_multicast_hops-3D" class="method-detail ">
801
-
802
- <div class="method-heading">
803
- <span class="method-name">ipv6_multicast_hops=</span><span
804
- class="method-args">(value)</span>
805
-
806
- <span class="method-click-advice">click to toggle source</span>
807
-
808
- </div>
809
-
810
-
811
- <div class="method-description">
812
-
813
- <p>Not yet implemented.</p>
814
-
815
-
816
-
817
-
818
- <div class="method-source-code" id="ipv6_multicast_hops-3D-source">
819
- <pre><span class="ruby-comment"># File lib/ionian/extension/socket.rb, line 218</span>
820
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">ipv6_multicast_hops=</span>(<span class="ruby-identifier">value</span>)
821
- <span class="ruby-comment"># TODO: Implement</span>
822
- <span class="ruby-keyword">end</span></pre>
823
- </div>
824
-
825
- </div>
826
-
827
-
828
-
829
-
830
- </div>
831
-
832
-
833
- <div id="method-i-ipv6_multicast_if" class="method-detail ">
834
-
835
- <div class="method-heading">
836
- <span class="method-name">ipv6_multicast_if</span><span
837
- class="method-args">()</span>
838
-
839
- <span class="method-click-advice">click to toggle source</span>
840
-
841
- </div>
842
-
843
-
844
- <div class="method-description">
845
-
846
- <p>Not yet implemented.</p>
847
-
848
-
849
-
850
-
851
- <div class="method-source-code" id="ipv6_multicast_if-source">
852
- <pre><span class="ruby-comment"># File lib/ionian/extension/socket.rb, line 201</span>
853
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">ipv6_multicast_if</span>
854
- <span class="ruby-comment"># TODO: Implement</span>
855
- <span class="ruby-keyword">false</span>
856
- <span class="ruby-keyword">end</span></pre>
857
- </div>
858
-
859
- </div>
860
-
861
-
862
-
863
-
864
- </div>
865
-
866
-
867
- <div id="method-i-ipv6_multicast_if-3D" class="method-detail ">
868
-
869
- <div class="method-heading">
870
- <span class="method-name">ipv6_multicast_if=</span><span
871
- class="method-args">(value)</span>
872
-
873
- <span class="method-click-advice">click to toggle source</span>
874
-
875
- </div>
876
-
877
-
878
- <div class="method-description">
879
-
880
- <p>Not yet implemented.</p>
881
-
882
-
883
-
884
-
885
- <div class="method-source-code" id="ipv6_multicast_if-3D-source">
886
- <pre><span class="ruby-comment"># File lib/ionian/extension/socket.rb, line 207</span>
887
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">ipv6_multicast_if=</span>(<span class="ruby-identifier">value</span>)
888
- <span class="ruby-comment"># TODO: Implement</span>
889
- <span class="ruby-keyword">end</span></pre>
890
- </div>
891
-
892
- </div>
893
-
894
-
895
-
896
-
897
- </div>
898
-
899
-
900
- <div id="method-i-ipv6_multicast_loop" class="method-detail ">
901
-
902
- <div class="method-heading">
903
- <span class="method-name">ipv6_multicast_loop</span><span
904
- class="method-args">()</span>
905
-
906
- <span class="method-click-advice">click to toggle source</span>
907
-
908
- </div>
909
-
910
-
911
- <div class="method-description">
912
-
913
- <p>Not yet implemented.</p>
914
-
915
-
916
-
917
-
918
- <div class="method-source-code" id="ipv6_multicast_loop-source">
919
- <pre><span class="ruby-comment"># File lib/ionian/extension/socket.rb, line 223</span>
920
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">ipv6_multicast_loop</span>
921
- <span class="ruby-comment"># TODO: Implement</span>
922
- <span class="ruby-keyword">false</span>
923
- <span class="ruby-keyword">end</span></pre>
924
- </div>
925
-
926
- </div>
927
-
928
-
929
- <div class="aliases">
930
- Also aliased as: <a href="Socket.html#method-i-ipv6_multicast_loop-3F">ipv6_multicast_loop?</a>
931
- </div>
932
-
933
-
934
-
935
- </div>
936
-
937
-
938
- <div id="method-i-ipv6_multicast_loop-3D" class="method-detail ">
939
-
940
- <div class="method-heading">
941
- <span class="method-name">ipv6_multicast_loop=</span><span
942
- class="method-args">(value)</span>
943
-
944
- <span class="method-click-advice">click to toggle source</span>
945
-
946
- </div>
947
-
948
-
949
- <div class="method-description">
950
-
951
- <p>Not yet implemented.</p>
952
-
953
-
954
-
955
-
956
- <div class="method-source-code" id="ipv6_multicast_loop-3D-source">
957
- <pre><span class="ruby-comment"># File lib/ionian/extension/socket.rb, line 231</span>
958
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">ipv6_multicast_loop=</span>(<span class="ruby-identifier">value</span>)
959
- <span class="ruby-comment"># TODO: Implement</span>
960
- <span class="ruby-keyword">end</span></pre>
961
- </div>
962
-
963
- </div>
964
-
965
-
966
-
967
-
968
- </div>
969
-
970
-
971
- <div id="method-i-ipv6_multicast_loop-3F" class="method-detail method-alias">
972
-
973
- <div class="method-heading">
974
- <span class="method-name">ipv6_multicast_loop?</span><span
975
- class="method-args">()</span>
976
-
977
- </div>
978
-
979
-
980
- <div class="method-description">
981
-
982
-
983
-
984
-
985
-
986
-
987
- </div>
988
-
989
-
990
-
991
-
992
- <div class="aliases">
993
- Alias for: <a href="Socket.html#method-i-ipv6_multicast_loop">ipv6_multicast_loop</a>
994
- </div>
995
-
996
- </div>
997
-
998
-
999
- <div id="method-i-multicast" class="method-detail ">
1000
-
1001
- <div class="method-heading">
1002
- <span class="method-name">multicast</span><span
1003
- class="method-args">(address)</span>
1004
-
1005
- <span class="method-click-advice">click to toggle source</span>
1006
-
1007
- </div>
1008
-
1009
-
1010
- <div class="method-description">
1011
-
1012
- <p>Returns true if the given address is within the multicast range.</p>
1013
-
1014
-
1015
-
1016
-
1017
- <div class="method-source-code" id="multicast-source">
1018
- <pre><span class="ruby-comment"># File lib/ionian/extension/socket.rb, line 238</span>
1019
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">multicast</span>(<span class="ruby-identifier">address</span>)
1020
- <span class="ruby-identifier">address</span> <span class="ruby-operator">&gt;=</span> <span class="ruby-string">&#39;224.0.0.0&#39;</span> <span class="ruby-keyword">and</span> <span class="ruby-identifier">address</span> <span class="ruby-operator">&lt;=</span> <span class="ruby-string">&#39;239.255.255.255&#39;</span> <span class="ruby-operator">?</span> <span class="ruby-keyword">true</span> <span class="ruby-operator">:</span> <span class="ruby-keyword">false</span>
1021
- <span class="ruby-keyword">end</span></pre>
1022
- </div>
1023
-
1024
- </div>
1025
-
1026
-
1027
- <div class="aliases">
1028
- Also aliased as: <a href="Socket.html#method-i-multicast-3F">multicast?</a>
1029
- </div>
1030
-
1031
-
1032
-
1033
- </div>
1034
-
1035
-
1036
- <div id="method-i-multicast-3F" class="method-detail method-alias">
1037
-
1038
- <div class="method-heading">
1039
- <span class="method-name">multicast?</span><span
1040
- class="method-args">(address)</span>
1041
-
1042
- </div>
1043
-
1044
-
1045
- <div class="method-description">
1046
-
1047
-
1048
-
1049
-
1050
-
1051
-
1052
- </div>
1053
-
1054
-
1055
-
1056
-
1057
- <div class="aliases">
1058
- Alias for: <a href="Socket.html#method-i-multicast">multicast</a>
1059
- </div>
1060
-
1061
- </div>
1062
-
1063
-
1064
- <div id="method-i-no_delay" class="method-detail ">
1065
-
1066
- <div class="method-heading">
1067
- <span class="method-name">no_delay</span><span
1068
- class="method-args">()</span>
1069
-
1070
- <span class="method-click-advice">click to toggle source</span>
1071
-
1072
- </div>
1073
-
1074
-
1075
- <div class="method-description">
1076
-
1077
- <p>Returns true if the Nagle algorithm is disabled. ( TCP_NODELAY )</p>
1078
-
1079
-
1080
-
1081
-
1082
- <div class="method-source-code" id="no_delay-source">
1083
- <pre><span class="ruby-comment"># File lib/ionian/extension/socket.rb, line 61</span>
1084
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">no_delay</span>
1085
- <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>)
1086
- .<span class="ruby-identifier">data</span>.<span class="ruby-identifier">unpack</span>(<span class="ruby-string">&#39;i&#39;</span>).<span class="ruby-identifier">first</span>
1087
- <span class="ruby-identifier">param</span> <span class="ruby-operator">&gt;</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>
1088
- <span class="ruby-keyword">end</span></pre>
1089
- </div>
1090
-
1091
- </div>
1092
-
1093
-
1094
- <div class="aliases">
1095
- Also aliased as: <a href="Socket.html#method-i-no_delay-3F">no_delay?</a>
1096
- </div>
1097
-
1098
-
1099
-
1100
- </div>
1101
-
1102
-
1103
- <div id="method-i-no_delay-3D" class="method-detail ">
1104
-
1105
- <div class="method-heading">
1106
- <span class="method-name">no_delay=</span><span
1107
- class="method-args">(value)</span>
1108
-
1109
- <span class="method-click-advice">click to toggle source</span>
1110
-
1111
- </div>
1112
-
1113
-
1114
- <div class="method-description">
1115
-
1116
- <p>Disables the Nagle algorithm if true. ( TCP_NODELAY )</p>
1117
-
1118
-
1119
-
1120
-
1121
- <div class="method-source-code" id="no_delay-3D-source">
1122
- <pre><span class="ruby-comment"># File lib/ionian/extension/socket.rb, line 71</span>
1123
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">no_delay=</span>(<span class="ruby-identifier">value</span>)
1124
- <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>
1125
- <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">&#39;i&#39;</span>)
1126
- <span class="ruby-keyword">end</span></pre>
1127
- </div>
1128
-
1129
- </div>
1130
-
1131
-
1132
-
1133
-
1134
- </div>
1135
-
1136
-
1137
- <div id="method-i-no_delay-3F" class="method-detail method-alias">
1138
-
1139
- <div class="method-heading">
1140
- <span class="method-name">no_delay?</span><span
1141
- class="method-args">()</span>
1142
-
1143
- </div>
1144
-
1145
-
1146
- <div class="method-description">
1147
-
1148
-
1149
-
1150
-
1151
-
1152
-
1153
- </div>
1154
-
1155
-
1156
-
1157
-
1158
- <div class="aliases">
1159
- Alias for: <a href="Socket.html#method-i-no_delay">no_delay</a>
1160
- </div>
1161
-
1162
- </div>
1163
-
1164
-
1165
- <div id="method-i-recork" class="method-detail ">
1166
-
1167
- <div class="method-heading">
1168
- <span class="method-name">recork</span><span
1169
- class="method-args">()</span>
1170
-
1171
- <span class="method-click-advice">click to toggle source</span>
1172
-
1173
- </div>
1174
-
1175
-
1176
- <div class="method-description">
1177
-
1178
- <p>Unsets cork to transmit data, then reapplies cork. ( TCP_CORK )</p>
1179
-
1180
-
1181
-
1182
-
1183
- <div class="method-source-code" id="recork-source">
1184
- <pre><span class="ruby-comment"># File lib/ionian/extension/socket.rb, line 103</span>
1185
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">recork</span>
1186
- <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">&#39;i&#39;</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">1</span>].<span class="ruby-identifier">pack</span>(<span class="ruby-string">&#39;i&#39;</span>)
1188
- <span class="ruby-keyword">end</span></pre>
1189
- </div>
1190
-
1191
- </div>
1192
-
1193
-
1194
-
1195
-
1196
- </div>
1197
-
1198
-
1199
- <div id="method-i-reuse_addr" class="method-detail ">
1200
-
1201
- <div class="method-heading">
1202
- <span class="method-name">reuse_addr</span><span
1203
- class="method-args">()</span>
1204
-
1205
- <span class="method-click-advice">click to toggle source</span>
1206
-
1207
- </div>
1208
-
1209
-
1210
- <div class="method-description">
1211
-
1212
- <p>Returns true if local address reuse is allowed. ( SO_REUSEADDR )</p>
1213
-
1214
-
1215
-
1216
-
1217
- <div class="method-source-code" id="reuse_addr-source">
1218
- <pre><span class="ruby-comment"># File lib/ionian/extension/socket.rb, line 29</span>
1219
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">reuse_addr</span>
1220
- <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>)
1221
- .<span class="ruby-identifier">data</span>.<span class="ruby-identifier">unpack</span>(<span class="ruby-string">&#39;i&#39;</span>).<span class="ruby-identifier">first</span>
1222
- <span class="ruby-identifier">param</span> <span class="ruby-operator">&gt;</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>
1223
- <span class="ruby-keyword">end</span></pre>
1224
- </div>
1225
-
1226
- </div>
1227
-
1228
-
1229
- <div class="aliases">
1230
- Also aliased as: <a href="Socket.html#method-i-reuse_addr-3F">reuse_addr?</a>
1231
- </div>
1232
-
1233
-
1234
-
1235
- </div>
1236
-
1237
-
1238
- <div id="method-i-reuse_addr-3D" class="method-detail ">
1239
-
1240
- <div class="method-heading">
1241
- <span class="method-name">reuse_addr=</span><span
1242
- class="method-args">(value)</span>
1243
-
1244
- <span class="method-click-advice">click to toggle source</span>
1245
-
1246
- </div>
1247
-
1248
-
1249
- <div class="method-description">
1250
-
1251
- <p>Allows local address reuse if true. ( SO_REUSEADDR )</p>
1252
-
1253
-
1254
-
1255
-
1256
- <div class="method-source-code" id="reuse_addr-3D-source">
1257
- <pre><span class="ruby-comment"># File lib/ionian/extension/socket.rb, line 39</span>
1258
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">reuse_addr=</span>(<span class="ruby-identifier">value</span>)
1259
- <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>
1260
- <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">&#39;i&#39;</span>)
1261
- <span class="ruby-keyword">end</span></pre>
1262
- </div>
1263
-
1264
- </div>
1265
-
1266
-
1267
-
1268
-
1269
- </div>
1270
-
1271
-
1272
- <div id="method-i-reuse_addr-3F" class="method-detail method-alias">
1273
-
1274
- <div class="method-heading">
1275
- <span class="method-name">reuse_addr?</span><span
1276
- class="method-args">()</span>
1277
-
1278
- </div>
1279
-
1280
-
1281
- <div class="method-description">
1282
-
1283
-
1284
-
1285
-
1286
-
1287
-
1288
- </div>
1289
-
1290
-
1291
-
1292
-
1293
- <div class="aliases">
1294
- Alias for: <a href="Socket.html#method-i-reuse_addr">reuse_addr</a>
1295
- </div>
1296
-
1297
- </div>
1298
-
1299
-
1300
- <div id="method-i-ttl" class="method-detail ">
1301
-
1302
- <div class="method-heading">
1303
- <span class="method-name">ttl</span><span
1304
- class="method-args">()</span>
1305
-
1306
- <span class="method-click-advice">click to toggle source</span>
1307
-
1308
- </div>
1309
-
1310
-
1311
- <div class="method-description">
1312
-
1313
- <p>Returns the time to live (hop limit). ( IP_TTL )</p>
1314
-
1315
-
1316
-
1317
-
1318
- <div class="method-source-code" id="ttl-source">
1319
- <pre><span class="ruby-comment"># File lib/ionian/extension/socket.rb, line 46</span>
1320
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">ttl</span>
1321
- <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>)
1322
- .<span class="ruby-identifier">data</span>.<span class="ruby-identifier">unpack</span>(<span class="ruby-string">&#39;i&#39;</span>).<span class="ruby-identifier">first</span>
1323
- <span class="ruby-keyword">end</span></pre>
1324
- </div>
1325
-
1326
- </div>
1327
-
1328
-
1329
- <div class="aliases">
1330
- Also aliased as: <a href="Socket.html#method-i-ttl-3F">ttl?</a>
1331
- </div>
1332
-
1333
-
1334
-
1335
- </div>
1336
-
1337
-
1338
- <div id="method-i-ttl-3D" class="method-detail ">
1339
-
1340
- <div class="method-heading">
1341
- <span class="method-name">ttl=</span><span
1342
- class="method-args">(value)</span>
1343
-
1344
- <span class="method-click-advice">click to toggle source</span>
1345
-
1346
- </div>
1347
-
1348
-
1349
- <div class="method-description">
1350
-
1351
- <p>Sets the time to live (hop limit). ( IP_TTL )</p>
1352
-
1353
-
1354
-
1355
-
1356
- <div class="method-source-code" id="ttl-3D-source">
1357
- <pre><span class="ruby-comment"># File lib/ionian/extension/socket.rb, line 55</span>
1358
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">ttl=</span>(<span class="ruby-identifier">value</span>)
1359
- <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">&#39;i&#39;</span>)
1360
- <span class="ruby-keyword">end</span></pre>
1361
- </div>
1362
-
1363
- </div>
1364
-
1365
-
1366
-
1367
-
1368
- </div>
1369
-
1370
-
1371
- <div id="method-i-ttl-3F" class="method-detail method-alias">
1372
-
1373
- <div class="method-heading">
1374
- <span class="method-name">ttl?</span><span
1375
- class="method-args">()</span>
1376
-
1377
- </div>
1378
-
1379
-
1380
- <div class="method-description">
1381
-
1382
-
1383
-
1384
-
1385
-
1386
-
1387
- </div>
1388
-
1389
-
1390
-
1391
-
1392
- <div class="aliases">
1393
- Alias for: <a href="Socket.html#method-i-ttl">ttl</a>
1394
- </div>
1395
-
1396
- </div>
1397
-
1398
-
1399
- </section>
1400
-
1401
- </section>
1402
- </main>
1403
-
1404
-
1405
- <footer id="validator-badges" role="contentinfo">
1406
- <p><a href="http://validator.w3.org/check/referer">Validate</a>
1407
- <p>Generated by <a href="http://rdoc.rubyforge.org">RDoc</a> 4.1.1.
1408
- <p>Based on <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
1409
- </footer>
1410
1495
 
1496
+
1497
+ </div>
1498
+ </div>
1499
+ <div class="tags">
1500
+
1501
+
1502
+ </div><table class="source_code">
1503
+ <tr>
1504
+ <td>
1505
+ <pre class="lines">
1506
+
1507
+
1508
+ 167
1509
+ 168
1510
+ 169</pre>
1511
+ </td>
1512
+ <td>
1513
+ <pre class="code"><span class="info file"># File 'lib/ionian/extension/socket.rb', line 167</span>
1514
+
1515
+ <span class='kw'>def</span> <span class='id identifier rubyid_ip_multicast_ttl='>ip_multicast_ttl=</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
1516
+ <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_setsockopt'>setsockopt</span> <span class='op'>::</span><span class='const'>Socket</span><span class='op'>::</span><span class='const'>IPPROTO_IP</span><span class='comma'>,</span> <span class='op'>::</span><span class='const'>Socket</span><span class='op'>::</span><span class='const'>IP_MULTICAST_TTL</span><span class='comma'>,</span> <span class='lbracket'>[</span><span class='id identifier rubyid_value'>value</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_pack'>pack</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>C</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span>
1517
+ <span class='kw'>end</span></pre>
1518
+ </td>
1519
+ </tr>
1520
+ </table>
1521
+ </div>
1522
+
1523
+ <div class="method_details ">
1524
+ <h3 class="signature " id="ipv6_add_membership-instance_method">
1525
+
1526
+ - (<tt>Object</tt>) <strong>ipv6_add_membership</strong>
1527
+
1528
+
1529
+
1530
+
1531
+
1532
+ </h3><div class="docstring">
1533
+ <div class="discussion">
1534
+
1535
+ <p>Not yet implemented.</p>
1536
+
1537
+
1538
+ </div>
1539
+ </div>
1540
+ <div class="tags">
1541
+
1542
+
1543
+ </div><table class="source_code">
1544
+ <tr>
1545
+ <td>
1546
+ <pre class="lines">
1547
+
1548
+
1549
+ 189
1550
+ 190
1551
+ 191
1552
+ 192</pre>
1553
+ </td>
1554
+ <td>
1555
+ <pre class="code"><span class="info file"># File 'lib/ionian/extension/socket.rb', line 189</span>
1556
+
1557
+ <span class='kw'>def</span> <span class='id identifier rubyid_ipv6_add_membership'>ipv6_add_membership</span>
1558
+ <span class='comment'># TODO: Implement
1559
+ </span> <span class='kw'>false</span>
1560
+ <span class='kw'>end</span></pre>
1561
+ </td>
1562
+ </tr>
1563
+ </table>
1564
+ </div>
1565
+
1566
+ <div class="method_details ">
1567
+ <h3 class="signature " id="ipv6_drop_membership-instance_method">
1568
+
1569
+ - (<tt>Object</tt>) <strong>ipv6_drop_membership</strong>
1570
+
1571
+
1572
+
1573
+
1574
+
1575
+ </h3><div class="docstring">
1576
+ <div class="discussion">
1577
+
1578
+ <p>Not yet implemented.</p>
1579
+
1580
+
1581
+ </div>
1582
+ </div>
1583
+ <div class="tags">
1584
+
1585
+
1586
+ </div><table class="source_code">
1587
+ <tr>
1588
+ <td>
1589
+ <pre class="lines">
1590
+
1591
+
1592
+ 195
1593
+ 196
1594
+ 197
1595
+ 198</pre>
1596
+ </td>
1597
+ <td>
1598
+ <pre class="code"><span class="info file"># File 'lib/ionian/extension/socket.rb', line 195</span>
1599
+
1600
+ <span class='kw'>def</span> <span class='id identifier rubyid_ipv6_drop_membership'>ipv6_drop_membership</span>
1601
+ <span class='comment'># TODO: Implement
1602
+ </span> <span class='kw'>false</span>
1603
+ <span class='kw'>end</span></pre>
1604
+ </td>
1605
+ </tr>
1606
+ </table>
1607
+ </div>
1608
+
1609
+ <div class="method_details ">
1610
+ <h3 class="signature " id="ipv6_multicast_hops-instance_method">
1611
+
1612
+ - (<tt>Object</tt>) <strong>ipv6_multicast_hops</strong>
1613
+
1614
+
1615
+
1616
+
1617
+
1618
+ </h3><div class="docstring">
1619
+ <div class="discussion">
1620
+
1621
+ <p>Not yet implemented.</p>
1622
+
1623
+
1624
+ </div>
1625
+ </div>
1626
+ <div class="tags">
1627
+
1628
+
1629
+ </div><table class="source_code">
1630
+ <tr>
1631
+ <td>
1632
+ <pre class="lines">
1633
+
1634
+
1635
+ 212
1636
+ 213
1637
+ 214
1638
+ 215</pre>
1639
+ </td>
1640
+ <td>
1641
+ <pre class="code"><span class="info file"># File 'lib/ionian/extension/socket.rb', line 212</span>
1642
+
1643
+ <span class='kw'>def</span> <span class='id identifier rubyid_ipv6_multicast_hops'>ipv6_multicast_hops</span>
1644
+ <span class='comment'># TODO: Implement
1645
+ </span> <span class='kw'>false</span>
1646
+ <span class='kw'>end</span></pre>
1647
+ </td>
1648
+ </tr>
1649
+ </table>
1650
+ </div>
1651
+
1652
+ <div class="method_details ">
1653
+ <h3 class="signature " id="ipv6_multicast_hops=-instance_method">
1654
+
1655
+ - (<tt>Object</tt>) <strong>ipv6_multicast_hops=</strong>(value)
1656
+
1657
+
1658
+
1659
+
1660
+
1661
+ </h3><div class="docstring">
1662
+ <div class="discussion">
1663
+
1664
+ <p>Not yet implemented.</p>
1665
+
1666
+
1667
+ </div>
1668
+ </div>
1669
+ <div class="tags">
1670
+
1671
+
1672
+ </div><table class="source_code">
1673
+ <tr>
1674
+ <td>
1675
+ <pre class="lines">
1676
+
1677
+
1678
+ 218
1679
+ 219
1680
+ 220</pre>
1681
+ </td>
1682
+ <td>
1683
+ <pre class="code"><span class="info file"># File 'lib/ionian/extension/socket.rb', line 218</span>
1684
+
1685
+ <span class='kw'>def</span> <span class='id identifier rubyid_ipv6_multicast_hops='>ipv6_multicast_hops=</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
1686
+ <span class='comment'># TODO: Implement
1687
+ </span><span class='kw'>end</span></pre>
1688
+ </td>
1689
+ </tr>
1690
+ </table>
1691
+ </div>
1692
+
1693
+ <div class="method_details ">
1694
+ <h3 class="signature " id="ipv6_multicast_if-instance_method">
1695
+
1696
+ - (<tt>Object</tt>) <strong>ipv6_multicast_if</strong>
1697
+
1698
+
1699
+
1700
+
1701
+
1702
+ </h3><div class="docstring">
1703
+ <div class="discussion">
1704
+
1705
+ <p>Not yet implemented.</p>
1706
+
1707
+
1708
+ </div>
1709
+ </div>
1710
+ <div class="tags">
1711
+
1712
+
1713
+ </div><table class="source_code">
1714
+ <tr>
1715
+ <td>
1716
+ <pre class="lines">
1717
+
1718
+
1719
+ 201
1720
+ 202
1721
+ 203
1722
+ 204</pre>
1723
+ </td>
1724
+ <td>
1725
+ <pre class="code"><span class="info file"># File 'lib/ionian/extension/socket.rb', line 201</span>
1726
+
1727
+ <span class='kw'>def</span> <span class='id identifier rubyid_ipv6_multicast_if'>ipv6_multicast_if</span>
1728
+ <span class='comment'># TODO: Implement
1729
+ </span> <span class='kw'>false</span>
1730
+ <span class='kw'>end</span></pre>
1731
+ </td>
1732
+ </tr>
1733
+ </table>
1734
+ </div>
1735
+
1736
+ <div class="method_details ">
1737
+ <h3 class="signature " id="ipv6_multicast_if=-instance_method">
1738
+
1739
+ - (<tt>Object</tt>) <strong>ipv6_multicast_if=</strong>(value)
1740
+
1741
+
1742
+
1743
+
1744
+
1745
+ </h3><div class="docstring">
1746
+ <div class="discussion">
1747
+
1748
+ <p>Not yet implemented.</p>
1749
+
1750
+
1751
+ </div>
1752
+ </div>
1753
+ <div class="tags">
1754
+
1755
+
1756
+ </div><table class="source_code">
1757
+ <tr>
1758
+ <td>
1759
+ <pre class="lines">
1760
+
1761
+
1762
+ 207
1763
+ 208
1764
+ 209</pre>
1765
+ </td>
1766
+ <td>
1767
+ <pre class="code"><span class="info file"># File 'lib/ionian/extension/socket.rb', line 207</span>
1768
+
1769
+ <span class='kw'>def</span> <span class='id identifier rubyid_ipv6_multicast_if='>ipv6_multicast_if=</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
1770
+ <span class='comment'># TODO: Implement
1771
+ </span><span class='kw'>end</span></pre>
1772
+ </td>
1773
+ </tr>
1774
+ </table>
1775
+ </div>
1776
+
1777
+ <div class="method_details ">
1778
+ <h3 class="signature " id="ipv6_multicast_loop-instance_method">
1779
+
1780
+ - (<tt>Object</tt>) <strong>ipv6_multicast_loop</strong>
1781
+
1782
+
1783
+
1784
+ <span class="aliases">Also known as:
1785
+ <span class="names"><span id='ipv6_multicast_loop?-instance_method'>ipv6_multicast_loop?</span></span>
1786
+ </span>
1787
+
1788
+
1789
+
1790
+ </h3><div class="docstring">
1791
+ <div class="discussion">
1792
+
1793
+ <p>Not yet implemented.</p>
1794
+
1795
+
1796
+ </div>
1797
+ </div>
1798
+ <div class="tags">
1799
+
1800
+
1801
+ </div><table class="source_code">
1802
+ <tr>
1803
+ <td>
1804
+ <pre class="lines">
1805
+
1806
+
1807
+ 223
1808
+ 224
1809
+ 225
1810
+ 226</pre>
1811
+ </td>
1812
+ <td>
1813
+ <pre class="code"><span class="info file"># File 'lib/ionian/extension/socket.rb', line 223</span>
1814
+
1815
+ <span class='kw'>def</span> <span class='id identifier rubyid_ipv6_multicast_loop'>ipv6_multicast_loop</span>
1816
+ <span class='comment'># TODO: Implement
1817
+ </span> <span class='kw'>false</span>
1818
+ <span class='kw'>end</span></pre>
1819
+ </td>
1820
+ </tr>
1821
+ </table>
1822
+ </div>
1823
+
1824
+ <div class="method_details ">
1825
+ <h3 class="signature " id="ipv6_multicast_loop=-instance_method">
1826
+
1827
+ - (<tt>Object</tt>) <strong>ipv6_multicast_loop=</strong>(value)
1828
+
1829
+
1830
+
1831
+
1832
+
1833
+ </h3><div class="docstring">
1834
+ <div class="discussion">
1835
+
1836
+ <p>Not yet implemented.</p>
1837
+
1838
+
1839
+ </div>
1840
+ </div>
1841
+ <div class="tags">
1842
+
1843
+
1844
+ </div><table class="source_code">
1845
+ <tr>
1846
+ <td>
1847
+ <pre class="lines">
1848
+
1849
+
1850
+ 231
1851
+ 232
1852
+ 233</pre>
1853
+ </td>
1854
+ <td>
1855
+ <pre class="code"><span class="info file"># File 'lib/ionian/extension/socket.rb', line 231</span>
1856
+
1857
+ <span class='kw'>def</span> <span class='id identifier rubyid_ipv6_multicast_loop='>ipv6_multicast_loop=</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
1858
+ <span class='comment'># TODO: Implement
1859
+ </span><span class='kw'>end</span></pre>
1860
+ </td>
1861
+ </tr>
1862
+ </table>
1863
+ </div>
1864
+
1865
+ <div class="method_details ">
1866
+ <h3 class="signature " id="multicast-instance_method">
1867
+
1868
+ - (<tt>Object</tt>) <strong>multicast</strong>
1869
+
1870
+
1871
+
1872
+ <span class="aliases">Also known as:
1873
+ <span class="names"><span id='multicast?-instance_method'>multicast?</span></span>
1874
+ </span>
1875
+
1876
+
1877
+
1878
+ </h3><div class="docstring">
1879
+ <div class="discussion">
1880
+
1881
+ <p>Returns true if the socket&#39;s address is in the multicast range.</p>
1882
+
1883
+
1884
+ </div>
1885
+ </div>
1886
+ <div class="tags">
1887
+
1888
+
1889
+ </div><table class="source_code">
1890
+ <tr>
1891
+ <td>
1892
+ <pre class="lines">
1893
+
1894
+
1895
+ 246
1896
+ 247
1897
+ 248</pre>
1898
+ </td>
1899
+ <td>
1900
+ <pre class="code"><span class="info file"># File 'lib/ionian/extension/socket.rb', line 246</span>
1901
+
1902
+ <span class='kw'>def</span> <span class='id identifier rubyid_multicast'>multicast</span>
1903
+ <span class='const'>Ionian</span><span class='op'>::</span><span class='const'>Extension</span><span class='op'>::</span><span class='const'>Socket</span><span class='period'>.</span><span class='id identifier rubyid_multicast'>multicast</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_remote_address'>remote_address</span><span class='period'>.</span><span class='id identifier rubyid_ip_address'>ip_address</span>
1904
+ <span class='kw'>end</span></pre>
1905
+ </td>
1906
+ </tr>
1907
+ </table>
1908
+ </div>
1909
+
1910
+ <div class="method_details ">
1911
+ <h3 class="signature " id="no_delay-instance_method">
1912
+
1913
+ - (<tt>Object</tt>) <strong>no_delay</strong>
1914
+
1915
+
1916
+
1917
+ <span class="aliases">Also known as:
1918
+ <span class="names"><span id='no_delay?-instance_method'>no_delay?</span></span>
1919
+ </span>
1920
+
1921
+
1922
+
1923
+ </h3><div class="docstring">
1924
+ <div class="discussion">
1925
+
1926
+ <p>Returns true if the Nagle algorithm is disabled. ( TCP_NODELAY )</p>
1927
+
1928
+
1929
+ </div>
1930
+ </div>
1931
+ <div class="tags">
1932
+
1933
+
1934
+ </div><table class="source_code">
1935
+ <tr>
1936
+ <td>
1937
+ <pre class="lines">
1938
+
1939
+
1940
+ 61
1941
+ 62
1942
+ 63
1943
+ 64
1944
+ 65</pre>
1945
+ </td>
1946
+ <td>
1947
+ <pre class="code"><span class="info file"># File 'lib/ionian/extension/socket.rb', line 61</span>
1948
+
1949
+ <span class='kw'>def</span> <span class='id identifier rubyid_no_delay'>no_delay</span>
1950
+ <span class='id identifier rubyid_param'>param</span> <span class='op'>=</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_getsockopt'>getsockopt</span><span class='lparen'>(</span><span class='op'>::</span><span class='const'>Socket</span><span class='op'>::</span><span class='const'>IPPROTO_TCP</span><span class='comma'>,</span> <span class='op'>::</span><span class='const'>Socket</span><span class='op'>::</span><span class='const'>TCP_NODELAY</span><span class='rparen'>)</span><span class='period'>
1951
+ </span><span class='id identifier rubyid_ .data'> .data</span><span class='period'>.</span><span class='id identifier rubyid_unpack'>unpack</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>i</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_first'>first</span>
1952
+ <span class='id identifier rubyid_param'>param</span> <span class='op'>&gt;</span> <span class='int'>0</span> <span class='op'>?</span> <span class='kw'>true</span> <span class='op'>:</span> <span class='kw'>false</span>
1953
+ <span class='kw'>end</span></pre>
1954
+ </td>
1955
+ </tr>
1956
+ </table>
1957
+ </div>
1958
+
1959
+ <div class="method_details ">
1960
+ <h3 class="signature " id="no_delay=-instance_method">
1961
+
1962
+ - (<tt>Object</tt>) <strong>no_delay=</strong>(value)
1963
+
1964
+
1965
+
1966
+
1967
+
1968
+ </h3><div class="docstring">
1969
+ <div class="discussion">
1970
+
1971
+ <p>Disables the Nagle algorithm if true. ( TCP_NODELAY )</p>
1972
+
1973
+
1974
+ </div>
1975
+ </div>
1976
+ <div class="tags">
1977
+
1978
+
1979
+ </div><table class="source_code">
1980
+ <tr>
1981
+ <td>
1982
+ <pre class="lines">
1983
+
1984
+
1985
+ 71
1986
+ 72
1987
+ 73
1988
+ 74</pre>
1989
+ </td>
1990
+ <td>
1991
+ <pre class="code"><span class="info file"># File 'lib/ionian/extension/socket.rb', line 71</span>
1992
+
1993
+ <span class='kw'>def</span> <span class='id identifier rubyid_no_delay='>no_delay=</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
1994
+ <span class='id identifier rubyid_param'>param</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span> <span class='op'>?</span> <span class='int'>1</span> <span class='op'>:</span> <span class='int'>0</span>
1995
+ <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_setsockopt'>setsockopt</span> <span class='op'>::</span><span class='const'>Socket</span><span class='op'>::</span><span class='const'>IPPROTO_TCP</span><span class='comma'>,</span> <span class='op'>::</span><span class='const'>Socket</span><span class='op'>::</span><span class='const'>TCP_NODELAY</span><span class='comma'>,</span> <span class='lbracket'>[</span><span class='id identifier rubyid_param'>param</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_pack'>pack</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>i</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span>
1996
+ <span class='kw'>end</span></pre>
1997
+ </td>
1998
+ </tr>
1999
+ </table>
2000
+ </div>
2001
+
2002
+ <div class="method_details ">
2003
+ <h3 class="signature " id="recork-instance_method">
2004
+
2005
+ - (<tt>Object</tt>) <strong>recork</strong>
2006
+
2007
+
2008
+
2009
+
2010
+
2011
+ </h3><div class="docstring">
2012
+ <div class="discussion">
2013
+
2014
+ <p>Unsets cork to transmit data, then reapplies cork. ( TCP_CORK )</p>
2015
+
2016
+
2017
+ </div>
2018
+ </div>
2019
+ <div class="tags">
2020
+
2021
+
2022
+ </div><table class="source_code">
2023
+ <tr>
2024
+ <td>
2025
+ <pre class="lines">
2026
+
2027
+
2028
+ 103
2029
+ 104
2030
+ 105
2031
+ 106</pre>
2032
+ </td>
2033
+ <td>
2034
+ <pre class="code"><span class="info file"># File 'lib/ionian/extension/socket.rb', line 103</span>
2035
+
2036
+ <span class='kw'>def</span> <span class='id identifier rubyid_recork'>recork</span>
2037
+ <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_setsockopt'>setsockopt</span> <span class='op'>::</span><span class='const'>Socket</span><span class='op'>::</span><span class='const'>IPPROTO_TCP</span><span class='comma'>,</span> <span class='op'>::</span><span class='const'>Socket</span><span class='op'>::</span><span class='const'>TCP_CORK</span><span class='comma'>,</span> <span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_pack'>pack</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>i</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span>
2038
+ <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_setsockopt'>setsockopt</span> <span class='op'>::</span><span class='const'>Socket</span><span class='op'>::</span><span class='const'>IPPROTO_TCP</span><span class='comma'>,</span> <span class='op'>::</span><span class='const'>Socket</span><span class='op'>::</span><span class='const'>TCP_CORK</span><span class='comma'>,</span> <span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_pack'>pack</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>i</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span>
2039
+ <span class='kw'>end</span></pre>
2040
+ </td>
2041
+ </tr>
2042
+ </table>
2043
+ </div>
2044
+
2045
+ <div class="method_details ">
2046
+ <h3 class="signature " id="reuse_addr-instance_method">
2047
+
2048
+ - (<tt>Object</tt>) <strong>reuse_addr</strong>
2049
+
2050
+
2051
+
2052
+ <span class="aliases">Also known as:
2053
+ <span class="names"><span id='reuse_addr?-instance_method'>reuse_addr?</span></span>
2054
+ </span>
2055
+
2056
+
2057
+
2058
+ </h3><div class="docstring">
2059
+ <div class="discussion">
2060
+
2061
+ <p>Returns true if local address reuse is allowed. ( SO_REUSEADDR )</p>
2062
+
2063
+
2064
+ </div>
2065
+ </div>
2066
+ <div class="tags">
2067
+
2068
+
2069
+ </div><table class="source_code">
2070
+ <tr>
2071
+ <td>
2072
+ <pre class="lines">
2073
+
2074
+
2075
+ 29
2076
+ 30
2077
+ 31
2078
+ 32
2079
+ 33</pre>
2080
+ </td>
2081
+ <td>
2082
+ <pre class="code"><span class="info file"># File 'lib/ionian/extension/socket.rb', line 29</span>
2083
+
2084
+ <span class='kw'>def</span> <span class='id identifier rubyid_reuse_addr'>reuse_addr</span>
2085
+ <span class='id identifier rubyid_param'>param</span> <span class='op'>=</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_getsockopt'>getsockopt</span><span class='lparen'>(</span><span class='op'>::</span><span class='const'>Socket</span><span class='op'>::</span><span class='const'>SOL_SOCKET</span><span class='comma'>,</span> <span class='op'>::</span><span class='const'>Socket</span><span class='op'>::</span><span class='const'>SO_REUSEADDR</span><span class='rparen'>)</span><span class='period'>
2086
+ </span><span class='id identifier rubyid_ .data'> .data</span><span class='period'>.</span><span class='id identifier rubyid_unpack'>unpack</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>i</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_first'>first</span>
2087
+ <span class='id identifier rubyid_param'>param</span> <span class='op'>&gt;</span> <span class='int'>0</span> <span class='op'>?</span> <span class='kw'>true</span> <span class='op'>:</span> <span class='kw'>false</span>
2088
+ <span class='kw'>end</span></pre>
2089
+ </td>
2090
+ </tr>
2091
+ </table>
2092
+ </div>
2093
+
2094
+ <div class="method_details ">
2095
+ <h3 class="signature " id="reuse_addr=-instance_method">
2096
+
2097
+ - (<tt>Object</tt>) <strong>reuse_addr=</strong>(value)
2098
+
2099
+
2100
+
2101
+
2102
+
2103
+ </h3><div class="docstring">
2104
+ <div class="discussion">
2105
+
2106
+ <p>Allows local address reuse if true. ( SO_REUSEADDR )</p>
2107
+
2108
+
2109
+ </div>
2110
+ </div>
2111
+ <div class="tags">
2112
+
2113
+
2114
+ </div><table class="source_code">
2115
+ <tr>
2116
+ <td>
2117
+ <pre class="lines">
2118
+
2119
+
2120
+ 39
2121
+ 40
2122
+ 41
2123
+ 42</pre>
2124
+ </td>
2125
+ <td>
2126
+ <pre class="code"><span class="info file"># File 'lib/ionian/extension/socket.rb', line 39</span>
2127
+
2128
+ <span class='kw'>def</span> <span class='id identifier rubyid_reuse_addr='>reuse_addr=</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
2129
+ <span class='id identifier rubyid_param'>param</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span> <span class='op'>?</span> <span class='int'>1</span> <span class='op'>:</span> <span class='int'>0</span>
2130
+ <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_setsockopt'>setsockopt</span> <span class='op'>::</span><span class='const'>Socket</span><span class='op'>::</span><span class='const'>SOL_SOCKET</span><span class='comma'>,</span> <span class='op'>::</span><span class='const'>Socket</span><span class='op'>::</span><span class='const'>SO_REUSEADDR</span><span class='comma'>,</span> <span class='lbracket'>[</span><span class='id identifier rubyid_param'>param</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_pack'>pack</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>i</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span>
2131
+ <span class='kw'>end</span></pre>
2132
+ </td>
2133
+ </tr>
2134
+ </table>
2135
+ </div>
2136
+
2137
+ <div class="method_details ">
2138
+ <h3 class="signature " id="ttl-instance_method">
2139
+
2140
+ - (<tt>Object</tt>) <strong>ttl</strong>
2141
+
2142
+
2143
+
2144
+ <span class="aliases">Also known as:
2145
+ <span class="names"><span id='ttl?-instance_method'>ttl?</span></span>
2146
+ </span>
2147
+
2148
+
2149
+
2150
+ </h3><div class="docstring">
2151
+ <div class="discussion">
2152
+
2153
+ <p>Returns the time to live (hop limit). ( IP_TTL )</p>
2154
+
2155
+
2156
+ </div>
2157
+ </div>
2158
+ <div class="tags">
2159
+
2160
+
2161
+ </div><table class="source_code">
2162
+ <tr>
2163
+ <td>
2164
+ <pre class="lines">
2165
+
2166
+
2167
+ 46
2168
+ 47
2169
+ 48
2170
+ 49</pre>
2171
+ </td>
2172
+ <td>
2173
+ <pre class="code"><span class="info file"># File 'lib/ionian/extension/socket.rb', line 46</span>
2174
+
2175
+ <span class='kw'>def</span> <span class='id identifier rubyid_ttl'>ttl</span>
2176
+ <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_getsockopt'>getsockopt</span><span class='lparen'>(</span><span class='op'>::</span><span class='const'>Socket</span><span class='op'>::</span><span class='const'>IPPROTO_IP</span><span class='comma'>,</span> <span class='op'>::</span><span class='const'>Socket</span><span class='op'>::</span><span class='const'>IP_TTL</span><span class='rparen'>)</span><span class='period'>
2177
+ </span><span class='id identifier rubyid_ .data'> .data</span><span class='period'>.</span><span class='id identifier rubyid_unpack'>unpack</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>i</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_first'>first</span>
2178
+ <span class='kw'>end</span></pre>
2179
+ </td>
2180
+ </tr>
2181
+ </table>
2182
+ </div>
2183
+
2184
+ <div class="method_details ">
2185
+ <h3 class="signature " id="ttl=-instance_method">
2186
+
2187
+ - (<tt>Object</tt>) <strong>ttl=</strong>(value)
2188
+
2189
+
2190
+
2191
+
2192
+
2193
+ </h3><div class="docstring">
2194
+ <div class="discussion">
2195
+
2196
+ <p>Sets the time to live (hop limit). ( IP_TTL )</p>
2197
+
2198
+
2199
+ </div>
2200
+ </div>
2201
+ <div class="tags">
2202
+
2203
+
2204
+ </div><table class="source_code">
2205
+ <tr>
2206
+ <td>
2207
+ <pre class="lines">
2208
+
2209
+
2210
+ 55
2211
+ 56
2212
+ 57</pre>
2213
+ </td>
2214
+ <td>
2215
+ <pre class="code"><span class="info file"># File 'lib/ionian/extension/socket.rb', line 55</span>
2216
+
2217
+ <span class='kw'>def</span> <span class='id identifier rubyid_ttl='>ttl=</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
2218
+ <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_setsockopt'>setsockopt</span> <span class='op'>::</span><span class='const'>Socket</span><span class='op'>::</span><span class='const'>IPPROTO_IP</span><span class='comma'>,</span> <span class='op'>::</span><span class='const'>Socket</span><span class='op'>::</span><span class='const'>IP_TTL</span><span class='comma'>,</span> <span class='lbracket'>[</span><span class='id identifier rubyid_value'>value</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_pack'>pack</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>i</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span>
2219
+ <span class='kw'>end</span></pre>
2220
+ </td>
2221
+ </tr>
2222
+ </table>
2223
+ </div>
2224
+
2225
+ </div>
2226
+
2227
+ </div>
2228
+
2229
+ <div id="footer">
2230
+ Generated on Sat Mar 15 21:04:54 2014 by
2231
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
2232
+ 0.8.7.3 (ruby-2.1.1).
2233
+ </div>
2234
+
2235
+ </body>
2236
+ </html>