doc/Ionian/Extension/Socket.html in ionian-0.6.3 vs doc/Ionian/Extension/Socket.html in ionian-0.6.4

- old
+ new

@@ -1,1410 +1,2236 @@ -<!DOCTYPE html> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> +<title> + Module: Ionian::Extension::Socket + + &mdash; Documentation by YARD 0.8.7.3 + +</title> -<html> -<head> -<meta charset="UTF-8"> + <link rel="stylesheet" href="../../css/style.css" type="text/css" charset="utf-8" /> -<title>module Ionian::Extension::Socket - RDoc Documentation</title> + <link rel="stylesheet" href="../../css/common.css" type="text/css" charset="utf-8" /> -<link href="../../fonts.css" rel="stylesheet"> -<link href="../../rdoc.css" rel="stylesheet"> - -<script type="text/javascript"> - var rdoc_rel_prefix = "../../"; +<script type="text/javascript" charset="utf-8"> + hasFrames = window.top.frames.main ? true : false; + relpath = '../../'; + framesUrl = "../../frames.html#!" + escape(window.location.href); </script> -<script src="../../js/jquery.js"></script> -<script src="../../js/navigation.js"></script> -<script src="../../js/search_index.js"></script> -<script src="../../js/search.js"></script> -<script src="../../js/searcher.js"></script> -<script src="../../js/darkfish.js"></script> + <script type="text/javascript" charset="utf-8" src="../../js/jquery.js"></script> -<body id="top" role="document" class="module"> -<nav role="navigation"> - <div id="project-navigation"> - <div id="home-section" role="region" title="Quick navigation" class="nav-section"> - <h2> - <a href="../../index.html" rel="home">Home</a> - </h2> + <script type="text/javascript" charset="utf-8" src="../../js/app.js"></script> - <div id="table-of-contents-navigation"> - <a href="../../table_of_contents.html#pages">Pages</a> - <a href="../../table_of_contents.html#classes">Classes</a> - <a href="../../table_of_contents.html#methods">Methods</a> - </div> + + </head> + <body> + <div id="header"> + <div id="menu"> + + <a href="../../_index.html">Index (S)</a> &raquo; + <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> + &raquo; + <span class="title">Socket</span> + + + <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div> </div> - <div id="search-section" role="search" class="project-section initially-hidden"> - <form action="#" method="get" accept-charset="utf-8"> - <div id="search-field-wrapper"> - <input id="search-field" role="combobox" aria-label="Search" - aria-autocomplete="list" aria-controls="search-results" - type="text" name="search" placeholder="Search" spellcheck="false" - title="Type to search, Up and Down to navigate, Enter to load"> + <div id="search"> + + <a class="full_list_link" id="class_list_link" + href="../../class_list.html"> + Class List + </a> + + <a class="full_list_link" id="method_list_link" + href="../../method_list.html"> + Method List + </a> + + <a class="full_list_link" id="file_list_link" + href="../../file_list.html"> + File List + </a> + +</div> + <div class="clear"></div> </div> - <ul id="search-results" aria-label="Search Results" - aria-busy="false" aria-expanded="false" - aria-atomic="false" class="initially-hidden"></ul> - </form> -</div> + <iframe id="search_frame"></iframe> + <div id="content"><h1>Module: Ionian::Extension::Socket + + + +</h1> + +<dl class="box"> + + + + + + + + + <dt class="r1 last">Defined in:</dt> + <dd class="r1 last">lib/ionian/extension/socket.rb</dd> + +</dl> +<div class="clear"></div> + +<h2>Overview</h2><div class="docstring"> + <div class="discussion"> + +<p>A mixin for Socket objects.</p> + +<p>This module was designed to be extended by instantiated objects that +implement the standard library Socket class. my_socket.extend +Ionian::Socket</p> + +<p>Extending this module also extends Ionian::IO.</p> + + </div> +</div> +<div class="tags"> + +</div> + + + + + + + <h2> + Class Method Summary + <small>(<a href="#" class="summary_toggle">collapse</a>)</small> + </h2> - <div id="class-metadata"> + <ul class="summary"> + + <li class="public "> + <span class="summary_signature"> + <a href="#extended-class_method" title="extended (class method)">+ (Object) <strong>extended</strong>(obj) </a> + - <div id="extends-section" class="nav-section"> - <h3>Extended With Modules</h3> + </span> + + + + + + + - <ul class="link-list"> + + <span class="summary_desc"><div class='inline'> +<p>Called automaticallly when the object is extended with #extend.</p> +</div></span> + +</li> + + + <li class="public "> + <span class="summary_signature"> + <a href="#multicast-class_method" title="multicast (class method)">+ (Object) <strong>multicast</strong>(address) </a> + + + + </span> - <li><a class="extend" href="IO.html">Ionian::Extension::IO</a> - </ul> -</div> + + + + - <!-- Method Quickref --> -<div id="method-list-section" class="nav-section"> - <h3>Methods</h3> + + <span class="summary_desc"><div class='inline'> +<p>Returns true if the given address is within the multicast range.</p> +</div></span> + +</li> - <ul class="link-list" role="directory"> + + <li class="public "> + <span class="summary_signature"> - <li ><a href="#method-c-extended">::extended</a> + <a href="#multicast%3F-class_method" title="multicast? (class method)">+ (Object) <strong>multicast?</strong> </a> - <li ><a href="#method-i-cork">#cork</a> + - <li ><a href="#method-i-cork-3D">#cork=</a> + </span> + + + + + + + + + + <span class="summary_desc"><div class='inline'> +<p>Returns true if the given address is within the multicast range.</p> +</div></span> + +</li> + + + </ul> + + <h2> + Instance Method Summary + <small>(<a href="#" class="summary_toggle">collapse</a>)</small> + </h2> + + <ul class="summary"> + + <li class="public "> + <span class="summary_signature"> - <li ><a href="#method-i-cork-3F">#cork?</a> + <a href="#cork-instance_method" title="#cork (instance method)">- (Object) <strong>cork</strong> </a> - <li ><a href="#method-i-initialize_ionian_socket">#initialize_ionian_socket</a> + - <li ><a href="#method-i-ip_add_membership">#ip_add_membership</a> + (also: #cork?) - <li ><a href="#method-i-ip_drop_membership">#ip_drop_membership</a> + </span> + + + + + + + + + + <span class="summary_desc"><div class='inline'> +<p>Returns true if multiple writes are buffered into a single segment.</p> +</div></span> + +</li> + + + <li class="public "> + <span class="summary_signature"> - <li ><a href="#method-i-ip_multicast_if">#ip_multicast_if</a> + <a href="#cork%3D-instance_method" title="#cork= (instance method)">- (Object) <strong>cork=</strong>(value) </a> - <li ><a href="#method-i-ip_multicast_if-3D">#ip_multicast_if=</a> + - <li ><a href="#method-i-ip_multicast_loop">#ip_multicast_loop</a> + </span> + + + + + + + + + + <span class="summary_desc"><div class='inline'> +<p>Buffers multiple writes into a single segment if true.</p> +</div></span> + +</li> + + + <li class="public "> + <span class="summary_signature"> - <li ><a href="#method-i-ip_multicast_loop-3D">#ip_multicast_loop=</a> + <a href="#initialize_ionian_socket-instance_method" title="#initialize_ionian_socket (instance method)">- (Object) <strong>initialize_ionian_socket</strong> </a> - <li ><a href="#method-i-ip_multicast_loop-3F">#ip_multicast_loop?</a> + - <li ><a href="#method-i-ip_multicast_ttl">#ip_multicast_ttl</a> + </span> + + + + + + + + + + <span class="summary_desc"><div class='inline'> +<p>Initialize the Ionian Socket variables.</p> +</div></span> + +</li> + + + <li class="public "> + <span class="summary_signature"> - <li ><a href="#method-i-ip_multicast_ttl-3D">#ip_multicast_ttl=</a> + <a href="#ip_add_membership-instance_method" title="#ip_add_membership (instance method)">- (Object) <strong>ip_add_membership</strong>(address = nil, interface = nil) </a> - <li ><a href="#method-i-ipv6_add_membership">#ipv6_add_membership</a> + - <li ><a href="#method-i-ipv6_drop_membership">#ipv6_drop_membership</a> + </span> + + + + + + + + + + <span class="summary_desc"><div class='inline'> +<p>Join a multicast group.</p> +</div></span> + +</li> + + + <li class="public "> + <span class="summary_signature"> - <li ><a href="#method-i-ipv6_multicast_hops">#ipv6_multicast_hops</a> + <a href="#ip_drop_membership-instance_method" title="#ip_drop_membership (instance method)">- (Object) <strong>ip_drop_membership</strong>(address = nil, interface = nil) </a> - <li ><a href="#method-i-ipv6_multicast_hops-3D">#ipv6_multicast_hops=</a> + - <li ><a href="#method-i-ipv6_multicast_if">#ipv6_multicast_if</a> + </span> + + + + + + + + + + <span class="summary_desc"><div class='inline'> +<p>Leave a multicast group.</p> +</div></span> + +</li> + + + <li class="public "> + <span class="summary_signature"> - <li ><a href="#method-i-ipv6_multicast_if-3D">#ipv6_multicast_if=</a> + <a href="#ip_multicast_if-instance_method" title="#ip_multicast_if (instance method)">- (Object) <strong>ip_multicast_if</strong> </a> - <li ><a href="#method-i-ipv6_multicast_loop">#ipv6_multicast_loop</a> + - <li ><a href="#method-i-ipv6_multicast_loop-3D">#ipv6_multicast_loop=</a> + </span> + + + + + + + + + + <span class="summary_desc"><div class='inline'> +<p>Returns the default interface for outgoing multicasts.</p> +</div></span> + +</li> + + + <li class="public "> + <span class="summary_signature"> - <li ><a href="#method-i-ipv6_multicast_loop-3F">#ipv6_multicast_loop?</a> + <a href="#ip_multicast_if%3D-instance_method" title="#ip_multicast_if= (instance method)">- (Object) <strong>ip_multicast_if=</strong>(interface = nil) </a> - <li ><a href="#method-i-multicast">#multicast</a> + - <li ><a href="#method-i-multicast-3F">#multicast?</a> + </span> + + + + + + + + + + <span class="summary_desc"><div class='inline'> +<p>Specify default interface for outgoing multicasts.</p> +</div></span> + +</li> + + + <li class="public "> + <span class="summary_signature"> - <li ><a href="#method-i-no_delay">#no_delay</a> + <a href="#ip_multicast_loop-instance_method" title="#ip_multicast_loop (instance method)">- (Object) <strong>ip_multicast_loop</strong> </a> - <li ><a href="#method-i-no_delay-3D">#no_delay=</a> + - <li ><a href="#method-i-no_delay-3F">#no_delay?</a> + (also: #ip_multicast_loop?) - <li ><a href="#method-i-recork">#recork</a> + </span> + + + + + + + + + + <span class="summary_desc"><div class='inline'> +<p>Returns true if loopback of outgoing multicasts is enabled.</p> +</div></span> + +</li> + + + <li class="public "> + <span class="summary_signature"> - <li ><a href="#method-i-reuse_addr">#reuse_addr</a> + <a href="#ip_multicast_loop%3D-instance_method" title="#ip_multicast_loop= (instance method)">- (Object) <strong>ip_multicast_loop=</strong>(value) </a> - <li ><a href="#method-i-reuse_addr-3D">#reuse_addr=</a> + - <li ><a href="#method-i-reuse_addr-3F">#reuse_addr?</a> + </span> + + + + + + + + + + <span class="summary_desc"><div class='inline'> +<p>Enables loopback of outgoing multicasts if true.</p> +</div></span> + +</li> + + + <li class="public "> + <span class="summary_signature"> - <li ><a href="#method-i-ttl">#ttl</a> + <a href="#ip_multicast_ttl-instance_method" title="#ip_multicast_ttl (instance method)">- (Object) <strong>ip_multicast_ttl</strong> </a> - <li ><a href="#method-i-ttl-3D">#ttl=</a> + - <li ><a href="#method-i-ttl-3F">#ttl?</a> + </span> + + + + + + + + + + <span class="summary_desc"><div class='inline'> +<p>Returns the time to live (hop limit) for outgoing multicasts.</p> +</div></span> + +</li> + + + <li class="public "> + <span class="summary_signature"> - </ul> -</div> + <a href="#ip_multicast_ttl%3D-instance_method" title="#ip_multicast_ttl= (instance method)">- (Object) <strong>ip_multicast_ttl=</strong>(value) </a> + - </div> -</nav> + + </span> + + + + + + + -<main role="main" aria-labelledby="module-Ionian::Extension::Socket"> - <h1 id="module-Ionian::Extension::Socket" class="module"> - module Ionian::Extension::Socket - </h1> + + <span class="summary_desc"><div class='inline'> +<p>Set the time to live (hop limit) for outgoing multicasts.</p> +</div></span> + +</li> - <section class="description"> + + <li class="public "> + <span class="summary_signature"> -<p>A mixin for <a href="Socket.html">Socket</a> objects.</p> + <a href="#ipv6_add_membership-instance_method" title="#ipv6_add_membership (instance method)">- (Object) <strong>ipv6_add_membership</strong> </a> + -<p>This module was designed to be extended by instantiated objects that -implement the standard library <a href="Socket.html">Socket</a> class. -my_socket.extend <a href="../Socket.html">Ionian::Socket</a></p> + + </span> + + + + + + + -<p>Extending this module also extends Ionian::IO.</p> + + <span class="summary_desc"><div class='inline'> +<p>Not yet implemented.</p> +</div></span> + +</li> - </section> + + <li class="public "> + <span class="summary_signature"> + + <a href="#ipv6_drop_membership-instance_method" title="#ipv6_drop_membership (instance method)">- (Object) <strong>ipv6_drop_membership</strong> </a> + + + </span> - <section id="5Buntitled-5D" class="documentation-section"> + + + + + + + <span class="summary_desc"><div class='inline'> +<p>Not yet implemented.</p> +</div></span> + +</li> + + + <li class="public "> + <span class="summary_signature"> + <a href="#ipv6_multicast_hops-instance_method" title="#ipv6_multicast_hops (instance method)">- (Object) <strong>ipv6_multicast_hops</strong> </a> + + </span> + + + + + + + + + <span class="summary_desc"><div class='inline'> +<p>Not yet implemented.</p> +</div></span> + +</li> + + + <li class="public "> + <span class="summary_signature"> + <a href="#ipv6_multicast_hops%3D-instance_method" title="#ipv6_multicast_hops= (instance method)">- (Object) <strong>ipv6_multicast_hops=</strong>(value) </a> + + </span> + + + + + + + + + <span class="summary_desc"><div class='inline'> +<p>Not yet implemented.</p> +</div></span> + +</li> + + + <li class="public "> + <span class="summary_signature"> - <section id="public-class-5Buntitled-5D-method-details" class="method-section"> - <header> - <h3>Public Class Methods</h3> - </header> + <a href="#ipv6_multicast_if-instance_method" title="#ipv6_multicast_if (instance method)">- (Object) <strong>ipv6_multicast_if</strong> </a> + - <div id="method-c-extended" class="method-detail "> - - <div class="method-heading"> - <span class="method-name">extended</span><span - class="method-args">(obj)</span> - - <span class="method-click-advice">click to toggle source</span> - - </div> - + </span> + + + + + + + - <div class="method-description"> - - <p>Called automaticallly when the object is extended with extend.</p> - - + + <span class="summary_desc"><div class='inline'> +<p>Not yet implemented.</p> +</div></span> + +</li> - - <div class="method-source-code" id="extended-source"> - <pre><span class="ruby-comment"># File lib/ionian/extension/socket.rb, line 17</span> -<span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">extended</span>(<span class="ruby-identifier">obj</span>) - <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> - <span class="ruby-identifier">obj</span>.<span class="ruby-identifier">initialize_ionian_socket</span> -<span class="ruby-keyword">end</span></pre> - </div> - - </div> + + <li class="public "> + <span class="summary_signature"> + + <a href="#ipv6_multicast_if%3D-instance_method" title="#ipv6_multicast_if= (instance method)">- (Object) <strong>ipv6_multicast_if=</strong>(value) </a> + - + + </span> + + + + + + + - - </div> + + <span class="summary_desc"><div class='inline'> +<p>Not yet implemented.</p> +</div></span> + +</li> + + <li class="public "> + <span class="summary_signature"> - </section> + <a href="#ipv6_multicast_loop-instance_method" title="#ipv6_multicast_loop (instance method)">- (Object) <strong>ipv6_multicast_loop</strong> </a> + + + + (also: #ipv6_multicast_loop?) + + </span> - <section id="public-instance-5Buntitled-5D-method-details" class="method-section"> - <header> - <h3>Public Instance Methods</h3> - </header> + + + + + + + + <span class="summary_desc"><div class='inline'> +<p>Not yet implemented.</p> +</div></span> + +</li> + + + <li class="public "> + <span class="summary_signature"> - <div id="method-i-cork" class="method-detail "> - - <div class="method-heading"> - <span class="method-name">cork</span><span - class="method-args">()</span> - - <span class="method-click-advice">click to toggle source</span> - - </div> - + <a href="#ipv6_multicast_loop%3D-instance_method" title="#ipv6_multicast_loop= (instance method)">- (Object) <strong>ipv6_multicast_loop=</strong>(value) </a> + - <div class="method-description"> - - <p>Returns true if multiple writes are buffered into a single segment. See <a -href="Socket.html#method-i-recork">recork</a>. Linux only. ( TCP_CORK )</p> - - + + </span> + + + + + + + - - <div class="method-source-code" id="cork-source"> - <pre><span class="ruby-comment"># File lib/ionian/extension/socket.rb, line 80</span> -<span class="ruby-keyword">def</span> <span class="ruby-identifier">cork</span> - <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>) - .<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> - <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> -<span class="ruby-keyword">end</span></pre> - </div> - - </div> + + <span class="summary_desc"><div class='inline'> +<p>Not yet implemented.</p> +</div></span> + +</li> - - <div class="aliases"> - Also aliased as: <a href="Socket.html#method-i-cork-3F">cork?</a> - </div> - + + <li class="public "> + <span class="summary_signature"> + + <a href="#multicast-instance_method" title="#multicast (instance method)">- (Object) <strong>multicast</strong> </a> + - - </div> + + (also: #multicast?) + + </span> + + + + + + + + + <span class="summary_desc"><div class='inline'> +<p>Returns true if the socket&#39;s address is in the multicast range.</p> +</div></span> + +</li> + + + <li class="public "> + <span class="summary_signature"> - <div id="method-i-cork-3D" class="method-detail "> - - <div class="method-heading"> - <span class="method-name">cork=</span><span - class="method-args">(value)</span> - - <span class="method-click-advice">click to toggle source</span> - - </div> - + <a href="#no_delay-instance_method" title="#no_delay (instance method)">- (Object) <strong>no_delay</strong> </a> + - <div class="method-description"> - - <p>Buffers multiple writes into a single segment if true. The segment is sent -once the cork flag is disabled, the upper limit on the size of a segment is -reached, the socket is closed, or 200ms elapses from the time the first -corked byte is written. See <a -href="Socket.html#method-i-recork">recork</a>. Linux only. ( TCP_CORK )</p> - - + + (also: #no_delay?) + + </span> + + + + + + + - - <div class="method-source-code" id="cork-3D-source"> - <pre><span class="ruby-comment"># File lib/ionian/extension/socket.rb, line 96</span> -<span class="ruby-keyword">def</span> <span class="ruby-identifier">cork=</span>(<span class="ruby-identifier">value</span>) - <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> - <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>) -<span class="ruby-keyword">end</span></pre> - </div> - - </div> + + <span class="summary_desc"><div class='inline'> +<p>Returns true if the Nagle algorithm is disabled.</p> +</div></span> + +</li> - + + <li class="public "> + <span class="summary_signature"> + + <a href="#no_delay%3D-instance_method" title="#no_delay= (instance method)">- (Object) <strong>no_delay=</strong>(value) </a> + - - </div> + + </span> + + + + + + + + + <span class="summary_desc"><div class='inline'> +<p>Disables the Nagle algorithm if true.</p> +</div></span> + +</li> + + + <li class="public "> + <span class="summary_signature"> - <div id="method-i-cork-3F" class="method-detail method-alias"> - - <div class="method-heading"> - <span class="method-name">cork?</span><span - class="method-args">()</span> - - </div> - + <a href="#recork-instance_method" title="#recork (instance method)">- (Object) <strong>recork</strong> </a> + - <div class="method-description"> - - - - + + </span> + + + + + + + - - </div> + + <span class="summary_desc"><div class='inline'> +<p>Unsets cork to transmit data, then reapplies cork.</p> +</div></span> + +</li> - + + <li class="public "> + <span class="summary_signature"> + + <a href="#reuse_addr-instance_method" title="#reuse_addr (instance method)">- (Object) <strong>reuse_addr</strong> </a> + - - <div class="aliases"> - Alias for: <a href="Socket.html#method-i-cork">cork</a> - </div> - - </div> + + (also: #reuse_addr?) + + </span> + + + + + + + + + <span class="summary_desc"><div class='inline'> +<p>Returns true if local address reuse is allowed.</p> +</div></span> + +</li> + + + <li class="public "> + <span class="summary_signature"> - <div id="method-i-initialize_ionian_socket" class="method-detail "> - - <div class="method-heading"> - <span class="method-name">initialize_ionian_socket</span><span - class="method-args">()</span> - - <span class="method-click-advice">click to toggle source</span> - - </div> - + <a href="#reuse_addr%3D-instance_method" title="#reuse_addr= (instance method)">- (Object) <strong>reuse_addr=</strong>(value) </a> + - <div class="method-description"> - - <p>Initialize the <a href="../../Ionian.html">Ionian</a> <a -href="Socket.html">Socket</a> variables. This is called automatically if -extend is called on an object.</p> - - + + </span> + + + + + + + - - <div class="method-source-code" id="initialize_ionian_socket-source"> - <pre><span class="ruby-comment"># File lib/ionian/extension/socket.rb, line 24</span> -<span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize_ionian_socket</span> -<span class="ruby-keyword">end</span></pre> - </div> - - </div> + + <span class="summary_desc"><div class='inline'> +<p>Allows local address reuse if true.</p> +</div></span> + +</li> - + + <li class="public "> + <span class="summary_signature"> + + <a href="#ttl-instance_method" title="#ttl (instance method)">- (Object) <strong>ttl</strong> </a> + - - </div> + + (also: #ttl?) + + </span> + + + + + + + + + <span class="summary_desc"><div class='inline'> +<p>Returns the time to live (hop limit).</p> +</div></span> + +</li> + + + <li class="public "> + <span class="summary_signature"> - <div id="method-i-ip_add_membership" class="method-detail "> - - <div class="method-heading"> - <span class="method-name">ip_add_membership</span><span - class="method-args">(address = nil, interface = nil)</span> - - <span class="method-click-advice">click to toggle source</span> - - </div> - + <a href="#ttl%3D-instance_method" title="#ttl= (instance method)">- (Object) <strong>ttl=</strong>(value) </a> + - <div class="method-description"> - - <p>Join a multicast group. Address is the class D multicast address (uses + + </span> + + + + + + + + + + <span class="summary_desc"><div class='inline'> +<p>Sets the time to live (hop limit).</p> +</div></span> + +</li> + + + </ul> + + + + + <div id="class_method_details" class="method_details_list"> + <h2>Class Method Details</h2> + + + <div class="method_details first"> + <h3 class="signature first" id="extended-class_method"> + + + (<tt>Object</tt>) <strong>extended</strong>(obj) + + + + + +</h3><div class="docstring"> + <div class="discussion"> + +<p>Called automaticallly when the object is extended with #extend.</p> + + + </div> +</div> +<div class="tags"> + + +</div><table class="source_code"> + <tr> + <td> + <pre class="lines"> + + +17 +18 +19 +20</pre> + </td> + <td> + <pre class="code"><span class="info file"># File 'lib/ionian/extension/socket.rb', line 17</span> + +<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> + <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> + <span class='id identifier rubyid_obj'>obj</span><span class='period'>.</span><span class='id identifier rubyid_initialize_ionian_socket'>initialize_ionian_socket</span> +<span class='kw'>end</span></pre> + </td> + </tr> +</table> +</div> + + <div class="method_details "> + <h3 class="signature " id="multicast-class_method"> + + + (<tt>Object</tt>) <strong>multicast</strong>(address) + + + + + +</h3><div class="docstring"> + <div class="discussion"> + +<p>Returns true if the given address is within the multicast range.</p> + + + </div> +</div> +<div class="tags"> + + +</div><table class="source_code"> + <tr> + <td> + <pre class="lines"> + + +238 +239 +240</pre> + </td> + <td> + <pre class="code"><span class="info file"># File 'lib/ionian/extension/socket.rb', line 238</span> + +<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> + <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> +<span class='kw'>end</span></pre> + </td> + </tr> +</table> +</div> + + <div class="method_details "> + <h3 class="signature " id="multicast?-class_method"> + + + (<tt>Object</tt>) <strong>multicast?</strong> + + + + + +</h3><div class="docstring"> + <div class="discussion"> + +<p>Returns true if the given address is within the multicast range.</p> + + + </div> +</div> +<div class="tags"> + + +</div><table class="source_code"> + <tr> + <td> + <pre class="lines"> + + +242 +243 +244</pre> + </td> + <td> + <pre class="code"><span class="info file"># File 'lib/ionian/extension/socket.rb', line 242</span> + +<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> + <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> +<span class='kw'>end</span></pre> + </td> + </tr> +</table> +</div> + + </div> + + <div id="instance_method_details" class="method_details_list"> + <h2>Instance Method Details</h2> + + + <div class="method_details first"> + <h3 class="signature first" id="cork-instance_method"> + + - (<tt>Object</tt>) <strong>cork</strong> + + + + <span class="aliases">Also known as: + <span class="names"><span id='cork?-instance_method'>cork?</span></span> + </span> + + + +</h3><div class="docstring"> + <div class="discussion"> + +<p>Returns true if multiple writes are buffered into a single segment. See +#recork. Linux only. ( TCP_CORK )</p> + + + </div> +</div> +<div class="tags"> + + +</div><table class="source_code"> + <tr> + <td> + <pre class="lines"> + + +80 +81 +82 +83 +84</pre> + </td> + <td> + <pre class="code"><span class="info file"># File 'lib/ionian/extension/socket.rb', line 80</span> + +<span class='kw'>def</span> <span class='id identifier rubyid_cork'>cork</span> + <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'> +</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> + <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> +<span class='kw'>end</span></pre> + </td> + </tr> +</table> +</div> + + <div class="method_details "> + <h3 class="signature " id="cork=-instance_method"> + + - (<tt>Object</tt>) <strong>cork=</strong>(value) + + + + + +</h3><div class="docstring"> + <div class="discussion"> + +<p>Buffers multiple writes into a single segment if true. The segment is sent +once the cork flag is disabled, the upper limit on the size of a segment is +reached, the socket is closed, or 200ms elapses from the time the first +corked byte is written. See #recork. Linux only. ( TCP_CORK )</p> + + + </div> +</div> +<div class="tags"> + + +</div><table class="source_code"> + <tr> + <td> + <pre class="lines"> + + +96 +97 +98 +99</pre> + </td> + <td> + <pre class="code"><span class="info file"># File 'lib/ionian/extension/socket.rb', line 96</span> + +<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> + <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> + <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> +<span class='kw'>end</span></pre> + </td> + </tr> +</table> +</div> + + <div class="method_details "> + <h3 class="signature " id="initialize_ionian_socket-instance_method"> + + - (<tt>Object</tt>) <strong>initialize_ionian_socket</strong> + + + + + +</h3><div class="docstring"> + <div class="discussion"> + +<p>Initialize the Ionian Socket variables. This is called automatically if +#extend is called on an object.</p> + + + </div> +</div> +<div class="tags"> + + +</div><table class="source_code"> + <tr> + <td> + <pre class="lines"> + + +24 +25</pre> + </td> + <td> + <pre class="code"><span class="info file"># File 'lib/ionian/extension/socket.rb', line 24</span> + +<span class='kw'>def</span> <span class='id identifier rubyid_initialize_ionian_socket'>initialize_ionian_socket</span> +<span class='kw'>end</span></pre> + </td> + </tr> +</table> +</div> + + <div class="method_details "> + <h3 class="signature " id="ip_add_membership-instance_method"> + + - (<tt>Object</tt>) <strong>ip_add_membership</strong>(address = nil, interface = nil) + + + + + +</h3><div class="docstring"> + <div class="discussion"> + +<p>Join a multicast group. Address is the class D multicast address (uses remote address if not specified). Interface is the local network interface to receive the multicast traffic on (all interfaces if not specified). ( IP_ADD_MEMBERSHIP )</p> - - - - <div class="method-source-code" id="ip_add_membership-source"> - <pre><span class="ruby-comment"># File lib/ionian/extension/socket.rb, line 114</span> -<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>) - <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> - <span class="ruby-identifier">interface</span> <span class="ruby-operator">||=</span> <span class="ruby-string">&#39;0.0.0.0&#39;</span> - - <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_ADD_MEMBERSHIP</span>, - <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> - <span class="ruby-keyword">end</span></pre> - </div> - - </div> - + </div> +</div> +<div class="tags"> + - - </div> +</div><table class="source_code"> + <tr> + <td> + <pre class="lines"> + +114 +115 +116 +117 +118 +119 +120 +121 +122</pre> + </td> + <td> + <pre class="code"><span class="info file"># File 'lib/ionian/extension/socket.rb', line 114</span> + +<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> + <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> + <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> + + <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_ADD_MEMBERSHIP</span><span class='comma'>,</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_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> +<span class='kw'>end</span></pre> + </td> + </tr> +</table> +</div> - <div id="method-i-ip_drop_membership" class="method-detail "> - - <div class="method-heading"> - <span class="method-name">ip_drop_membership</span><span - class="method-args">(address = nil, interface = nil)</span> - - <span class="method-click-advice">click to toggle source</span> - - </div> - + <div class="method_details "> + <h3 class="signature " id="ip_drop_membership-instance_method"> + + - (<tt>Object</tt>) <strong>ip_drop_membership</strong>(address = nil, interface = nil) + - <div class="method-description"> - - <p>Leave a multicast group. Address is the class D multicast address (uses + + + +</h3><div class="docstring"> + <div class="discussion"> + +<p>Leave a multicast group. Address is the class D multicast address (uses remote address if not specified). Interface is the local network interface the multicast traffic is received on (all interfaces if not specified). ( IP_DROP_MEMBERSHIP )</p> - - - - <div class="method-source-code" id="ip_drop_membership-source"> - <pre><span class="ruby-comment"># File lib/ionian/extension/socket.rb, line 130</span> -<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>) - <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> - <span class="ruby-identifier">interface</span> <span class="ruby-operator">||=</span> <span class="ruby-string">&#39;0.0.0.0&#39;</span> + + </div> +</div> +<div class="tags"> - <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_DROP_MEMBERSHIP</span>, - <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> -<span class="ruby-keyword">end</span></pre> - </div> - - </div> - +</div><table class="source_code"> + <tr> + <td> + <pre class="lines"> - - </div> +130 +131 +132 +133 +134 +135 +136 +137 +138</pre> + </td> + <td> + <pre class="code"><span class="info file"># File 'lib/ionian/extension/socket.rb', line 130</span> + +<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> + <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> + <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> + + <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_DROP_MEMBERSHIP</span><span class='comma'>,</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_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> +<span class='kw'>end</span></pre> + </td> + </tr> +</table> +</div> - <div id="method-i-ip_multicast_if" class="method-detail "> - - <div class="method-heading"> - <span class="method-name">ip_multicast_if</span><span - class="method-args">()</span> - - <span class="method-click-advice">click to toggle source</span> - - </div> - + <div class="method_details "> + <h3 class="signature " id="ip_multicast_if-instance_method"> + + - (<tt>Object</tt>) <strong>ip_multicast_if</strong> + - <div class="method-description"> - - <p>Returns the default interface for outgoing multicasts. ( IP_MULTICAST_IF )</p> - - + - - <div class="method-source-code" id="ip_multicast_if-source"> - <pre><span class="ruby-comment"># File lib/ionian/extension/socket.rb, line 142</span> -<span class="ruby-keyword">def</span> <span class="ruby-identifier">ip_multicast_if</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_IF</span>) - .<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>) -<span class="ruby-keyword">end</span></pre> - </div> - - </div> + +</h3><div class="docstring"> + <div class="discussion"> + +<p>Returns the default interface for outgoing multicasts. ( IP_MULTICAST_IF )</p> - - - </div> + </div> +</div> +<div class="tags"> + +</div><table class="source_code"> + <tr> + <td> + <pre class="lines"> + + +142 +143 +144 +145</pre> + </td> + <td> + <pre class="code"><span class="info file"># File 'lib/ionian/extension/socket.rb', line 142</span> + +<span class='kw'>def</span> <span class='id identifier rubyid_ip_multicast_if'>ip_multicast_if</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_IF</span><span class='rparen'>)</span><span class='period'> +</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> +<span class='kw'>end</span></pre> + </td> + </tr> +</table> +</div> - <div id="method-i-ip_multicast_if-3D" class="method-detail "> - - <div class="method-heading"> - <span class="method-name">ip_multicast_if=</span><span - class="method-args">(interface = nil)</span> - - <span class="method-click-advice">click to toggle source</span> - - </div> - + <div class="method_details "> + <h3 class="signature " id="ip_multicast_if=-instance_method"> + + - (<tt>Object</tt>) <strong>ip_multicast_if=</strong>(interface = nil) + - <div class="method-description"> - - <p>Specify default interface for outgoing multicasts. ( IP_MULTICAST_IF )</p> - - + - - <div class="method-source-code" id="ip_multicast_if-3D-source"> - <pre><span class="ruby-comment"># File lib/ionian/extension/socket.rb, line 149</span> -<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>) - <span class="ruby-identifier">interface</span> <span class="ruby-operator">||=</span> <span class="ruby-string">&#39;0.0.0.0&#39;</span> - <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_IF</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> -<span class="ruby-keyword">end</span></pre> - </div> - - </div> +</h3><div class="docstring"> + <div class="discussion"> + +<p>Specify default interface for outgoing multicasts. ( IP_MULTICAST_IF )</p> - - - </div> + </div> +</div> +<div class="tags"> + - - <div id="method-i-ip_multicast_loop" class="method-detail "> - - <div class="method-heading"> - <span class="method-name">ip_multicast_loop</span><span - class="method-args">()</span> - - <span class="method-click-advice">click to toggle source</span> - - </div> - +</div><table class="source_code"> + <tr> + <td> + <pre class="lines"> - <div class="method-description"> - - <p>Returns true if loopback of outgoing multicasts is enabled. ( -IP_MULTICAST_LOOP )</p> - - - - <div class="method-source-code" id="ip_multicast_loop-source"> - <pre><span class="ruby-comment"># File lib/ionian/extension/socket.rb, line 173</span> -<span class="ruby-keyword">def</span> <span class="ruby-identifier">ip_multicast_loop</span> - <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>) - .<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> - <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> -<span class="ruby-keyword">end</span></pre> - </div> - - </div> +149 +150 +151 +152 +153 +154 +155 +156</pre> + </td> + <td> + <pre class="code"><span class="info file"># File 'lib/ionian/extension/socket.rb', line 149</span> - - <div class="aliases"> - Also aliased as: <a href="Socket.html#method-i-ip_multicast_loop-3F">ip_multicast_loop?</a> - </div> - +<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> + <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> + + <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_IF</span><span class='comma'>,</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> +<span class='kw'>end</span></pre> + </td> + </tr> +</table> +</div> + + <div class="method_details "> + <h3 class="signature " id="ip_multicast_loop-instance_method"> + + - (<tt>Object</tt>) <strong>ip_multicast_loop</strong> + - - </div> + + <span class="aliases">Also known as: + <span class="names"><span id='ip_multicast_loop?-instance_method'>ip_multicast_loop?</span></span> + </span> + + +</h3><div class="docstring"> + <div class="discussion"> - <div id="method-i-ip_multicast_loop-3D" class="method-detail "> - - <div class="method-heading"> - <span class="method-name">ip_multicast_loop=</span><span - class="method-args">(value)</span> - - <span class="method-click-advice">click to toggle source</span> - - </div> - +<p>Returns true if loopback of outgoing multicasts is enabled. ( +IP_MULTICAST_LOOP )</p> - <div class="method-description"> - - <p>Enables loopback of outgoing multicasts if true. ( IP_MULTICAST_LOOP )</p> - - - - <div class="method-source-code" id="ip_multicast_loop-3D-source"> - <pre><span class="ruby-comment"># File lib/ionian/extension/socket.rb, line 183</span> -<span class="ruby-keyword">def</span> <span class="ruby-identifier">ip_multicast_loop=</span>(<span class="ruby-identifier">value</span>) - <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> - <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>) -<span class="ruby-keyword">end</span></pre> - </div> - - </div> + </div> +</div> +<div class="tags"> + - +</div><table class="source_code"> + <tr> + <td> + <pre class="lines"> - - </div> +173 +174 +175 +176 +177</pre> + </td> + <td> + <pre class="code"><span class="info file"># File 'lib/ionian/extension/socket.rb', line 173</span> + +<span class='kw'>def</span> <span class='id identifier rubyid_ip_multicast_loop'>ip_multicast_loop</span> + <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'> +</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> + <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> +<span class='kw'>end</span></pre> + </td> + </tr> +</table> +</div> - <div id="method-i-ip_multicast_loop-3F" class="method-detail method-alias"> - - <div class="method-heading"> - <span class="method-name">ip_multicast_loop?</span><span - class="method-args">()</span> - - </div> - + <div class="method_details "> + <h3 class="signature " id="ip_multicast_loop=-instance_method"> + + - (<tt>Object</tt>) <strong>ip_multicast_loop=</strong>(value) + - <div class="method-description"> - - - - + - - </div> + +</h3><div class="docstring"> + <div class="discussion"> + +<p>Enables loopback of outgoing multicasts if true. ( IP_MULTICAST_LOOP )</p> - - - <div class="aliases"> - Alias for: <a href="Socket.html#method-i-ip_multicast_loop">ip_multicast_loop</a> - </div> - - </div> + </div> +</div> +<div class="tags"> + +</div><table class="source_code"> + <tr> + <td> + <pre class="lines"> + + +183 +184 +185 +186</pre> + </td> + <td> + <pre class="code"><span class="info file"># File 'lib/ionian/extension/socket.rb', line 183</span> + +<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> + <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> + <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> +<span class='kw'>end</span></pre> + </td> + </tr> +</table> +</div> - <div id="method-i-ip_multicast_ttl" class="method-detail "> - - <div class="method-heading"> - <span class="method-name">ip_multicast_ttl</span><span - class="method-args">()</span> - - <span class="method-click-advice">click to toggle source</span> - - </div> - + <div class="method_details "> + <h3 class="signature " id="ip_multicast_ttl-instance_method"> + + - (<tt>Object</tt>) <strong>ip_multicast_ttl</strong> + - <div class="method-description"> - - <p>Returns the time to live (hop limit) for outgoing multicasts. ( + + + +</h3><div class="docstring"> + <div class="discussion"> + +<p>Returns the time to live (hop limit) for outgoing multicasts. ( IP_MULTICAST_TTL )</p> - - - - <div class="method-source-code" id="ip_multicast_ttl-source"> - <pre><span class="ruby-comment"># File lib/ionian/extension/socket.rb, line 160</span> -<span class="ruby-keyword">def</span> <span class="ruby-identifier">ip_multicast_ttl</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_TTL</span>) - .<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> -<span class="ruby-keyword">end</span></pre> - </div> - - </div> - + </div> +</div> +<div class="tags"> + - - </div> +</div><table class="source_code"> + <tr> + <td> + <pre class="lines"> + +160 +161 +162 +163</pre> + </td> + <td> + <pre class="code"><span class="info file"># File 'lib/ionian/extension/socket.rb', line 160</span> + +<span class='kw'>def</span> <span class='id identifier rubyid_ip_multicast_ttl'>ip_multicast_ttl</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_TTL</span><span class='rparen'>)</span><span class='period'> +</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> +<span class='kw'>end</span></pre> + </td> + </tr> +</table> +</div> - <div id="method-i-ip_multicast_ttl-3D" class="method-detail "> - - <div class="method-heading"> - <span class="method-name">ip_multicast_ttl=</span><span - class="method-args">(value)</span> - - <span class="method-click-advice">click to toggle source</span> - - </div> - + <div class="method_details "> + <h3 class="signature " id="ip_multicast_ttl=-instance_method"> + + - (<tt>Object</tt>) <strong>ip_multicast_ttl=</strong>(value) + - <div class="method-description"> - - <p>Set the time to live (hop limit) for outgoing multicasts. ( + + + +</h3><div class="docstring"> + <div class="discussion"> + +<p>Set the time to live (hop limit) for outgoing multicasts. ( IP_MULTICAST_TTL )</p> - - - - <div class="method-source-code" id="ip_multicast_ttl-3D-source"> - <pre><span class="ruby-comment"># File lib/ionian/extension/socket.rb, line 167</span> -<span class="ruby-keyword">def</span> <span class="ruby-identifier">ip_multicast_ttl=</span>(<span class="ruby-identifier">value</span>) - <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>) -<span class="ruby-keyword">end</span></pre> - </div> - - </div> - + </div> +</div> +<div class="tags"> + - - </div> +</div><table class="source_code"> + <tr> + <td> + <pre class="lines"> + +167 +168 +169</pre> + </td> + <td> + <pre class="code"><span class="info file"># File 'lib/ionian/extension/socket.rb', line 167</span> + +<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> + <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> +<span class='kw'>end</span></pre> + </td> + </tr> +</table> +</div> - <div id="method-i-ipv6_add_membership" class="method-detail "> - - <div class="method-heading"> - <span class="method-name">ipv6_add_membership</span><span - class="method-args">()</span> - - <span class="method-click-advice">click to toggle source</span> - - </div> - + <div class="method_details "> + <h3 class="signature " id="ipv6_add_membership-instance_method"> + + - (<tt>Object</tt>) <strong>ipv6_add_membership</strong> + - <div class="method-description"> - - <p>Not yet implemented.</p> - - + - - <div class="method-source-code" id="ipv6_add_membership-source"> - <pre><span class="ruby-comment"># File lib/ionian/extension/socket.rb, line 189</span> -<span class="ruby-keyword">def</span> <span class="ruby-identifier">ipv6_add_membership</span> - <span class="ruby-comment"># TODO: Implement</span> - <span class="ruby-keyword">false</span> -<span class="ruby-keyword">end</span></pre> - </div> - - </div> + +</h3><div class="docstring"> + <div class="discussion"> + +<p>Not yet implemented.</p> - - - </div> + </div> +</div> +<div class="tags"> + - - <div id="method-i-ipv6_drop_membership" class="method-detail "> - - <div class="method-heading"> - <span class="method-name">ipv6_drop_membership</span><span - class="method-args">()</span> - - <span class="method-click-advice">click to toggle source</span> - - </div> - +</div><table class="source_code"> + <tr> + <td> + <pre class="lines"> - <div class="method-description"> - - <p>Not yet implemented.</p> - - - - <div class="method-source-code" id="ipv6_drop_membership-source"> - <pre><span class="ruby-comment"># File lib/ionian/extension/socket.rb, line 195</span> -<span class="ruby-keyword">def</span> <span class="ruby-identifier">ipv6_drop_membership</span> - <span class="ruby-comment"># TODO: Implement</span> - <span class="ruby-keyword">false</span> -<span class="ruby-keyword">end</span></pre> - </div> - - </div> +189 +190 +191 +192</pre> + </td> + <td> + <pre class="code"><span class="info file"># File 'lib/ionian/extension/socket.rb', line 189</span> - +<span class='kw'>def</span> <span class='id identifier rubyid_ipv6_add_membership'>ipv6_add_membership</span> + <span class='comment'># TODO: Implement +</span> <span class='kw'>false</span> +<span class='kw'>end</span></pre> + </td> + </tr> +</table> +</div> + + <div class="method_details "> + <h3 class="signature " id="ipv6_drop_membership-instance_method"> + + - (<tt>Object</tt>) <strong>ipv6_drop_membership</strong> + - - </div> + + +</h3><div class="docstring"> + <div class="discussion"> - <div id="method-i-ipv6_multicast_hops" class="method-detail "> - - <div class="method-heading"> - <span class="method-name">ipv6_multicast_hops</span><span - class="method-args">()</span> - - <span class="method-click-advice">click to toggle source</span> - - </div> - +<p>Not yet implemented.</p> - <div class="method-description"> - - <p>Not yet implemented.</p> - - - - <div class="method-source-code" id="ipv6_multicast_hops-source"> - <pre><span class="ruby-comment"># File lib/ionian/extension/socket.rb, line 212</span> -<span class="ruby-keyword">def</span> <span class="ruby-identifier">ipv6_multicast_hops</span> - <span class="ruby-comment"># TODO: Implement</span> - <span class="ruby-keyword">false</span> -<span class="ruby-keyword">end</span></pre> - </div> - - </div> + </div> +</div> +<div class="tags"> + - +</div><table class="source_code"> + <tr> + <td> + <pre class="lines"> - - </div> +195 +196 +197 +198</pre> + </td> + <td> + <pre class="code"><span class="info file"># File 'lib/ionian/extension/socket.rb', line 195</span> + +<span class='kw'>def</span> <span class='id identifier rubyid_ipv6_drop_membership'>ipv6_drop_membership</span> + <span class='comment'># TODO: Implement +</span> <span class='kw'>false</span> +<span class='kw'>end</span></pre> + </td> + </tr> +</table> +</div> - <div id="method-i-ipv6_multicast_hops-3D" class="method-detail "> - - <div class="method-heading"> - <span class="method-name">ipv6_multicast_hops=</span><span - class="method-args">(value)</span> - - <span class="method-click-advice">click to toggle source</span> - - </div> - + <div class="method_details "> + <h3 class="signature " id="ipv6_multicast_hops-instance_method"> + + - (<tt>Object</tt>) <strong>ipv6_multicast_hops</strong> + - <div class="method-description"> - - <p>Not yet implemented.</p> - - + - - <div class="method-source-code" id="ipv6_multicast_hops-3D-source"> - <pre><span class="ruby-comment"># File lib/ionian/extension/socket.rb, line 218</span> -<span class="ruby-keyword">def</span> <span class="ruby-identifier">ipv6_multicast_hops=</span>(<span class="ruby-identifier">value</span>) - <span class="ruby-comment"># TODO: Implement</span> -<span class="ruby-keyword">end</span></pre> - </div> - - </div> + +</h3><div class="docstring"> + <div class="discussion"> + +<p>Not yet implemented.</p> - - - </div> + </div> +</div> +<div class="tags"> + - - <div id="method-i-ipv6_multicast_if" class="method-detail "> - - <div class="method-heading"> - <span class="method-name">ipv6_multicast_if</span><span - class="method-args">()</span> - - <span class="method-click-advice">click to toggle source</span> - - </div> - +</div><table class="source_code"> + <tr> + <td> + <pre class="lines"> - <div class="method-description"> - - <p>Not yet implemented.</p> - - - - <div class="method-source-code" id="ipv6_multicast_if-source"> - <pre><span class="ruby-comment"># File lib/ionian/extension/socket.rb, line 201</span> -<span class="ruby-keyword">def</span> <span class="ruby-identifier">ipv6_multicast_if</span> - <span class="ruby-comment"># TODO: Implement</span> - <span class="ruby-keyword">false</span> -<span class="ruby-keyword">end</span></pre> - </div> - - </div> +212 +213 +214 +215</pre> + </td> + <td> + <pre class="code"><span class="info file"># File 'lib/ionian/extension/socket.rb', line 212</span> - +<span class='kw'>def</span> <span class='id identifier rubyid_ipv6_multicast_hops'>ipv6_multicast_hops</span> + <span class='comment'># TODO: Implement +</span> <span class='kw'>false</span> +<span class='kw'>end</span></pre> + </td> + </tr> +</table> +</div> + + <div class="method_details "> + <h3 class="signature " id="ipv6_multicast_hops=-instance_method"> + + - (<tt>Object</tt>) <strong>ipv6_multicast_hops=</strong>(value) + - - </div> + + +</h3><div class="docstring"> + <div class="discussion"> - <div id="method-i-ipv6_multicast_if-3D" class="method-detail "> - - <div class="method-heading"> - <span class="method-name">ipv6_multicast_if=</span><span - class="method-args">(value)</span> - - <span class="method-click-advice">click to toggle source</span> - - </div> - +<p>Not yet implemented.</p> - <div class="method-description"> - - <p>Not yet implemented.</p> - - - - <div class="method-source-code" id="ipv6_multicast_if-3D-source"> - <pre><span class="ruby-comment"># File lib/ionian/extension/socket.rb, line 207</span> -<span class="ruby-keyword">def</span> <span class="ruby-identifier">ipv6_multicast_if=</span>(<span class="ruby-identifier">value</span>) - <span class="ruby-comment"># TODO: Implement</span> -<span class="ruby-keyword">end</span></pre> - </div> - - </div> + </div> +</div> +<div class="tags"> + - +</div><table class="source_code"> + <tr> + <td> + <pre class="lines"> - - </div> +218 +219 +220</pre> + </td> + <td> + <pre class="code"><span class="info file"># File 'lib/ionian/extension/socket.rb', line 218</span> + +<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> + <span class='comment'># TODO: Implement +</span><span class='kw'>end</span></pre> + </td> + </tr> +</table> +</div> - <div id="method-i-ipv6_multicast_loop" class="method-detail "> - - <div class="method-heading"> - <span class="method-name">ipv6_multicast_loop</span><span - class="method-args">()</span> - - <span class="method-click-advice">click to toggle source</span> - - </div> - + <div class="method_details "> + <h3 class="signature " id="ipv6_multicast_if-instance_method"> + + - (<tt>Object</tt>) <strong>ipv6_multicast_if</strong> + - <div class="method-description"> - - <p>Not yet implemented.</p> - - + - - <div class="method-source-code" id="ipv6_multicast_loop-source"> - <pre><span class="ruby-comment"># File lib/ionian/extension/socket.rb, line 223</span> -<span class="ruby-keyword">def</span> <span class="ruby-identifier">ipv6_multicast_loop</span> - <span class="ruby-comment"># TODO: Implement</span> - <span class="ruby-keyword">false</span> -<span class="ruby-keyword">end</span></pre> - </div> - - </div> + +</h3><div class="docstring"> + <div class="discussion"> + +<p>Not yet implemented.</p> - - <div class="aliases"> - Also aliased as: <a href="Socket.html#method-i-ipv6_multicast_loop-3F">ipv6_multicast_loop?</a> - </div> - - - </div> + </div> +</div> +<div class="tags"> + - - <div id="method-i-ipv6_multicast_loop-3D" class="method-detail "> - - <div class="method-heading"> - <span class="method-name">ipv6_multicast_loop=</span><span - class="method-args">(value)</span> - - <span class="method-click-advice">click to toggle source</span> - - </div> - +</div><table class="source_code"> + <tr> + <td> + <pre class="lines"> - <div class="method-description"> - - <p>Not yet implemented.</p> - - - - <div class="method-source-code" id="ipv6_multicast_loop-3D-source"> - <pre><span class="ruby-comment"># File lib/ionian/extension/socket.rb, line 231</span> -<span class="ruby-keyword">def</span> <span class="ruby-identifier">ipv6_multicast_loop=</span>(<span class="ruby-identifier">value</span>) - <span class="ruby-comment"># TODO: Implement</span> -<span class="ruby-keyword">end</span></pre> - </div> - - </div> +201 +202 +203 +204</pre> + </td> + <td> + <pre class="code"><span class="info file"># File 'lib/ionian/extension/socket.rb', line 201</span> - +<span class='kw'>def</span> <span class='id identifier rubyid_ipv6_multicast_if'>ipv6_multicast_if</span> + <span class='comment'># TODO: Implement +</span> <span class='kw'>false</span> +<span class='kw'>end</span></pre> + </td> + </tr> +</table> +</div> + + <div class="method_details "> + <h3 class="signature " id="ipv6_multicast_if=-instance_method"> + + - (<tt>Object</tt>) <strong>ipv6_multicast_if=</strong>(value) + - - </div> + + +</h3><div class="docstring"> + <div class="discussion"> - <div id="method-i-ipv6_multicast_loop-3F" class="method-detail method-alias"> - - <div class="method-heading"> - <span class="method-name">ipv6_multicast_loop?</span><span - class="method-args">()</span> - - </div> - +<p>Not yet implemented.</p> - <div class="method-description"> - - - - - - </div> + </div> +</div> +<div class="tags"> + - +</div><table class="source_code"> + <tr> + <td> + <pre class="lines"> - - <div class="aliases"> - Alias for: <a href="Socket.html#method-i-ipv6_multicast_loop">ipv6_multicast_loop</a> - </div> - - </div> +207 +208 +209</pre> + </td> + <td> + <pre class="code"><span class="info file"># File 'lib/ionian/extension/socket.rb', line 207</span> + +<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> + <span class='comment'># TODO: Implement +</span><span class='kw'>end</span></pre> + </td> + </tr> +</table> +</div> - <div id="method-i-multicast" class="method-detail "> - - <div class="method-heading"> - <span class="method-name">multicast</span><span - class="method-args">(address)</span> - - <span class="method-click-advice">click to toggle source</span> - - </div> - + <div class="method_details "> + <h3 class="signature " id="ipv6_multicast_loop-instance_method"> + + - (<tt>Object</tt>) <strong>ipv6_multicast_loop</strong> + - <div class="method-description"> - - <p>Returns true if the given address is within the multicast range.</p> - - + + <span class="aliases">Also known as: + <span class="names"><span id='ipv6_multicast_loop?-instance_method'>ipv6_multicast_loop?</span></span> + </span> + - - <div class="method-source-code" id="multicast-source"> - <pre><span class="ruby-comment"># File lib/ionian/extension/socket.rb, line 238</span> -<span class="ruby-keyword">def</span> <span class="ruby-identifier">multicast</span>(<span class="ruby-identifier">address</span>) - <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> -<span class="ruby-keyword">end</span></pre> - </div> - - </div> + +</h3><div class="docstring"> + <div class="discussion"> + +<p>Not yet implemented.</p> - - <div class="aliases"> - Also aliased as: <a href="Socket.html#method-i-multicast-3F">multicast?</a> - </div> - - - </div> + </div> +</div> +<div class="tags"> + - - <div id="method-i-multicast-3F" class="method-detail method-alias"> - - <div class="method-heading"> - <span class="method-name">multicast?</span><span - class="method-args">(address)</span> - - </div> - +</div><table class="source_code"> + <tr> + <td> + <pre class="lines"> - <div class="method-description"> - - - - - - </div> +223 +224 +225 +226</pre> + </td> + <td> + <pre class="code"><span class="info file"># File 'lib/ionian/extension/socket.rb', line 223</span> - +<span class='kw'>def</span> <span class='id identifier rubyid_ipv6_multicast_loop'>ipv6_multicast_loop</span> + <span class='comment'># TODO: Implement +</span> <span class='kw'>false</span> +<span class='kw'>end</span></pre> + </td> + </tr> +</table> +</div> + + <div class="method_details "> + <h3 class="signature " id="ipv6_multicast_loop=-instance_method"> + + - (<tt>Object</tt>) <strong>ipv6_multicast_loop=</strong>(value) + - - <div class="aliases"> - Alias for: <a href="Socket.html#method-i-multicast">multicast</a> - </div> - - </div> + + +</h3><div class="docstring"> + <div class="discussion"> - <div id="method-i-no_delay" class="method-detail "> - - <div class="method-heading"> - <span class="method-name">no_delay</span><span - class="method-args">()</span> - - <span class="method-click-advice">click to toggle source</span> - - </div> - +<p>Not yet implemented.</p> - <div class="method-description"> - - <p>Returns true if the Nagle algorithm is disabled. ( TCP_NODELAY )</p> - - - - <div class="method-source-code" id="no_delay-source"> - <pre><span class="ruby-comment"># File lib/ionian/extension/socket.rb, line 61</span> -<span class="ruby-keyword">def</span> <span class="ruby-identifier">no_delay</span> - <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>) - .<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> - <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> -<span class="ruby-keyword">end</span></pre> - </div> - - </div> + </div> +</div> +<div class="tags"> + - - <div class="aliases"> - Also aliased as: <a href="Socket.html#method-i-no_delay-3F">no_delay?</a> - </div> - +</div><table class="source_code"> + <tr> + <td> + <pre class="lines"> - - </div> +231 +232 +233</pre> + </td> + <td> + <pre class="code"><span class="info file"># File 'lib/ionian/extension/socket.rb', line 231</span> + +<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> + <span class='comment'># TODO: Implement +</span><span class='kw'>end</span></pre> + </td> + </tr> +</table> +</div> - <div id="method-i-no_delay-3D" class="method-detail "> - - <div class="method-heading"> - <span class="method-name">no_delay=</span><span - class="method-args">(value)</span> - - <span class="method-click-advice">click to toggle source</span> - - </div> - + <div class="method_details "> + <h3 class="signature " id="multicast-instance_method"> + + - (<tt>Object</tt>) <strong>multicast</strong> + - <div class="method-description"> - - <p>Disables the Nagle algorithm if true. ( TCP_NODELAY )</p> - - + + <span class="aliases">Also known as: + <span class="names"><span id='multicast?-instance_method'>multicast?</span></span> + </span> + - - <div class="method-source-code" id="no_delay-3D-source"> - <pre><span class="ruby-comment"># File lib/ionian/extension/socket.rb, line 71</span> -<span class="ruby-keyword">def</span> <span class="ruby-identifier">no_delay=</span>(<span class="ruby-identifier">value</span>) - <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> - <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>) -<span class="ruby-keyword">end</span></pre> - </div> - - </div> + +</h3><div class="docstring"> + <div class="discussion"> + +<p>Returns true if the socket&#39;s address is in the multicast range.</p> - - - </div> + </div> +</div> +<div class="tags"> + - - <div id="method-i-no_delay-3F" class="method-detail method-alias"> - - <div class="method-heading"> - <span class="method-name">no_delay?</span><span - class="method-args">()</span> - - </div> - +</div><table class="source_code"> + <tr> + <td> + <pre class="lines"> - <div class="method-description"> - - - - - - </div> +246 +247 +248</pre> + </td> + <td> + <pre class="code"><span class="info file"># File 'lib/ionian/extension/socket.rb', line 246</span> - +<span class='kw'>def</span> <span class='id identifier rubyid_multicast'>multicast</span> + <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> +<span class='kw'>end</span></pre> + </td> + </tr> +</table> +</div> + + <div class="method_details "> + <h3 class="signature " id="no_delay-instance_method"> + + - (<tt>Object</tt>) <strong>no_delay</strong> + - - <div class="aliases"> - Alias for: <a href="Socket.html#method-i-no_delay">no_delay</a> - </div> - - </div> + + <span class="aliases">Also known as: + <span class="names"><span id='no_delay?-instance_method'>no_delay?</span></span> + </span> + + +</h3><div class="docstring"> + <div class="discussion"> - <div id="method-i-recork" class="method-detail "> - - <div class="method-heading"> - <span class="method-name">recork</span><span - class="method-args">()</span> - - <span class="method-click-advice">click to toggle source</span> - - </div> - +<p>Returns true if the Nagle algorithm is disabled. ( TCP_NODELAY )</p> - <div class="method-description"> - - <p>Unsets cork to transmit data, then reapplies cork. ( TCP_CORK )</p> - - - - <div class="method-source-code" id="recork-source"> - <pre><span class="ruby-comment"># File lib/ionian/extension/socket.rb, line 103</span> -<span class="ruby-keyword">def</span> <span class="ruby-identifier">recork</span> - <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>) - <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>) -<span class="ruby-keyword">end</span></pre> - </div> - - </div> + </div> +</div> +<div class="tags"> + - +</div><table class="source_code"> + <tr> + <td> + <pre class="lines"> - - </div> +61 +62 +63 +64 +65</pre> + </td> + <td> + <pre class="code"><span class="info file"># File 'lib/ionian/extension/socket.rb', line 61</span> + +<span class='kw'>def</span> <span class='id identifier rubyid_no_delay'>no_delay</span> + <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'> +</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> + <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> +<span class='kw'>end</span></pre> + </td> + </tr> +</table> +</div> - <div id="method-i-reuse_addr" class="method-detail "> - - <div class="method-heading"> - <span class="method-name">reuse_addr</span><span - class="method-args">()</span> - - <span class="method-click-advice">click to toggle source</span> - - </div> - + <div class="method_details "> + <h3 class="signature " id="no_delay=-instance_method"> + + - (<tt>Object</tt>) <strong>no_delay=</strong>(value) + - <div class="method-description"> - - <p>Returns true if local address reuse is allowed. ( SO_REUSEADDR )</p> - - + - - <div class="method-source-code" id="reuse_addr-source"> - <pre><span class="ruby-comment"># File lib/ionian/extension/socket.rb, line 29</span> -<span class="ruby-keyword">def</span> <span class="ruby-identifier">reuse_addr</span> - <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>) - .<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> - <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> -<span class="ruby-keyword">end</span></pre> - </div> - - </div> + +</h3><div class="docstring"> + <div class="discussion"> + +<p>Disables the Nagle algorithm if true. ( TCP_NODELAY )</p> - - <div class="aliases"> - Also aliased as: <a href="Socket.html#method-i-reuse_addr-3F">reuse_addr?</a> - </div> - - - </div> + </div> +</div> +<div class="tags"> + - - <div id="method-i-reuse_addr-3D" class="method-detail "> - - <div class="method-heading"> - <span class="method-name">reuse_addr=</span><span - class="method-args">(value)</span> - - <span class="method-click-advice">click to toggle source</span> - - </div> - +</div><table class="source_code"> + <tr> + <td> + <pre class="lines"> - <div class="method-description"> - - <p>Allows local address reuse if true. ( SO_REUSEADDR )</p> - - - - <div class="method-source-code" id="reuse_addr-3D-source"> - <pre><span class="ruby-comment"># File lib/ionian/extension/socket.rb, line 39</span> -<span class="ruby-keyword">def</span> <span class="ruby-identifier">reuse_addr=</span>(<span class="ruby-identifier">value</span>) - <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> - <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>) -<span class="ruby-keyword">end</span></pre> - </div> - - </div> +71 +72 +73 +74</pre> + </td> + <td> + <pre class="code"><span class="info file"># File 'lib/ionian/extension/socket.rb', line 71</span> - +<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> + <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> + <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> +<span class='kw'>end</span></pre> + </td> + </tr> +</table> +</div> + + <div class="method_details "> + <h3 class="signature " id="recork-instance_method"> + + - (<tt>Object</tt>) <strong>recork</strong> + - - </div> + + +</h3><div class="docstring"> + <div class="discussion"> - <div id="method-i-reuse_addr-3F" class="method-detail method-alias"> - - <div class="method-heading"> - <span class="method-name">reuse_addr?</span><span - class="method-args">()</span> - - </div> - +<p>Unsets cork to transmit data, then reapplies cork. ( TCP_CORK )</p> - <div class="method-description"> - - - - - - </div> + </div> +</div> +<div class="tags"> + - +</div><table class="source_code"> + <tr> + <td> + <pre class="lines"> - - <div class="aliases"> - Alias for: <a href="Socket.html#method-i-reuse_addr">reuse_addr</a> - </div> - - </div> +103 +104 +105 +106</pre> + </td> + <td> + <pre class="code"><span class="info file"># File 'lib/ionian/extension/socket.rb', line 103</span> + +<span class='kw'>def</span> <span class='id identifier rubyid_recork'>recork</span> + <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> + <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> +<span class='kw'>end</span></pre> + </td> + </tr> +</table> +</div> - <div id="method-i-ttl" class="method-detail "> - - <div class="method-heading"> - <span class="method-name">ttl</span><span - class="method-args">()</span> - - <span class="method-click-advice">click to toggle source</span> - - </div> - + <div class="method_details "> + <h3 class="signature " id="reuse_addr-instance_method"> + + - (<tt>Object</tt>) <strong>reuse_addr</strong> + - <div class="method-description"> - - <p>Returns the time to live (hop limit). ( IP_TTL )</p> - - + + <span class="aliases">Also known as: + <span class="names"><span id='reuse_addr?-instance_method'>reuse_addr?</span></span> + </span> + - - <div class="method-source-code" id="ttl-source"> - <pre><span class="ruby-comment"># File lib/ionian/extension/socket.rb, line 46</span> -<span class="ruby-keyword">def</span> <span class="ruby-identifier">ttl</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_TTL</span>) - .<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> -<span class="ruby-keyword">end</span></pre> - </div> - - </div> + +</h3><div class="docstring"> + <div class="discussion"> + +<p>Returns true if local address reuse is allowed. ( SO_REUSEADDR )</p> - - <div class="aliases"> - Also aliased as: <a href="Socket.html#method-i-ttl-3F">ttl?</a> - </div> - - - </div> + </div> +</div> +<div class="tags"> + +</div><table class="source_code"> + <tr> + <td> + <pre class="lines"> + + +29 +30 +31 +32 +33</pre> + </td> + <td> + <pre class="code"><span class="info file"># File 'lib/ionian/extension/socket.rb', line 29</span> + +<span class='kw'>def</span> <span class='id identifier rubyid_reuse_addr'>reuse_addr</span> + <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'> +</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> + <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> +<span class='kw'>end</span></pre> + </td> + </tr> +</table> +</div> - <div id="method-i-ttl-3D" class="method-detail "> - - <div class="method-heading"> - <span class="method-name">ttl=</span><span - class="method-args">(value)</span> - - <span class="method-click-advice">click to toggle source</span> - - </div> - + <div class="method_details "> + <h3 class="signature " id="reuse_addr=-instance_method"> + + - (<tt>Object</tt>) <strong>reuse_addr=</strong>(value) + - <div class="method-description"> - - <p>Sets the time to live (hop limit). ( IP_TTL )</p> - - + - - <div class="method-source-code" id="ttl-3D-source"> - <pre><span class="ruby-comment"># File lib/ionian/extension/socket.rb, line 55</span> -<span class="ruby-keyword">def</span> <span class="ruby-identifier">ttl=</span>(<span class="ruby-identifier">value</span>) - <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>) -<span class="ruby-keyword">end</span></pre> - </div> - - </div> + +</h3><div class="docstring"> + <div class="discussion"> + +<p>Allows local address reuse if true. ( SO_REUSEADDR )</p> - - - </div> + </div> +</div> +<div class="tags"> + +</div><table class="source_code"> + <tr> + <td> + <pre class="lines"> + + +39 +40 +41 +42</pre> + </td> + <td> + <pre class="code"><span class="info file"># File 'lib/ionian/extension/socket.rb', line 39</span> + +<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> + <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> + <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> +<span class='kw'>end</span></pre> + </td> + </tr> +</table> +</div> - <div id="method-i-ttl-3F" class="method-detail method-alias"> - - <div class="method-heading"> - <span class="method-name">ttl?</span><span - class="method-args">()</span> - - </div> - + <div class="method_details "> + <h3 class="signature " id="ttl-instance_method"> + + - (<tt>Object</tt>) <strong>ttl</strong> + - <div class="method-description"> - - - - + + <span class="aliases">Also known as: + <span class="names"><span id='ttl?-instance_method'>ttl?</span></span> + </span> + - - </div> + +</h3><div class="docstring"> + <div class="discussion"> + +<p>Returns the time to live (hop limit). ( IP_TTL )</p> - - - <div class="aliases"> - Alias for: <a href="Socket.html#method-i-ttl">ttl</a> - </div> - - </div> + </div> +</div> +<div class="tags"> + +</div><table class="source_code"> + <tr> + <td> + <pre class="lines"> + + +46 +47 +48 +49</pre> + </td> + <td> + <pre class="code"><span class="info file"># File 'lib/ionian/extension/socket.rb', line 46</span> + +<span class='kw'>def</span> <span class='id identifier rubyid_ttl'>ttl</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_TTL</span><span class='rparen'>)</span><span class='period'> +</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> +<span class='kw'>end</span></pre> + </td> + </tr> +</table> +</div> - </section> + <div class="method_details "> + <h3 class="signature " id="ttl=-instance_method"> - </section> -</main> + - (<tt>Object</tt>) <strong>ttl=</strong>(value) + + -<footer id="validator-badges" role="contentinfo"> - <p><a href="http://validator.w3.org/check/referer">Validate</a> - <p>Generated by <a href="http://rdoc.rubyforge.org">RDoc</a> 4.1.1. - <p>Based on <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>. -</footer> + +</h3><div class="docstring"> + <div class="discussion"> + +<p>Sets the time to live (hop limit). ( IP_TTL )</p> + + </div> +</div> +<div class="tags"> + + +</div><table class="source_code"> + <tr> + <td> + <pre class="lines"> + + +55 +56 +57</pre> + </td> + <td> + <pre class="code"><span class="info file"># File 'lib/ionian/extension/socket.rb', line 55</span> + +<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> + <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> +<span class='kw'>end</span></pre> + </td> + </tr> +</table> +</div> + + </div> + +</div> + + <div id="footer"> + Generated on Sat Mar 15 21:04:54 2014 by + <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a> + 0.8.7.3 (ruby-2.1.1). +</div> + + </body> +</html> \ No newline at end of file