Branch: Tag:

2004-09-18

2004-09-18 01:41:35 by Martin Nilsson <mani@lysator.liu.se>

Added enable_multicast(), set_multicast_ttl() and add_membership(). And with that it is possible to use real multicast...

Rev: src/modules/files/udp.c:1.67

2098:   <hr />   <dl class='group--doc'>   <dt class='head--type'><span class='homogen--type'>Method</span> + <span class='homogen--name'><b>add_membership</b></span> + </dt> + <dd><p><code><code class='datatype'>int</code> <b><span class='method'>add_membership</span>(</b><code class='datatype'>string</code> <code class='argument'>group</code>, <code class='datatype'>void</code>|<code class='datatype'>string</code> <code class='argument'>address</code><b>)</b></code></p></dd> +  + <dt class='head--doc'>Description</dt> + <dd class='body--doc'><p>Join a multicast group. <code>group</code> contains the address of the +  multicast group the application wants to join or leave. It must be +  a valid multicast address. <code>address</code> is the address of the local +  interface with wich the system should join to the multicast group. +  If not provided the system will select an appropriate interface. +  See also the Unix man page for setsocketopt IPPROTO_IP +  ADD_MEMBERSHIP.</p> + </dd></dl> +  +  + <hr /> + <dl class='group--doc'> + <dt class='head--type'><span class='homogen--type'>Method</span>   <span class='homogen--name'><b>bind</b></span>   </dt> - <dd><p><code><code class='datatype'>object</code> <b><span class='method'>bind</span>(</b><code class='datatype'>int</code>|<code class='datatype'>string</code> <code class='argument'>port</code><b>)</b></code><br> - <code><code class='datatype'>object</code> <b><span class='method'>bind</span>(</b><code class='datatype'>int</code>|<code class='datatype'>string</code> <code class='argument'>port</code>, <code class='datatype'>string</code> <code class='argument'>address</code><b>)</b></code></p></dd> + <dd><p><code><code class='object unresolved'>UDP</code> <b><span class='method'>bind</span>(</b><code class='datatype'>int</code>|<code class='datatype'>string</code> <code class='argument'>port</code><b>)</b></code><br> + <code><code class='object unresolved'>UDP</code> <b><span class='method'>bind</span>(</b><code class='datatype'>int</code>|<code class='datatype'>string</code> <code class='argument'>port</code>, <code class='datatype'>string</code> <code class='argument'>address</code><b>)</b></code></p></dd>      <dt class='head--doc'>Description</dt>   <dd class='body--doc'><p>Binds a port for recieving or transmitting UDP.</p> -  + </dd> + <dt class='head--doc'>Throws</dt> + <dd class='body--doc'><p>Throws error when unable to bind port.</p>   </dd></dl>      
2173:   <hr />   <dl class='group--doc'>   <dt class='head--type'><span class='homogen--type'>Method</span> + <span class='homogen--name'><b>enable_multicast</b></span> + </dt> + <dd><p><code><code class='datatype'>bool</code> <b><span class='method'>enable_multicast</span>(</b><code class='datatype'>string</code> <code class='argument'>reply_address</code><b>)</b></code></p></dd> +  + <dt class='head--doc'>Description</dt> + <dd class='body--doc'><p>Set the local device for a multicast socket. See also the Unix man +  page for setsocketopt IPPROTO_IP IP_MULTICAST_IF.</p> + </dd></dl> +  +  + <hr /> + <dl class='group--doc'> + <dt class='head--type'><span class='homogen--type'>Method</span>   <span class='homogen--name'><b>errno</b></span>   </dt>   <dd><p><code><code class='datatype'>int</code> <b><span class='method'>errno</span>(</b><b>)</b></code></p></dd>
2312:   <hr />   <dl class='group--doc'>   <dt class='head--type'><span class='homogen--type'>Method</span> + <span class='homogen--name'><b>set_multicast_ttl</b></span> + </dt> + <dd><p><code><code class='datatype'>int</code> <b><span class='method'>set_multicast_ttl</span>(</b><code class='datatype'>int</code> <code class='argument'>ttl</code><b>)</b></code></p></dd> +  + <dt class='head--doc'>Description</dt> + <dd class='body--doc'><p>Set the time-to-live value of outgoing multicast packets for this +  socket. It is very important for multicast packets to set the +  smallest TTL possible. The default is 1 which means that multicast +  packets don't leacl the local network unless the user program +  explicitly request it. See also the Unix man page for setsocketopt +  IPPROTO_IP IP_MULTICAST_TTL.</p> + </dd></dl> +  +  + <hr /> + <dl class='group--doc'> + <dt class='head--type'><span class='homogen--type'>Method</span>   <span class='homogen--name'><b>set_nonblocking</b></span>   </dt>   <dd><p><code><code class='object unresolved'>UDP</code> <b><span class='method'>set_nonblocking</span>(</b><b>)</b></code><br>
2358:   <dt class='head--type'><span class='homogen--type'>Method</span>   <span class='homogen--name'><b>set_type</b></span>   </dt> - <dd><p><code><code class='datatype'>object</code> <b><span class='method'>set_type</span>(</b><code class='datatype'>int</code> <code class='argument'>sock_type</code><b>)</b></code><br> - <code><code class='datatype'>object</code> <b><span class='method'>set_type</span>(</b><code class='datatype'>int</code> <code class='argument'>sock_type</code>, <code class='datatype'>int</code> <code class='argument'>family</code><b>)</b></code></p></dd> + <dd><p><code><code class='object unresolved'>UDP</code> <b><span class='method'>set_type</span>(</b><code class='datatype'>int</code> <code class='argument'>sock_type</code><b>)</b></code><br> + <code><code class='object unresolved'>UDP</code> <b><span class='method'>set_type</span>(</b><code class='datatype'>int</code> <code class='argument'>sock_type</code>, <code class='datatype'>int</code> <code class='argument'>family</code><b>)</b></code></p></dd>      <dt class='head--doc'>Description</dt>   <dd class='body--doc'><p>Sets socket type and protocol family.</p>