Sophie

Sophie

distrib > Mandriva > 2007.0 > i586 > by-pkgid > ad1ba1135a9c9eeffc2e538163e00373 > files > 367

libCommonC++2_1.4-devel-1.4.1-1mdv2007.0.i586.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>GNU CommonC++: ost::UDPTransmit Class Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.4.6 -->
<div class="tabs">
  <ul>
    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
    <li id="current"><a href="classes.html"><span>Classes</span></a></li>
    <li><a href="files.html"><span>Files</span></a></li>
    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
    <li><a href="examples.html"><span>Examples</span></a></li>
  </ul></div>
<div class="tabs">
  <ul>
    <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
    <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
    <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
    <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
  </ul></div>
<div class="nav">
<a class="el" href="namespaceost.html">ost</a>::<a class="el" href="classost_1_1_u_d_p_transmit.html">UDPTransmit</a></div>
<h1>ost::UDPTransmit Class Reference</h1><!-- doxytag: class="ost::UDPTransmit" --><!-- doxytag: inherits="ost::UDPSocket" -->Representing half of a two-way UDP connection, the UDP transmitter can broadcast data to another selected peer host or to an entire subnet.Unreliable Datagram Peer Associations.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="socket_8h-source.html">socket.h</a>&gt;</code>
<p>
<p>Inheritance diagram for ost::UDPTransmit:
<p><center><img src="classost_1_1_u_d_p_transmit.png" usemap="#ost::UDPTransmit_map" border="0" alt=""></center>
<map name="ost::UDPTransmit_map">
<area href="classost_1_1_u_d_p_socket.html" alt="ost::UDPSocket" shape="rect" coords="0,56,106,80">
<area href="classost_1_1_socket.html" alt="ost::Socket" shape="rect" coords="0,0,106,24">
<area href="classost_1_1_u_d_p_duplex.html" alt="ost::UDPDuplex" shape="rect" coords="0,168,106,192">
</map>
<a href="classost_1_1_u_d_p_transmit-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">ssize_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_u_d_p_transmit.html#b648dd889101cf98bcad682299c48329">transmit</a> (const char *buffer, size_t len)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Transmit "send" to use "connected" send rather than sendto.  <a href="#b648dd889101cf98bcad682299c48329"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_u_d_p_transmit.html#ddc1e1aff22446589d633bacfc436e38">isOutputReady</a> (unsigned long timeout=0l)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">See if output queue is empty for sending more packets.  <a href="#ddc1e1aff22446589d633bacfc436e38"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classost_1_1_socket.html#3306a277326459f69aa69b474f50d6e2">Error</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_u_d_p_transmit.html#04ebd34e6cfc70146bfe3789c31d8903">setRouting</a> (bool enable)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classost_1_1_socket.html#3306a277326459f69aa69b474f50d6e2">Error</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_u_d_p_transmit.html#11c5788901bb8c18af8428efe9c54145">setTypeOfService</a> (<a class="el" href="classost_1_1_socket.html#7caa0e1bb24b387bd1c5b8240ea592e1">Tos</a> tos)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classost_1_1_socket.html#3306a277326459f69aa69b474f50d6e2">Error</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_u_d_p_transmit.html#86e9e41d05629a5e6f3029ace0d55e38">setBroadcast</a> (bool enable)</td></tr>

<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_u_d_p_transmit.html#bcc795e183ac0946e15ebbbfcccc02b8">UDPTransmit</a> (<a class="el" href="classost_1_1_socket.html#aa032e41b920b38a79c875b8ae375799">Family</a> <a class="el" href="classost_1_1_u_d_p_socket.html#fe9f40091dc6c57c6743cf0720ab5938">family</a>=IPV4)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a UDP transmitter.  <a href="#bcc795e183ac0946e15ebbbfcccc02b8"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_u_d_p_transmit.html#3946f1bdd89bc7ea15bd12b334ea7731">UDPTransmit</a> (const <a class="el" href="classost_1_1_i_p_v4_address.html">IPV4Address</a> &amp;bind, <a class="el" href="namespaceost.html#3c74a1a40c359fd349f3e3e1b96ebfc7">tpport_t</a> port=5005)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a UDP transmitter, bind it to a specific interface and port address so that other UDP sockets on remote machines (or the same host) may find and send UDP messages to it, and associate it with a given port on a peer host.  <a href="#3946f1bdd89bc7ea15bd12b334ea7731"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_u_d_p_transmit.html#7a885da253f8e71d147368bd55100e35">UDPTransmit</a> (const <a class="el" href="classost_1_1_i_p_v6_address.html">IPV6Address</a> &amp;bind, <a class="el" href="namespaceost.html#3c74a1a40c359fd349f3e3e1b96ebfc7">tpport_t</a> port=5005)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classost_1_1_socket.html#3306a277326459f69aa69b474f50d6e2">Error</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_u_d_p_transmit.html#d9b9d46dfaf10ad1555c0fa08db339be">connect</a> (const <a class="el" href="classost_1_1_i_p_v4_host.html">IPV4Host</a> &amp;host, <a class="el" href="namespaceost.html#3c74a1a40c359fd349f3e3e1b96ebfc7">tpport_t</a> port)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Associate this socket with a specified peer host.  <a href="#d9b9d46dfaf10ad1555c0fa08db339be"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classost_1_1_socket.html#3306a277326459f69aa69b474f50d6e2">Error</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_u_d_p_transmit.html#3e980aa2cad3bd07ff563900d03496a6">connect</a> (const <a class="el" href="classost_1_1_i_p_v6_address.html">IPV6Address</a> &amp;host, <a class="el" href="namespaceost.html#3c74a1a40c359fd349f3e3e1b96ebfc7">tpport_t</a> port)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classost_1_1_socket.html#3306a277326459f69aa69b474f50d6e2">Error</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_u_d_p_transmit.html#d9ca909bb537be5b010a0aac902835c1">connect</a> (const <a class="el" href="classost_1_1_i_p_v4_broadcast.html">IPV4Broadcast</a> &amp;subnet, <a class="el" href="namespaceost.html#3c74a1a40c359fd349f3e3e1b96ebfc7">tpport_t</a> port)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Associate this socket with a subnet of peer hosts for subnet broadcasting.  <a href="#d9ca909bb537be5b010a0aac902835c1"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classost_1_1_socket.html#3306a277326459f69aa69b474f50d6e2">Error</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_u_d_p_transmit.html#5e2f1e49a282bbdd4a852cf807be5022">connect</a> (const <a class="el" href="classost_1_1_i_p_v4_multicast.html">IPV4Multicast</a> &amp;mgroup, <a class="el" href="namespaceost.html#3c74a1a40c359fd349f3e3e1b96ebfc7">tpport_t</a> port)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Associate this socket with a multicast group.  <a href="#5e2f1e49a282bbdd4a852cf807be5022"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classost_1_1_socket.html#3306a277326459f69aa69b474f50d6e2">Error</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_u_d_p_transmit.html#34494a97d3d5e68bc0cf02c9bad5d810">connect</a> (const <a class="el" href="classost_1_1_i_p_v6_multicast.html">IPV6Multicast</a> &amp;mgroup, <a class="el" href="namespaceost.html#3c74a1a40c359fd349f3e3e1b96ebfc7">tpport_t</a> port)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">ssize_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_u_d_p_transmit.html#c20e40569ec5502849fa3337dcfdf611">send</a> (const void *buf, size_t len)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Transmit "send" to use "connected" send rather than sendto.  <a href="#c20e40569ec5502849fa3337dcfdf611"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_u_d_p_transmit.html#fda647033eb798b91e2c2ef3b089c5b2">endTransmitter</a> (void)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Stop transmitter.  <a href="#fda647033eb798b91e2c2ef3b089c5b2"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="socket_8h.html#8dc8083897335125630f1af5dafd5831">SOCKET</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_u_d_p_transmit.html#69b7f01eb52ae82bf91f2eefc0854918">getTransmitter</a> (void)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classost_1_1_socket.html#3306a277326459f69aa69b474f50d6e2">Error</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_u_d_p_transmit.html#4e5c8fb7c2ea5f78454d303169d68b61">setMulticast</a> (bool enable)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classost_1_1_socket.html#3306a277326459f69aa69b474f50d6e2">Error</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_u_d_p_transmit.html#80800a55f609d62bbd8d7635f4798e6d">setTimeToLive</a> (unsigned char <a class="el" href="classost_1_1_socket.html#6adc7a5d594ab3b8bace496f7a6757e9">ttl</a>)</td></tr>

</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Representing half of a two-way UDP connection, the UDP transmitter can broadcast data to another selected peer host or to an entire subnet.Unreliable Datagram Peer Associations. 
<p>
<dl compact><dt><b>Author:</b></dt><dd>David Sugar &lt;<a href="mailto:dyfet@ostel.com">dyfet@ostel.com</a>&gt; </dd></dl>

<p>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="bcc795e183ac0946e15ebbbfcccc02b8"></a><!-- doxytag: member="ost::UDPTransmit::UDPTransmit" ref="bcc795e183ac0946e15ebbbfcccc02b8" args="(Family family=IPV4)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top">ost::UDPTransmit::UDPTransmit           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="classost_1_1_socket.html#aa032e41b920b38a79c875b8ae375799">Family</a>&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>family</em> = <code>IPV4</code>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap><code> [protected]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Create a UDP transmitter. 
<p>
    </td>
  </tr>
</table>
<a class="anchor" name="3946f1bdd89bc7ea15bd12b334ea7731"></a><!-- doxytag: member="ost::UDPTransmit::UDPTransmit" ref="3946f1bdd89bc7ea15bd12b334ea7731" args="(const IPV4Address &amp;bind, tpport_t port=5005)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top">ost::UDPTransmit::UDPTransmit           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const <a class="el" href="classost_1_1_i_p_v4_address.html">IPV4Address</a> &amp;&nbsp;</td>
          <td class="mdname" nowrap> <em>bind</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap><a class="el" href="namespaceost.html#3c74a1a40c359fd349f3e3e1b96ebfc7">tpport_t</a>&nbsp;</td>
          <td class="mdname" nowrap> <em>port</em> = <code>5005</code></td>
        </tr>
        <tr>
          <td class="md"></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [protected]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Create a UDP transmitter, bind it to a specific interface and port address so that other UDP sockets on remote machines (or the same host) may find and send UDP messages to it, and associate it with a given port on a peer host. 
<p>
On failure to bind, an exception is thrown. This class is only used to build the UDP Duplex.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>bind</em>&nbsp;</td><td>address to bind this socket to. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>port</em>&nbsp;</td><td>number to bind this socket to. </td></tr>
  </table>
</dl>
    </td>
  </tr>
</table>
<a class="anchor" name="7a885da253f8e71d147368bd55100e35"></a><!-- doxytag: member="ost::UDPTransmit::UDPTransmit" ref="7a885da253f8e71d147368bd55100e35" args="(const IPV6Address &amp;bind, tpport_t port=5005)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top">ost::UDPTransmit::UDPTransmit           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const <a class="el" href="classost_1_1_i_p_v6_address.html">IPV6Address</a> &amp;&nbsp;</td>
          <td class="mdname" nowrap> <em>bind</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap><a class="el" href="namespaceost.html#3c74a1a40c359fd349f3e3e1b96ebfc7">tpport_t</a>&nbsp;</td>
          <td class="mdname" nowrap> <em>port</em> = <code>5005</code></td>
        </tr>
        <tr>
          <td class="md"></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [protected]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="34494a97d3d5e68bc0cf02c9bad5d810"></a><!-- doxytag: member="ost::UDPTransmit::connect" ref="34494a97d3d5e68bc0cf02c9bad5d810" args="(const IPV6Multicast &amp;mgroup, tpport_t port)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"><a class="el" href="classost_1_1_socket.html#3306a277326459f69aa69b474f50d6e2">Error</a> ost::UDPTransmit::connect           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const <a class="el" href="classost_1_1_i_p_v6_multicast.html">IPV6Multicast</a> &amp;&nbsp;</td>
          <td class="mdname" nowrap> <em>mgroup</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap><a class="el" href="namespaceost.html#3c74a1a40c359fd349f3e3e1b96ebfc7">tpport_t</a>&nbsp;</td>
          <td class="mdname" nowrap> <em>port</em></td>
        </tr>
        <tr>
          <td class="md"></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [protected]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a class="anchor" name="5e2f1e49a282bbdd4a852cf807be5022"></a><!-- doxytag: member="ost::UDPTransmit::connect" ref="5e2f1e49a282bbdd4a852cf807be5022" args="(const IPV4Multicast &amp;mgroup, tpport_t port)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"><a class="el" href="classost_1_1_socket.html#3306a277326459f69aa69b474f50d6e2">Error</a> ost::UDPTransmit::connect           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const <a class="el" href="classost_1_1_i_p_v4_multicast.html">IPV4Multicast</a> &amp;&nbsp;</td>
          <td class="mdname" nowrap> <em>mgroup</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap><a class="el" href="namespaceost.html#3c74a1a40c359fd349f3e3e1b96ebfc7">tpport_t</a>&nbsp;</td>
          <td class="mdname" nowrap> <em>port</em></td>
        </tr>
        <tr>
          <td class="md"></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [protected]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Associate this socket with a multicast group. 
<p>
<dl compact><dt><b>Returns:</b></dt><dd>0 on success, -1 on error. </dd></dl>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>mgroup</em>&nbsp;</td><td>address of the multicast group to send to. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>port</em>&nbsp;</td><td>port number </td></tr>
  </table>
</dl>
    </td>
  </tr>
</table>
<a class="anchor" name="d9ca909bb537be5b010a0aac902835c1"></a><!-- doxytag: member="ost::UDPTransmit::connect" ref="d9ca909bb537be5b010a0aac902835c1" args="(const IPV4Broadcast &amp;subnet, tpport_t port)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"><a class="el" href="classost_1_1_socket.html#3306a277326459f69aa69b474f50d6e2">Error</a> ost::UDPTransmit::connect           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const <a class="el" href="classost_1_1_i_p_v4_broadcast.html">IPV4Broadcast</a> &amp;&nbsp;</td>
          <td class="mdname" nowrap> <em>subnet</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap><a class="el" href="namespaceost.html#3c74a1a40c359fd349f3e3e1b96ebfc7">tpport_t</a>&nbsp;</td>
          <td class="mdname" nowrap> <em>port</em></td>
        </tr>
        <tr>
          <td class="md"></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [protected]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Associate this socket with a subnet of peer hosts for subnet broadcasting. 
<p>
The server must be able to assert broadcast permission for the socket.<p>
<dl compact><dt><b>Returns:</b></dt><dd>0 on success, -1 on error. </dd></dl>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>subnet</em>&nbsp;</td><td>subnet address to broadcast into. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>port</em>&nbsp;</td><td>transport port to broadcast into. </td></tr>
  </table>
</dl>
    </td>
  </tr>
</table>
<a class="anchor" name="3e980aa2cad3bd07ff563900d03496a6"></a><!-- doxytag: member="ost::UDPTransmit::connect" ref="3e980aa2cad3bd07ff563900d03496a6" args="(const IPV6Address &amp;host, tpport_t port)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"><a class="el" href="classost_1_1_socket.html#3306a277326459f69aa69b474f50d6e2">Error</a> ost::UDPTransmit::connect           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const <a class="el" href="classost_1_1_i_p_v6_address.html">IPV6Address</a> &amp;&nbsp;</td>
          <td class="mdname" nowrap> <em>host</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap><a class="el" href="namespaceost.html#3c74a1a40c359fd349f3e3e1b96ebfc7">tpport_t</a>&nbsp;</td>
          <td class="mdname" nowrap> <em>port</em></td>
        </tr>
        <tr>
          <td class="md"></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [protected]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a class="anchor" name="d9b9d46dfaf10ad1555c0fa08db339be"></a><!-- doxytag: member="ost::UDPTransmit::connect" ref="d9b9d46dfaf10ad1555c0fa08db339be" args="(const IPV4Host &amp;host, tpport_t port)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"><a class="el" href="classost_1_1_socket.html#3306a277326459f69aa69b474f50d6e2">Error</a> ost::UDPTransmit::connect           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const <a class="el" href="classost_1_1_i_p_v4_host.html">IPV4Host</a> &amp;&nbsp;</td>
          <td class="mdname" nowrap> <em>host</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap><a class="el" href="namespaceost.html#3c74a1a40c359fd349f3e3e1b96ebfc7">tpport_t</a>&nbsp;</td>
          <td class="mdname" nowrap> <em>port</em></td>
        </tr>
        <tr>
          <td class="md"></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [protected]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Associate this socket with a specified peer host. 
<p>
The port number from the constructor will be used. All UDP packets will be sent to and received from the specified host.<p>
<dl compact><dt><b>Returns:</b></dt><dd>0 on success, -1 on error. </dd></dl>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>host</em>&nbsp;</td><td>address to connect socket to. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>port</em>&nbsp;</td><td>to connect socket to. </td></tr>
  </table>
</dl>

<p>
Reimplemented from <a class="el" href="classost_1_1_u_d_p_socket.html#519db2909a1c43e791e6620b758d3fdc">ost::UDPSocket</a>.
<p>
Reimplemented in <a class="el" href="classost_1_1_u_d_p_duplex.html#219b6497a5dd25e943639cfc1bbb8f81">ost::UDPDuplex</a>.    </td>
  </tr>
</table>
<a class="anchor" name="fda647033eb798b91e2c2ef3b089c5b2"></a><!-- doxytag: member="ost::UDPTransmit::endTransmitter" ref="fda647033eb798b91e2c2ef3b089c5b2" args="(void)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top">void ost::UDPTransmit::endTransmitter           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">void&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap><code> [inline, protected]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Stop transmitter. 
<p>
    </td>
  </tr>
</table>
<a class="anchor" name="69b7f01eb52ae82bf91f2eefc0854918"></a><!-- doxytag: member="ost::UDPTransmit::getTransmitter" ref="69b7f01eb52ae82bf91f2eefc0854918" args="(void)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"><a class="el" href="socket_8h.html#8dc8083897335125630f1af5dafd5831">SOCKET</a> ost::UDPTransmit::getTransmitter           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">void&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap><code> [inline, protected]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a class="anchor" name="ddc1e1aff22446589d633bacfc436e38"></a><!-- doxytag: member="ost::UDPTransmit::isOutputReady" ref="ddc1e1aff22446589d633bacfc436e38" args="(unsigned long timeout=0l)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top">bool ost::UDPTransmit::isOutputReady           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">unsigned long&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>timeout</em> = <code>0l</code>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap><code> [inline]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
See if output queue is empty for sending more packets. 
<p>
<dl compact><dt><b>Returns:</b></dt><dd>true if output available. </dd></dl>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>timeout</em>&nbsp;</td><td>in milliseconds to wait. </td></tr>
  </table>
</dl>
    </td>
  </tr>
</table>
<a class="anchor" name="c20e40569ec5502849fa3337dcfdf611"></a><!-- doxytag: member="ost::UDPTransmit::send" ref="c20e40569ec5502849fa3337dcfdf611" args="(const void *buf, size_t len)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top">ssize_t ost::UDPTransmit::send           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const void *&nbsp;</td>
          <td class="mdname" nowrap> <em>buf</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap>size_t&nbsp;</td>
          <td class="mdname" nowrap> <em>len</em></td>
        </tr>
        <tr>
          <td class="md"></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [inline, protected]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Transmit "send" to use "connected" send rather than sendto. 
<p>
<dl compact><dt><b>Returns:</b></dt><dd>number of bytes sent. </dd></dl>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>buf</em>&nbsp;</td><td>address of buffer to send. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>len</em>&nbsp;</td><td>of bytes to send. </td></tr>
  </table>
</dl>

<p>
Reimplemented from <a class="el" href="classost_1_1_u_d_p_socket.html#4d58bb8e7a0ea0112da563bfd2eaa947">ost::UDPSocket</a>.    </td>
  </tr>
</table>
<a class="anchor" name="86e9e41d05629a5e6f3029ace0d55e38"></a><!-- doxytag: member="ost::UDPTransmit::setBroadcast" ref="86e9e41d05629a5e6f3029ace0d55e38" args="(bool enable)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"><a class="el" href="classost_1_1_socket.html#3306a277326459f69aa69b474f50d6e2">Error</a> ost::UDPTransmit::setBroadcast           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">bool&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>enable</em>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap><code> [inline]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>

<p>
Reimplemented from <a class="el" href="classost_1_1_socket.html#1a507041ee5741bcdc906707b1735781">ost::Socket</a>.    </td>
  </tr>
</table>
<a class="anchor" name="4e5c8fb7c2ea5f78454d303169d68b61"></a><!-- doxytag: member="ost::UDPTransmit::setMulticast" ref="4e5c8fb7c2ea5f78454d303169d68b61" args="(bool enable)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"><a class="el" href="classost_1_1_socket.html#3306a277326459f69aa69b474f50d6e2">Error</a> ost::UDPTransmit::setMulticast           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">bool&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>enable</em>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap><code> [inline, protected]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>

<p>
Reimplemented from <a class="el" href="classost_1_1_u_d_p_socket.html#ce98f5833ad9834af24e78697699c912">ost::UDPSocket</a>.    </td>
  </tr>
</table>
<a class="anchor" name="04ebd34e6cfc70146bfe3789c31d8903"></a><!-- doxytag: member="ost::UDPTransmit::setRouting" ref="04ebd34e6cfc70146bfe3789c31d8903" args="(bool enable)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"><a class="el" href="classost_1_1_socket.html#3306a277326459f69aa69b474f50d6e2">Error</a> ost::UDPTransmit::setRouting           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">bool&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>enable</em>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap><code> [inline]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>

<p>
Reimplemented from <a class="el" href="classost_1_1_socket.html#2165fdf85e39e6a8aaff3da889ae7e20">ost::Socket</a>.    </td>
  </tr>
</table>
<a class="anchor" name="80800a55f609d62bbd8d7635f4798e6d"></a><!-- doxytag: member="ost::UDPTransmit::setTimeToLive" ref="80800a55f609d62bbd8d7635f4798e6d" args="(unsigned char ttl)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"><a class="el" href="classost_1_1_socket.html#3306a277326459f69aa69b474f50d6e2">Error</a> ost::UDPTransmit::setTimeToLive           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">unsigned char&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>ttl</em>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap><code> [inline, protected]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a class="anchor" name="11c5788901bb8c18af8428efe9c54145"></a><!-- doxytag: member="ost::UDPTransmit::setTypeOfService" ref="11c5788901bb8c18af8428efe9c54145" args="(Tos tos)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"><a class="el" href="classost_1_1_socket.html#3306a277326459f69aa69b474f50d6e2">Error</a> ost::UDPTransmit::setTypeOfService           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="classost_1_1_socket.html#7caa0e1bb24b387bd1c5b8240ea592e1">Tos</a>&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>tos</em>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap><code> [inline]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a class="anchor" name="b648dd889101cf98bcad682299c48329"></a><!-- doxytag: member="ost::UDPTransmit::transmit" ref="b648dd889101cf98bcad682299c48329" args="(const char *buffer, size_t len)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top">ssize_t ost::UDPTransmit::transmit           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const char *&nbsp;</td>
          <td class="mdname" nowrap> <em>buffer</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap>size_t&nbsp;</td>
          <td class="mdname" nowrap> <em>len</em></td>
        </tr>
        <tr>
          <td class="md"></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [inline]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Transmit "send" to use "connected" send rather than sendto. 
<p>
<dl compact><dt><b>Note:</b></dt><dd>Windows does not support MSG_DONTWAIT, so it is defined as 0 on that platform. </dd></dl>
<dl compact><dt><b>Returns:</b></dt><dd>number of bytes sent. </dd></dl>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>buffer</em>&nbsp;</td><td>address of buffer to send. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>len</em>&nbsp;</td><td>of bytes to send. </td></tr>
  </table>
</dl>
    </td>
  </tr>
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="socket_8h-source.html">socket.h</a></ul>
<hr size="1"><address style="align: right;"><small>Generated on Mon Jun 19 10:50:57 2006 for GNU CommonC++ by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.6 </small></address>
</body>
</html>