Sophie

Sophie

distrib > Mageia > 4 > x86_64 > by-pkgid > b293cf61b174f6cb974e48c9096dc9b3 > files > 318

lib64commoncpp-devel-1.8.1-7.mga4.x86_64.rpm

<!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">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.5"/>
<title>GNU CommonC++: ost::SocketPort Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">GNU CommonC++
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.5 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li><a href="examples.html"><span>Examples</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="namespaceost.html">ost</a></li><li class="navelem"><a class="el" href="classost_1_1_socket_port.html">SocketPort</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#friends">Friends</a> &#124;
<a href="classost_1_1_socket_port-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">ost::SocketPort Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>The socket port is an internal class which is attached to and then serviced by a specific <a class="el" href="classost_1_1_socket_service.html" title="The SocketService is a thread pool object that is meant to service attached socket ports...">SocketService</a> "object".  
 <a href="classost_1_1_socket_port.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="socketport_8h_source.html">socketport.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for ost::SocketPort:</div>
<div class="dyncontent">
 <div class="center">
  <img src="classost_1_1_socket_port.png" usemap="#ost::SocketPort_map" alt=""/>
  <map id="ost::SocketPort_map" name="ost::SocketPort_map">
<area href="classost_1_1_socket.html" title="The Socket is used as the base for all Internet protocol services under Common C++. " alt="ost::Socket" shape="rect" coords="0,0,95,24"/>
<area href="classost_1_1_timer_port.html" title="Timer ports are used to provide synchronized timing events when managed under a &quot;service thread&quot; such..." alt="ost::TimerPort" shape="rect" coords="105,0,200,24"/>
</map>
 </div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:ac70f9eae6b6b3625c980fa84180e8151"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_socket_port.html#ac70f9eae6b6b3625c980fa84180e8151">setTimer</a> (<a class="el" href="thread_8h.html#af412159e5cef839836a5e7b19ee75d1c">timeout_t</a> timeout=0)</td></tr>
<tr class="memdesc:ac70f9eae6b6b3625c980fa84180e8151"><td class="mdescLeft">&#160;</td><td class="mdescRight">Derived setTimer to notify the service thread pool of change in expected timeout.  <a href="#ac70f9eae6b6b3625c980fa84180e8151">More...</a><br/></td></tr>
<tr class="separator:ac70f9eae6b6b3625c980fa84180e8151"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1a7e2bf9e250ea5dcc9e8416aecfbb13"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_socket_port.html#a1a7e2bf9e250ea5dcc9e8416aecfbb13">incTimer</a> (<a class="el" href="thread_8h.html#af412159e5cef839836a5e7b19ee75d1c">timeout_t</a> timeout)</td></tr>
<tr class="memdesc:a1a7e2bf9e250ea5dcc9e8416aecfbb13"><td class="mdescLeft">&#160;</td><td class="mdescRight">Derived incTimer to notify the service thread pool of a change in expected timeout.  <a href="#a1a7e2bf9e250ea5dcc9e8416aecfbb13">More...</a><br/></td></tr>
<tr class="separator:a1a7e2bf9e250ea5dcc9e8416aecfbb13"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classost_1_1_socket"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classost_1_1_socket')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classost_1_1_socket.html">ost::Socket</a></td></tr>
<tr class="memitem:a801b3892635919626d7fc8f3d03da933 inherit pub_methods_classost_1_1_socket"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_socket.html#a801b3892635919626d7fc8f3d03da933">~Socket</a> ()</td></tr>
<tr class="memdesc:a801b3892635919626d7fc8f3d03da933 inherit pub_methods_classost_1_1_socket"><td class="mdescLeft">&#160;</td><td class="mdescRight">The socket base class may be "thrown" as a result of an error, and the "catcher" may then choose to destroy the object.  <a href="#a801b3892635919626d7fc8f3d03da933">More...</a><br/></td></tr>
<tr class="separator:a801b3892635919626d7fc8f3d03da933 inherit pub_methods_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab0d02dbca94775d6b28c9d313b55fdcc inherit pub_methods_classost_1_1_socket"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classost_1_1_socket.html">Socket</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_socket.html#ab0d02dbca94775d6b28c9d313b55fdcc">operator=</a> (const <a class="el" href="classost_1_1_socket.html">Socket</a> &amp;from)</td></tr>
<tr class="memdesc:ab0d02dbca94775d6b28c9d313b55fdcc inherit pub_methods_classost_1_1_socket"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sockets may also be duplicated by the assignment operator.  <a href="#ab0d02dbca94775d6b28c9d313b55fdcc">More...</a><br/></td></tr>
<tr class="separator:ab0d02dbca94775d6b28c9d313b55fdcc inherit pub_methods_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a68a7acd6af1686e66e88e9e466a9903f inherit pub_methods_classost_1_1_socket"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classost_1_1_i_p_v4_host.html">IPV4Host</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_socket.html#a68a7acd6af1686e66e88e9e466a9903f">getIPV4Sender</a> (<a class="el" href="namespaceost.html#a3c74a1a40c359fd349f3e3e1b96ebfc7">tpport_t</a> *port=NULL) const </td></tr>
<tr class="memdesc:a68a7acd6af1686e66e88e9e466a9903f inherit pub_methods_classost_1_1_socket"><td class="mdescLeft">&#160;</td><td class="mdescRight">May be used to examine the origin of data waiting in the socket receive queue.  <a href="#a68a7acd6af1686e66e88e9e466a9903f">More...</a><br/></td></tr>
<tr class="separator:a68a7acd6af1686e66e88e9e466a9903f inherit pub_methods_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a99197c017c07c6b24d622b107fa46833 inherit pub_methods_classost_1_1_socket"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classost_1_1_i_p_v4_host.html">IPV4Host</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_socket.html#a99197c017c07c6b24d622b107fa46833">getSender</a> (<a class="el" href="namespaceost.html#a3c74a1a40c359fd349f3e3e1b96ebfc7">tpport_t</a> *port=NULL) const </td></tr>
<tr class="separator:a99197c017c07c6b24d622b107fa46833 inherit pub_methods_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4f1e7645a2d543e0a665b111c2dba8e9 inherit pub_methods_classost_1_1_socket"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classost_1_1_i_p_v6_host.html">IPV6Host</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_socket.html#a4f1e7645a2d543e0a665b111c2dba8e9">getIPV6Sender</a> (<a class="el" href="namespaceost.html#a3c74a1a40c359fd349f3e3e1b96ebfc7">tpport_t</a> *port=NULL) const </td></tr>
<tr class="separator:a4f1e7645a2d543e0a665b111c2dba8e9 inherit pub_methods_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8c8d2cfd48c75b03dc776b38b1c095f7 inherit pub_methods_classost_1_1_socket"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classost_1_1_i_p_v4_host.html">IPV4Host</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_socket.html#a8c8d2cfd48c75b03dc776b38b1c095f7">getIPV4Peer</a> (<a class="el" href="namespaceost.html#a3c74a1a40c359fd349f3e3e1b96ebfc7">tpport_t</a> *port=NULL) const </td></tr>
<tr class="memdesc:a8c8d2cfd48c75b03dc776b38b1c095f7 inherit pub_methods_classost_1_1_socket"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the host address and port of the socket this socket is connected to.  <a href="#a8c8d2cfd48c75b03dc776b38b1c095f7">More...</a><br/></td></tr>
<tr class="separator:a8c8d2cfd48c75b03dc776b38b1c095f7 inherit pub_methods_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6fd1dffdfe9606e56fba838559ff6d67 inherit pub_methods_classost_1_1_socket"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classost_1_1_i_p_v4_host.html">IPV4Host</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_socket.html#a6fd1dffdfe9606e56fba838559ff6d67">getPeer</a> (<a class="el" href="namespaceost.html#a3c74a1a40c359fd349f3e3e1b96ebfc7">tpport_t</a> *port=NULL) const </td></tr>
<tr class="separator:a6fd1dffdfe9606e56fba838559ff6d67 inherit pub_methods_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad625daf4cffb541c5e8592792d4ee77e inherit pub_methods_classost_1_1_socket"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classost_1_1_i_p_v6_host.html">IPV6Host</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_socket.html#ad625daf4cffb541c5e8592792d4ee77e">getIPV6Peer</a> (<a class="el" href="namespaceost.html#a3c74a1a40c359fd349f3e3e1b96ebfc7">tpport_t</a> *port=NULL) const </td></tr>
<tr class="separator:ad625daf4cffb541c5e8592792d4ee77e inherit pub_methods_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af72396adf4cac5113e722447e48b7916 inherit pub_methods_classost_1_1_socket"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classost_1_1_i_p_v4_host.html">IPV4Host</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_socket.html#af72396adf4cac5113e722447e48b7916">getIPV4Local</a> (<a class="el" href="namespaceost.html#a3c74a1a40c359fd349f3e3e1b96ebfc7">tpport_t</a> *port=NULL) const </td></tr>
<tr class="memdesc:af72396adf4cac5113e722447e48b7916 inherit pub_methods_classost_1_1_socket"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the local address and port number this socket is currently bound to.  <a href="#af72396adf4cac5113e722447e48b7916">More...</a><br/></td></tr>
<tr class="separator:af72396adf4cac5113e722447e48b7916 inherit pub_methods_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aca71d871bfda4dfcab0891cb0c8df1d4 inherit pub_methods_classost_1_1_socket"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classost_1_1_i_p_v4_host.html">IPV4Host</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_socket.html#aca71d871bfda4dfcab0891cb0c8df1d4">getLocal</a> (<a class="el" href="namespaceost.html#a3c74a1a40c359fd349f3e3e1b96ebfc7">tpport_t</a> *port=NULL) const </td></tr>
<tr class="separator:aca71d871bfda4dfcab0891cb0c8df1d4 inherit pub_methods_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8410324ca8ddf50751830f59afeaf377 inherit pub_methods_classost_1_1_socket"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classost_1_1_i_p_v6_host.html">IPV6Host</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_socket.html#a8410324ca8ddf50751830f59afeaf377">getIPV6Local</a> (<a class="el" href="namespaceost.html#a3c74a1a40c359fd349f3e3e1b96ebfc7">tpport_t</a> *port=NULL) const </td></tr>
<tr class="separator:a8410324ca8ddf50751830f59afeaf377 inherit pub_methods_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a27574c4f148166ef8857975ba3cbb5a5 inherit pub_methods_classost_1_1_socket"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classost_1_1_i_p_v4_host.html">IPV4Host</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_socket.html#a27574c4f148166ef8857975ba3cbb5a5">getIPV4NAT</a> (<a class="el" href="namespaceost.html#a3c74a1a40c359fd349f3e3e1b96ebfc7">tpport_t</a> *port=NULL) const </td></tr>
<tr class="memdesc:a27574c4f148166ef8857975ba3cbb5a5 inherit pub_methods_classost_1_1_socket"><td class="mdescLeft">&#160;</td><td class="mdescRight">Perform NAT table lookup for this socket.  <a href="#a27574c4f148166ef8857975ba3cbb5a5">More...</a><br/></td></tr>
<tr class="separator:a27574c4f148166ef8857975ba3cbb5a5 inherit pub_methods_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac3dded47080c852dcebc9998643e8dc6 inherit pub_methods_classost_1_1_socket"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classost_1_1_i_p_v4_host.html">IPV4Host</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_socket.html#ac3dded47080c852dcebc9998643e8dc6">getNAT</a> (<a class="el" href="namespaceost.html#a3c74a1a40c359fd349f3e3e1b96ebfc7">tpport_t</a> *port) const </td></tr>
<tr class="separator:ac3dded47080c852dcebc9998643e8dc6 inherit pub_methods_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6af9d4d0da053afae46cf26c58c952cc inherit pub_methods_classost_1_1_socket"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classost_1_1_i_p_v6_host.html">IPV6Host</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_socket.html#a6af9d4d0da053afae46cf26c58c952cc">getIPV6NAT</a> (<a class="el" href="namespaceost.html#a3c74a1a40c359fd349f3e3e1b96ebfc7">tpport_t</a> *port=NULL) const </td></tr>
<tr class="separator:a6af9d4d0da053afae46cf26c58c952cc inherit pub_methods_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a16eb72794ce956b2af6b935eb59b2e24 inherit pub_methods_classost_1_1_socket"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_socket.html#a16eb72794ce956b2af6b935eb59b2e24">setCompletion</a> (bool immediate)</td></tr>
<tr class="memdesc:a16eb72794ce956b2af6b935eb59b2e24 inherit pub_methods_classost_1_1_socket"><td class="mdescLeft">&#160;</td><td class="mdescRight">Used to specify blocking mode for the socket.  <a href="#a16eb72794ce956b2af6b935eb59b2e24">More...</a><br/></td></tr>
<tr class="separator:a16eb72794ce956b2af6b935eb59b2e24 inherit pub_methods_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8a7b1c8f4735ffb2c8e7248e4bf37ef3 inherit pub_methods_classost_1_1_socket"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classost_1_1_socket.html#ae056b6dd4f167163083b7ab602fd3f3f">Error</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_socket.html#a8a7b1c8f4735ffb2c8e7248e4bf37ef3">setLinger</a> (bool <a class="el" href="classost_1_1_socket.html#a617e01f010e15ec81be466052a5a378e">linger</a>)</td></tr>
<tr class="memdesc:a8a7b1c8f4735ffb2c8e7248e4bf37ef3 inherit pub_methods_classost_1_1_socket"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable lingering sockets on close.  <a href="#a8a7b1c8f4735ffb2c8e7248e4bf37ef3">More...</a><br/></td></tr>
<tr class="separator:a8a7b1c8f4735ffb2c8e7248e4bf37ef3 inherit pub_methods_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a866263b2933c0b7b649829f07ca288ff inherit pub_methods_classost_1_1_socket"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classost_1_1_socket.html#ae056b6dd4f167163083b7ab602fd3f3f">Error</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_socket.html#a866263b2933c0b7b649829f07ca288ff">setKeepAlive</a> (bool enable)</td></tr>
<tr class="memdesc:a866263b2933c0b7b649829f07ca288ff inherit pub_methods_classost_1_1_socket"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the keep-alive status of this socket and if keep-alive messages will be sent.  <a href="#a866263b2933c0b7b649829f07ca288ff">More...</a><br/></td></tr>
<tr class="separator:a866263b2933c0b7b649829f07ca288ff inherit pub_methods_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae49df7e3c3913147116d8491f77a1b63 inherit pub_methods_classost_1_1_socket"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classost_1_1_socket.html#ae056b6dd4f167163083b7ab602fd3f3f">Error</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_socket.html#ae49df7e3c3913147116d8491f77a1b63">setTypeOfService</a> (<a class="el" href="classost_1_1_socket.html#a258f81f5a42d051242f0f49f8192f890">Tos</a> service)</td></tr>
<tr class="memdesc:ae49df7e3c3913147116d8491f77a1b63 inherit pub_methods_classost_1_1_socket"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set packet scheduling on platforms which support ip quality of service conventions.  <a href="#ae49df7e3c3913147116d8491f77a1b63">More...</a><br/></td></tr>
<tr class="separator:ae49df7e3c3913147116d8491f77a1b63 inherit pub_methods_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2997c1ed398ce1c6dbf1eb62301f97cc inherit pub_methods_classost_1_1_socket"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_socket.html#a2997c1ed398ce1c6dbf1eb62301f97cc">isConnected</a> (void) const </td></tr>
<tr class="memdesc:a2997c1ed398ce1c6dbf1eb62301f97cc inherit pub_methods_classost_1_1_socket"><td class="mdescLeft">&#160;</td><td class="mdescRight">Can test to see if this socket is "connected", and hence whether a "catch" can safely call <a class="el" href="classost_1_1_socket.html#a6fd1dffdfe9606e56fba838559ff6d67">getPeer()</a>.  <a href="#a2997c1ed398ce1c6dbf1eb62301f97cc">More...</a><br/></td></tr>
<tr class="separator:a2997c1ed398ce1c6dbf1eb62301f97cc inherit pub_methods_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a114e5d4cad99aaff24718b05bd3e8e31 inherit pub_methods_classost_1_1_socket"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_socket.html#a114e5d4cad99aaff24718b05bd3e8e31">isActive</a> (void) const </td></tr>
<tr class="memdesc:a114e5d4cad99aaff24718b05bd3e8e31 inherit pub_methods_classost_1_1_socket"><td class="mdescLeft">&#160;</td><td class="mdescRight">Test to see if the socket is at least operating or if it is mearly initialized.  <a href="#a114e5d4cad99aaff24718b05bd3e8e31">More...</a><br/></td></tr>
<tr class="separator:a114e5d4cad99aaff24718b05bd3e8e31 inherit pub_methods_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5e2c05b34bded0db1bcdcf08bd44f052 inherit pub_methods_classost_1_1_socket"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_socket.html#a5e2c05b34bded0db1bcdcf08bd44f052">operator!</a> () const </td></tr>
<tr class="memdesc:a5e2c05b34bded0db1bcdcf08bd44f052 inherit pub_methods_classost_1_1_socket"><td class="mdescLeft">&#160;</td><td class="mdescRight">Operator based testing to see if a socket is currently active.  <a href="#a5e2c05b34bded0db1bcdcf08bd44f052">More...</a><br/></td></tr>
<tr class="separator:a5e2c05b34bded0db1bcdcf08bd44f052 inherit pub_methods_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8120ca95daa7c488255c308998427ccb inherit pub_methods_classost_1_1_socket"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_socket.html#a8120ca95daa7c488255c308998427ccb">isBroadcast</a> (void) const </td></tr>
<tr class="memdesc:a8120ca95daa7c488255c308998427ccb inherit pub_methods_classost_1_1_socket"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return if broadcast has been enabled for the specified socket.  <a href="#a8120ca95daa7c488255c308998427ccb">More...</a><br/></td></tr>
<tr class="separator:a8120ca95daa7c488255c308998427ccb inherit pub_methods_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0a1e09a4411bf60bb5e2b6235d4e6a46 inherit pub_methods_classost_1_1_socket"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_socket.html#a0a1e09a4411bf60bb5e2b6235d4e6a46">isRouted</a> (void) const </td></tr>
<tr class="memdesc:a0a1e09a4411bf60bb5e2b6235d4e6a46 inherit pub_methods_classost_1_1_socket"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return if socket routing is enabled.  <a href="#a0a1e09a4411bf60bb5e2b6235d4e6a46">More...</a><br/></td></tr>
<tr class="separator:a0a1e09a4411bf60bb5e2b6235d4e6a46 inherit pub_methods_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abfdaefd24888f2d51089bdb31894286e inherit pub_methods_classost_1_1_socket"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classost_1_1_socket.html#ae056b6dd4f167163083b7ab602fd3f3f">Error</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_socket.html#abfdaefd24888f2d51089bdb31894286e">getErrorNumber</a> (void) const </td></tr>
<tr class="memdesc:abfdaefd24888f2d51089bdb31894286e inherit pub_methods_classost_1_1_socket"><td class="mdescLeft">&#160;</td><td class="mdescRight">Often used by a "catch" to fetch the last error of a thrown socket.  <a href="#abfdaefd24888f2d51089bdb31894286e">More...</a><br/></td></tr>
<tr class="separator:abfdaefd24888f2d51089bdb31894286e inherit pub_methods_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad1c8bb17f75cfe540853a871081bd9d0 inherit pub_methods_classost_1_1_socket"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_socket.html#ad1c8bb17f75cfe540853a871081bd9d0">getErrorString</a> (void) const </td></tr>
<tr class="memdesc:ad1c8bb17f75cfe540853a871081bd9d0 inherit pub_methods_classost_1_1_socket"><td class="mdescLeft">&#160;</td><td class="mdescRight">Often used by a "catch" to fetch the user set error string of a thrown socket, but only if EXTENDED error codes are used.  <a href="#ad1c8bb17f75cfe540853a871081bd9d0">More...</a><br/></td></tr>
<tr class="separator:ad1c8bb17f75cfe540853a871081bd9d0 inherit pub_methods_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7720aace2bf055d21a6fc33007c88197 inherit pub_methods_classost_1_1_socket"><td class="memItemLeft" align="right" valign="top">long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_socket.html#a7720aace2bf055d21a6fc33007c88197">getSystemError</a> (void) const </td></tr>
<tr class="separator:a7720aace2bf055d21a6fc33007c88197 inherit pub_methods_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a69b34d0fdbb94b77df4647cdb8b98407 inherit pub_methods_classost_1_1_socket"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_socket.html#a69b34d0fdbb94b77df4647cdb8b98407">getSystemErrorString</a> (void) const </td></tr>
<tr class="separator:a69b34d0fdbb94b77df4647cdb8b98407 inherit pub_methods_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8eb84be4b5cc91731c16be4f32f5bf3d inherit pub_methods_classost_1_1_socket"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_socket.html#a8eb84be4b5cc91731c16be4f32f5bf3d">isPending</a> (<a class="el" href="classost_1_1_socket.html#a2cb9ccad21fc2f10c23e45cbb99bc6f8">Pending</a> pend, <a class="el" href="thread_8h.html#af412159e5cef839836a5e7b19ee75d1c">timeout_t</a> timeout=<a class="el" href="thread_8h.html#a74f2d4c747bce0b8f7f7c1f48e651876">TIMEOUT_INF</a>)</td></tr>
<tr class="memdesc:a8eb84be4b5cc91731c16be4f32f5bf3d inherit pub_methods_classost_1_1_socket"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the status of pending operations.  <a href="#a8eb84be4b5cc91731c16be4f32f5bf3d">More...</a><br/></td></tr>
<tr class="separator:a8eb84be4b5cc91731c16be4f32f5bf3d inherit pub_methods_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classost_1_1_timer_port"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classost_1_1_timer_port')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classost_1_1_timer_port.html">ost::TimerPort</a></td></tr>
<tr class="memitem:ad9ecc3aa1d6c62ac2e54e3e725d0c2c2 inherit pub_methods_classost_1_1_timer_port"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_timer_port.html#ad9ecc3aa1d6c62ac2e54e3e725d0c2c2">TimerPort</a> ()</td></tr>
<tr class="memdesc:ad9ecc3aa1d6c62ac2e54e3e725d0c2c2 inherit pub_methods_classost_1_1_timer_port"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a timer, mark it as inactive, and set the initial "start" time to the creation time of the timer object.  <a href="#ad9ecc3aa1d6c62ac2e54e3e725d0c2c2">More...</a><br/></td></tr>
<tr class="separator:ad9ecc3aa1d6c62ac2e54e3e725d0c2c2 inherit pub_methods_classost_1_1_timer_port"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a32b59a072fe60d94251a53579b3ca17f inherit pub_methods_classost_1_1_timer_port"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_timer_port.html#a32b59a072fe60d94251a53579b3ca17f">setTimer</a> (<a class="el" href="thread_8h.html#af412159e5cef839836a5e7b19ee75d1c">timeout_t</a> timeout=0)</td></tr>
<tr class="memdesc:a32b59a072fe60d94251a53579b3ca17f inherit pub_methods_classost_1_1_timer_port"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set a new start time for the object based on when this call is made and optionally activate the timer for a specified number of milliseconds.  <a href="#a32b59a072fe60d94251a53579b3ca17f">More...</a><br/></td></tr>
<tr class="separator:a32b59a072fe60d94251a53579b3ca17f inherit pub_methods_classost_1_1_timer_port"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab2c732120c3bb09e8d38a87b7443906d inherit pub_methods_classost_1_1_timer_port"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_timer_port.html#ab2c732120c3bb09e8d38a87b7443906d">incTimer</a> (<a class="el" href="thread_8h.html#af412159e5cef839836a5e7b19ee75d1c">timeout_t</a> timeout)</td></tr>
<tr class="memdesc:ab2c732120c3bb09e8d38a87b7443906d inherit pub_methods_classost_1_1_timer_port"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set a timeout based on the current time reference value either from object creation or the last <a class="el" href="classost_1_1_timer_port.html#a32b59a072fe60d94251a53579b3ca17f" title="Set a new start time for the object based on when this call is made and optionally activate the timer...">setTimer()</a>.  <a href="#ab2c732120c3bb09e8d38a87b7443906d">More...</a><br/></td></tr>
<tr class="separator:ab2c732120c3bb09e8d38a87b7443906d inherit pub_methods_classost_1_1_timer_port"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a86a366beb2159e41f5a1eb5daecf785b inherit pub_methods_classost_1_1_timer_port"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_timer_port.html#a86a366beb2159e41f5a1eb5daecf785b">decTimer</a> (<a class="el" href="thread_8h.html#af412159e5cef839836a5e7b19ee75d1c">timeout_t</a> timeout)</td></tr>
<tr class="memdesc:a86a366beb2159e41f5a1eb5daecf785b inherit pub_methods_classost_1_1_timer_port"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adjust a timeout based on the current time reference value either from object creation or the last <a class="el" href="classost_1_1_timer_port.html#a32b59a072fe60d94251a53579b3ca17f" title="Set a new start time for the object based on when this call is made and optionally activate the timer...">setTimer()</a>.  <a href="#a86a366beb2159e41f5a1eb5daecf785b">More...</a><br/></td></tr>
<tr class="separator:a86a366beb2159e41f5a1eb5daecf785b inherit pub_methods_classost_1_1_timer_port"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a309d9061cc2b48931dee1adbf3ff6a7e inherit pub_methods_classost_1_1_timer_port"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_timer_port.html#a309d9061cc2b48931dee1adbf3ff6a7e">sleepTimer</a> (void)</td></tr>
<tr class="memdesc:a309d9061cc2b48931dee1adbf3ff6a7e inherit pub_methods_classost_1_1_timer_port"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sleep until the current timer expires.  <a href="#a309d9061cc2b48931dee1adbf3ff6a7e">More...</a><br/></td></tr>
<tr class="separator:a309d9061cc2b48931dee1adbf3ff6a7e inherit pub_methods_classost_1_1_timer_port"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9f473745a237d71219096c9a5b440445 inherit pub_methods_classost_1_1_timer_port"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_timer_port.html#a9f473745a237d71219096c9a5b440445">endTimer</a> (void)</td></tr>
<tr class="memdesc:a9f473745a237d71219096c9a5b440445 inherit pub_methods_classost_1_1_timer_port"><td class="mdescLeft">&#160;</td><td class="mdescRight">This is used to "disable" the service thread from expiring the timer object.  <a href="#a9f473745a237d71219096c9a5b440445">More...</a><br/></td></tr>
<tr class="separator:a9f473745a237d71219096c9a5b440445 inherit pub_methods_classost_1_1_timer_port"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7c8c5396ab12d69dd9048e88b0cb125c inherit pub_methods_classost_1_1_timer_port"><td class="memItemLeft" align="right" valign="top"><a class="el" href="thread_8h.html#af412159e5cef839836a5e7b19ee75d1c">timeout_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_timer_port.html#a7c8c5396ab12d69dd9048e88b0cb125c">getTimer</a> (void) const </td></tr>
<tr class="memdesc:a7c8c5396ab12d69dd9048e88b0cb125c inherit pub_methods_classost_1_1_timer_port"><td class="mdescLeft">&#160;</td><td class="mdescRight">This is used by service threads to determine how much time remains before the timer expires based on a timeout specified in <a class="el" href="classost_1_1_timer_port.html#a32b59a072fe60d94251a53579b3ca17f" title="Set a new start time for the object based on when this call is made and optionally activate the timer...">setTimer()</a> or <a class="el" href="classost_1_1_timer_port.html#ab2c732120c3bb09e8d38a87b7443906d" title="Set a timeout based on the current time reference value either from object creation or the last setTi...">incTimer()</a>.  <a href="#a7c8c5396ab12d69dd9048e88b0cb125c">More...</a><br/></td></tr>
<tr class="separator:a7c8c5396ab12d69dd9048e88b0cb125c inherit pub_methods_classost_1_1_timer_port"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac46e765c47dafaac921ed00b40b92018 inherit pub_methods_classost_1_1_timer_port"><td class="memItemLeft" align="right" valign="top"><a class="el" href="thread_8h.html#af412159e5cef839836a5e7b19ee75d1c">timeout_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_timer_port.html#ac46e765c47dafaac921ed00b40b92018">getElapsed</a> (void) const </td></tr>
<tr class="memdesc:ac46e765c47dafaac921ed00b40b92018 inherit pub_methods_classost_1_1_timer_port"><td class="mdescLeft">&#160;</td><td class="mdescRight">This is used to determine how much time has elapsed since a timer port setTimer benchmark time was initially set.  <a href="#ac46e765c47dafaac921ed00b40b92018">More...</a><br/></td></tr>
<tr class="separator:ac46e765c47dafaac921ed00b40b92018 inherit pub_methods_classost_1_1_timer_port"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:a3e1456c5b19bb0dc58df0356c055709a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_socket_port.html#a3e1456c5b19bb0dc58df0356c055709a">SocketPort</a> (<a class="el" href="classost_1_1_socket_service.html">SocketService</a> *svc, <a class="el" href="classost_1_1_t_c_p_socket.html">TCPSocket</a> &amp;tcp)</td></tr>
<tr class="memdesc:a3e1456c5b19bb0dc58df0356c055709a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct an accepted TCP socket connection from a specific bound TCP server.  <a href="#a3e1456c5b19bb0dc58df0356c055709a">More...</a><br/></td></tr>
<tr class="separator:a3e1456c5b19bb0dc58df0356c055709a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aedfa5983eefe7e5bca5b3f4c4752ef88"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_socket_port.html#aedfa5983eefe7e5bca5b3f4c4752ef88">SocketPort</a> (<a class="el" href="classost_1_1_socket_service.html">SocketService</a> *svc, <a class="el" href="classost_1_1_t_c_p_v6_socket.html">TCPV6Socket</a> &amp;tcp)</td></tr>
<tr class="separator:aedfa5983eefe7e5bca5b3f4c4752ef88"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae48593fbe73189d452f62ac6864f832f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_socket_port.html#ae48593fbe73189d452f62ac6864f832f">SocketPort</a> (<a class="el" href="classost_1_1_socket_service.html">SocketService</a> *svc, const <a class="el" href="classost_1_1_i_p_v4_address.html">IPV4Address</a> &amp;ia, <a class="el" href="namespaceost.html#a3c74a1a40c359fd349f3e3e1b96ebfc7">tpport_t</a> port)</td></tr>
<tr class="memdesc:ae48593fbe73189d452f62ac6864f832f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct a bound UDP socket for use in deriving realtime UDP streaming protocols handled by thread pool objects.  <a href="#ae48593fbe73189d452f62ac6864f832f">More...</a><br/></td></tr>
<tr class="separator:ae48593fbe73189d452f62ac6864f832f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adf67a624a192a3eaffbf59891669b1bd"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_socket_port.html#adf67a624a192a3eaffbf59891669b1bd">SocketPort</a> (<a class="el" href="classost_1_1_socket_service.html">SocketService</a> *svc, const <a class="el" href="classost_1_1_i_p_v6_address.html">IPV6Address</a> &amp;ia, <a class="el" href="namespaceost.html#a3c74a1a40c359fd349f3e3e1b96ebfc7">tpport_t</a> port)</td></tr>
<tr class="separator:adf67a624a192a3eaffbf59891669b1bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac30498e30cd95a8f91c395ebb6e6116a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_socket_port.html#ac30498e30cd95a8f91c395ebb6e6116a">SocketPort</a> (<a class="el" href="classost_1_1_socket_service.html">SocketService</a> *svc, const <a class="el" href="classost_1_1_i_p_v4_host.html">IPV4Host</a> &amp;ih, <a class="el" href="namespaceost.html#a3c74a1a40c359fd349f3e3e1b96ebfc7">tpport_t</a> port)</td></tr>
<tr class="memdesc:ac30498e30cd95a8f91c395ebb6e6116a"><td class="mdescLeft">&#160;</td><td class="mdescRight">A non-blocking constructor for outbound tcp connections.  <a href="#ac30498e30cd95a8f91c395ebb6e6116a">More...</a><br/></td></tr>
<tr class="separator:ac30498e30cd95a8f91c395ebb6e6116a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0aee0992af4ffdbda14489ef094a89fd"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_socket_port.html#a0aee0992af4ffdbda14489ef094a89fd">SocketPort</a> (<a class="el" href="classost_1_1_socket_service.html">SocketService</a> *svc, const <a class="el" href="classost_1_1_i_p_v6_host.html">IPV6Host</a> &amp;ih, <a class="el" href="namespaceost.html#a3c74a1a40c359fd349f3e3e1b96ebfc7">tpport_t</a> port)</td></tr>
<tr class="separator:a0aee0992af4ffdbda14489ef094a89fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aed5fbff0b874da8e24add7f6cc50b65e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_socket_port.html#aed5fbff0b874da8e24add7f6cc50b65e">attach</a> (<a class="el" href="classost_1_1_socket_service.html">SocketService</a> *svc)</td></tr>
<tr class="memdesc:aed5fbff0b874da8e24add7f6cc50b65e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Attach yourself to the service pool thread object.  <a href="#aed5fbff0b874da8e24add7f6cc50b65e">More...</a><br/></td></tr>
<tr class="separator:aed5fbff0b874da8e24add7f6cc50b65e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8c9fcdcd63fae060e12801ddf6ab12db"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_socket_port.html#a8c9fcdcd63fae060e12801ddf6ab12db">~SocketPort</a> ()</td></tr>
<tr class="memdesc:a8c9fcdcd63fae060e12801ddf6ab12db"><td class="mdescLeft">&#160;</td><td class="mdescRight">Disconnect the socket from the service thread pool and the remote connection.  <a href="#a8c9fcdcd63fae060e12801ddf6ab12db">More...</a><br/></td></tr>
<tr class="separator:a8c9fcdcd63fae060e12801ddf6ab12db"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a908891c78c95d66424cde91e52299c29"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_socket_port.html#a908891c78c95d66424cde91e52299c29">setDetectPending</a> (bool)</td></tr>
<tr class="memdesc:a908891c78c95d66424cde91e52299c29"><td class="mdescLeft">&#160;</td><td class="mdescRight">Used to indicate if the service thread should monitor pending data for us.  <a href="#a908891c78c95d66424cde91e52299c29">More...</a><br/></td></tr>
<tr class="separator:a908891c78c95d66424cde91e52299c29"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af1e65f719e39f651ad8789183f8905c9"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_socket_port.html#af1e65f719e39f651ad8789183f8905c9">getDetectPending</a> (void) const </td></tr>
<tr class="memdesc:af1e65f719e39f651ad8789183f8905c9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the current state of the DetectPending flag.  <a href="#af1e65f719e39f651ad8789183f8905c9">More...</a><br/></td></tr>
<tr class="separator:af1e65f719e39f651ad8789183f8905c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a229b32cb2bf8a306b8882413748eb44c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_socket_port.html#a229b32cb2bf8a306b8882413748eb44c">setDetectOutput</a> (bool)</td></tr>
<tr class="memdesc:a229b32cb2bf8a306b8882413748eb44c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Used to indicate if output ready monitoring should be performed by the service thread.  <a href="#a229b32cb2bf8a306b8882413748eb44c">More...</a><br/></td></tr>
<tr class="separator:a229b32cb2bf8a306b8882413748eb44c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a80a16072f163a5a49341c4fd495fd9b1"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_socket_port.html#a80a16072f163a5a49341c4fd495fd9b1">getDetectOutput</a> (void) const </td></tr>
<tr class="memdesc:a80a16072f163a5a49341c4fd495fd9b1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the current state of the DetectOutput flag.  <a href="#a80a16072f163a5a49341c4fd495fd9b1">More...</a><br/></td></tr>
<tr class="separator:a80a16072f163a5a49341c4fd495fd9b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4d09daed3fe5cb81259985db87add34d"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_socket_port.html#a4d09daed3fe5cb81259985db87add34d">expired</a> (void)</td></tr>
<tr class="memdesc:a4d09daed3fe5cb81259985db87add34d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Called by the service thread pool when the objects timer has expired.  <a href="#a4d09daed3fe5cb81259985db87add34d">More...</a><br/></td></tr>
<tr class="separator:a4d09daed3fe5cb81259985db87add34d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5e0ec242cfb737db369cbc63abcc06b6"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_socket_port.html#a5e0ec242cfb737db369cbc63abcc06b6">pending</a> (void)</td></tr>
<tr class="memdesc:a5e0ec242cfb737db369cbc63abcc06b6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Called by the service thread pool when input data is pending for this socket.  <a href="#a5e0ec242cfb737db369cbc63abcc06b6">More...</a><br/></td></tr>
<tr class="separator:a5e0ec242cfb737db369cbc63abcc06b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af333abc3b9f8f8b2ce4d286d64d54848"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_socket_port.html#af333abc3b9f8f8b2ce4d286d64d54848">output</a> (void)</td></tr>
<tr class="memdesc:af333abc3b9f8f8b2ce4d286d64d54848"><td class="mdescLeft">&#160;</td><td class="mdescRight">Called by the service thread pool when output data is pending for this socket.  <a href="#af333abc3b9f8f8b2ce4d286d64d54848">More...</a><br/></td></tr>
<tr class="separator:af333abc3b9f8f8b2ce4d286d64d54848"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7b2a739ee0cb11bc6332010f4cd21552"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_socket_port.html#a7b2a739ee0cb11bc6332010f4cd21552">disconnect</a> (void)</td></tr>
<tr class="memdesc:a7b2a739ee0cb11bc6332010f4cd21552"><td class="mdescLeft">&#160;</td><td class="mdescRight">Called by the service thread pool when a disconnect has occured.  <a href="#a7b2a739ee0cb11bc6332010f4cd21552">More...</a><br/></td></tr>
<tr class="separator:a7b2a739ee0cb11bc6332010f4cd21552"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3601785c16646b7e323cf2d267ce7481"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classost_1_1_socket.html#ae056b6dd4f167163083b7ab602fd3f3f">Error</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_socket_port.html#a3601785c16646b7e323cf2d267ce7481">connect</a> (const <a class="el" href="classost_1_1_i_p_v4_address.html">IPV4Address</a> &amp;ia, <a class="el" href="namespaceost.html#a3c74a1a40c359fd349f3e3e1b96ebfc7">tpport_t</a> port)</td></tr>
<tr class="memdesc:a3601785c16646b7e323cf2d267ce7481"><td class="mdescLeft">&#160;</td><td class="mdescRight">Connect a <a class="el" href="classost_1_1_socket.html" title="The Socket is used as the base for all Internet protocol services under Common C++. ">Socket</a> Port to a known peer host.  <a href="#a3601785c16646b7e323cf2d267ce7481">More...</a><br/></td></tr>
<tr class="separator:a3601785c16646b7e323cf2d267ce7481"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0edb8c155c97099cc0660b3ad1eef77f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classost_1_1_socket.html#ae056b6dd4f167163083b7ab602fd3f3f">Error</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_socket_port.html#a0edb8c155c97099cc0660b3ad1eef77f">connect</a> (const <a class="el" href="classost_1_1_i_p_v6_address.html">IPV6Address</a> &amp;ia, <a class="el" href="namespaceost.html#a3c74a1a40c359fd349f3e3e1b96ebfc7">tpport_t</a> port)</td></tr>
<tr class="separator:a0edb8c155c97099cc0660b3ad1eef77f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9218e4528f5bdf4215200e2040eefe5b"><td class="memItemLeft" align="right" valign="top">ssize_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_socket_port.html#a9218e4528f5bdf4215200e2040eefe5b">send</a> (const void *buf, size_t len)</td></tr>
<tr class="memdesc:a9218e4528f5bdf4215200e2040eefe5b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Transmit "send" data to a connected peer host.  <a href="#a9218e4528f5bdf4215200e2040eefe5b">More...</a><br/></td></tr>
<tr class="separator:a9218e4528f5bdf4215200e2040eefe5b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a872c38a65b17113a580af345946146d7"><td class="memItemLeft" align="right" valign="top">ssize_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_socket_port.html#a872c38a65b17113a580af345946146d7">receive</a> (void *buf, size_t len)</td></tr>
<tr class="memdesc:a872c38a65b17113a580af345946146d7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Receive a message from any host.  <a href="#a872c38a65b17113a580af345946146d7">More...</a><br/></td></tr>
<tr class="separator:a872c38a65b17113a580af345946146d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afb7798f8cc7e50d42ad82a1537e89c63"><td class="memItemLeft" align="right" valign="top">ssize_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_socket_port.html#afb7798f8cc7e50d42ad82a1537e89c63">peek</a> (void *buf, size_t len)</td></tr>
<tr class="memdesc:afb7798f8cc7e50d42ad82a1537e89c63"><td class="mdescLeft">&#160;</td><td class="mdescRight">Examine the content of the next packet.  <a href="#afb7798f8cc7e50d42ad82a1537e89c63">More...</a><br/></td></tr>
<tr class="separator:afb7798f8cc7e50d42ad82a1537e89c63"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_methods_classost_1_1_socket"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classost_1_1_socket')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="classost_1_1_socket.html">ost::Socket</a></td></tr>
<tr class="memitem:acc5fdba2a70aa9241de6cf59355e47b3 inherit pro_methods_classost_1_1_socket"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classost_1_1_socket.html#ae056b6dd4f167163083b7ab602fd3f3f">Error</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_socket.html#acc5fdba2a70aa9241de6cf59355e47b3">error</a> (<a class="el" href="classost_1_1_socket.html#ae056b6dd4f167163083b7ab602fd3f3f">Error</a> error, const char *err=NULL, long systemError=0) const </td></tr>
<tr class="memdesc:acc5fdba2a70aa9241de6cf59355e47b3 inherit pro_methods_classost_1_1_socket"><td class="mdescLeft">&#160;</td><td class="mdescRight">This service is used to throw all socket errors which usually occur during the socket constructor.  <a href="#acc5fdba2a70aa9241de6cf59355e47b3">More...</a><br/></td></tr>
<tr class="separator:acc5fdba2a70aa9241de6cf59355e47b3 inherit pro_methods_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4f06b1af9c42afcc36739aa6b80982ef inherit pro_methods_classost_1_1_socket"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_socket.html#a4f06b1af9c42afcc36739aa6b80982ef">error</a> (const char *err) const </td></tr>
<tr class="memdesc:a4f06b1af9c42afcc36739aa6b80982ef inherit pro_methods_classost_1_1_socket"><td class="mdescLeft">&#160;</td><td class="mdescRight">This service is used to throw application defined socket errors where the application specific error code is a string.  <a href="#a4f06b1af9c42afcc36739aa6b80982ef">More...</a><br/></td></tr>
<tr class="separator:a4f06b1af9c42afcc36739aa6b80982ef inherit pro_methods_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6f54a68eab25ab41bbe13ba87a48b435 inherit pro_methods_classost_1_1_socket"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_socket.html#a6f54a68eab25ab41bbe13ba87a48b435">setError</a> (bool enable)</td></tr>
<tr class="memdesc:a6f54a68eab25ab41bbe13ba87a48b435 inherit pro_methods_classost_1_1_socket"><td class="mdescLeft">&#160;</td><td class="mdescRight">This service is used to turn the error handler on or off for "throwing" exceptions by manipulating the thrown flag.  <a href="#a6f54a68eab25ab41bbe13ba87a48b435">More...</a><br/></td></tr>
<tr class="separator:a6f54a68eab25ab41bbe13ba87a48b435 inherit pro_methods_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3ab340e773f0214eefcf66f588bcf174 inherit pro_methods_classost_1_1_socket"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_socket.html#a3ab340e773f0214eefcf66f588bcf174">endSocket</a> (void)</td></tr>
<tr class="memdesc:a3ab340e773f0214eefcf66f588bcf174 inherit pro_methods_classost_1_1_socket"><td class="mdescLeft">&#160;</td><td class="mdescRight">Used as the default destructor for ending a socket.  <a href="#a3ab340e773f0214eefcf66f588bcf174">More...</a><br/></td></tr>
<tr class="separator:a3ab340e773f0214eefcf66f588bcf174 inherit pro_methods_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a217dc5ca83ea9fe3849bc34b6ee5253d inherit pro_methods_classost_1_1_socket"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classost_1_1_socket.html#ae056b6dd4f167163083b7ab602fd3f3f">Error</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_socket.html#a217dc5ca83ea9fe3849bc34b6ee5253d">connectError</a> (void)</td></tr>
<tr class="memdesc:a217dc5ca83ea9fe3849bc34b6ee5253d inherit pro_methods_classost_1_1_socket"><td class="mdescLeft">&#160;</td><td class="mdescRight">Used as a common handler for connection failure processing.  <a href="#a217dc5ca83ea9fe3849bc34b6ee5253d">More...</a><br/></td></tr>
<tr class="separator:a217dc5ca83ea9fe3849bc34b6ee5253d inherit pro_methods_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a101d527767089e3df6d8cbff84829791 inherit pro_methods_classost_1_1_socket"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classost_1_1_socket.html#ae056b6dd4f167163083b7ab602fd3f3f">Error</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_socket.html#a101d527767089e3df6d8cbff84829791">sendLimit</a> (int limit=2048)</td></tr>
<tr class="memdesc:a101d527767089e3df6d8cbff84829791 inherit pro_methods_classost_1_1_socket"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the send limit.  <a href="#a101d527767089e3df6d8cbff84829791">More...</a><br/></td></tr>
<tr class="separator:a101d527767089e3df6d8cbff84829791 inherit pro_methods_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae9b26fb7d8253c5507d9d1b92bd50742 inherit pro_methods_classost_1_1_socket"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classost_1_1_socket.html#ae056b6dd4f167163083b7ab602fd3f3f">Error</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_socket.html#ae9b26fb7d8253c5507d9d1b92bd50742">receiveLimit</a> (int limit=1)</td></tr>
<tr class="memdesc:ae9b26fb7d8253c5507d9d1b92bd50742 inherit pro_methods_classost_1_1_socket"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set thr receive limit.  <a href="#ae9b26fb7d8253c5507d9d1b92bd50742">More...</a><br/></td></tr>
<tr class="separator:ae9b26fb7d8253c5507d9d1b92bd50742 inherit pro_methods_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae7db59127b8297729d668d4eeed8ccab inherit pro_methods_classost_1_1_socket"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classost_1_1_socket.html#ae056b6dd4f167163083b7ab602fd3f3f">Error</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_socket.html#ae7db59127b8297729d668d4eeed8ccab">sendTimeout</a> (<a class="el" href="thread_8h.html#af412159e5cef839836a5e7b19ee75d1c">timeout_t</a> timer)</td></tr>
<tr class="memdesc:ae7db59127b8297729d668d4eeed8ccab inherit pro_methods_classost_1_1_socket"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the send timeout for sending raw network data.  <a href="#ae7db59127b8297729d668d4eeed8ccab">More...</a><br/></td></tr>
<tr class="separator:ae7db59127b8297729d668d4eeed8ccab inherit pro_methods_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a20b144ed2110e3b1c597875aa44be6df inherit pro_methods_classost_1_1_socket"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classost_1_1_socket.html#ae056b6dd4f167163083b7ab602fd3f3f">Error</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_socket.html#a20b144ed2110e3b1c597875aa44be6df">receiveTimeout</a> (<a class="el" href="thread_8h.html#af412159e5cef839836a5e7b19ee75d1c">timeout_t</a> timer)</td></tr>
<tr class="memdesc:a20b144ed2110e3b1c597875aa44be6df inherit pro_methods_classost_1_1_socket"><td class="mdescLeft">&#160;</td><td class="mdescRight">Receive timeout for receiving raw network data.  <a href="#a20b144ed2110e3b1c597875aa44be6df">More...</a><br/></td></tr>
<tr class="separator:a20b144ed2110e3b1c597875aa44be6df inherit pro_methods_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a20ad4739d705c429a9eb5388e4a3bccf inherit pro_methods_classost_1_1_socket"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classost_1_1_socket.html#ae056b6dd4f167163083b7ab602fd3f3f">Error</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_socket.html#a20ad4739d705c429a9eb5388e4a3bccf">sendBuffer</a> (unsigned size)</td></tr>
<tr class="memdesc:a20ad4739d705c429a9eb5388e4a3bccf inherit pro_methods_classost_1_1_socket"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the protocol stack network kernel send buffer size associated with the socket.  <a href="#a20ad4739d705c429a9eb5388e4a3bccf">More...</a><br/></td></tr>
<tr class="separator:a20ad4739d705c429a9eb5388e4a3bccf inherit pro_methods_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae3bd5146ee9b4b5dbc0da8bbbc8457ce inherit pro_methods_classost_1_1_socket"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classost_1_1_socket.html#ae056b6dd4f167163083b7ab602fd3f3f">Error</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_socket.html#ae3bd5146ee9b4b5dbc0da8bbbc8457ce">receiveBuffer</a> (unsigned size)</td></tr>
<tr class="memdesc:ae3bd5146ee9b4b5dbc0da8bbbc8457ce inherit pro_methods_classost_1_1_socket"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the protocol stack network kernel receive buffer size associated with the socket.  <a href="#ae3bd5146ee9b4b5dbc0da8bbbc8457ce">More...</a><br/></td></tr>
<tr class="separator:ae3bd5146ee9b4b5dbc0da8bbbc8457ce inherit pro_methods_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adbc655480acedfcc5febdd28631f0fa7 inherit pro_methods_classost_1_1_socket"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classost_1_1_socket.html#ae056b6dd4f167163083b7ab602fd3f3f">Error</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_socket.html#adbc655480acedfcc5febdd28631f0fa7">bufferSize</a> (unsigned size)</td></tr>
<tr class="memdesc:adbc655480acedfcc5febdd28631f0fa7 inherit pro_methods_classost_1_1_socket"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the total protocol stack network kernel buffer size for both send and receive together.  <a href="#adbc655480acedfcc5febdd28631f0fa7">More...</a><br/></td></tr>
<tr class="separator:adbc655480acedfcc5febdd28631f0fa7 inherit pro_methods_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1a507041ee5741bcdc906707b1735781 inherit pro_methods_classost_1_1_socket"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classost_1_1_socket.html#ae056b6dd4f167163083b7ab602fd3f3f">Error</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_socket.html#a1a507041ee5741bcdc906707b1735781">setBroadcast</a> (bool enable)</td></tr>
<tr class="memdesc:a1a507041ee5741bcdc906707b1735781 inherit pro_methods_classost_1_1_socket"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the subnet broadcast flag for the socket.  <a href="#a1a507041ee5741bcdc906707b1735781">More...</a><br/></td></tr>
<tr class="separator:a1a507041ee5741bcdc906707b1735781 inherit pro_methods_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a09b396c3fc7316061a3f0539e918a43f inherit pro_methods_classost_1_1_socket"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classost_1_1_socket.html#ae056b6dd4f167163083b7ab602fd3f3f">Error</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_socket.html#a09b396c3fc7316061a3f0539e918a43f">setMulticastByFamily</a> (bool enable, <a class="el" href="classost_1_1_socket.html#a36a69681caa020f1abed34ae71d206ef">Family</a> family=<a class="el" href="classost_1_1_socket.html#a36a69681caa020f1abed34ae71d206efa5bd9a46a5c0f46815c98feeb02e5e926">IPV4</a>)</td></tr>
<tr class="memdesc:a09b396c3fc7316061a3f0539e918a43f inherit pro_methods_classost_1_1_socket"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setting multicast binds the multicast interface used for the socket to the interface the socket itself has been implicitly bound to.  <a href="#a09b396c3fc7316061a3f0539e918a43f">More...</a><br/></td></tr>
<tr class="separator:a09b396c3fc7316061a3f0539e918a43f inherit pro_methods_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a08683bc57bede572b8effb07a3fc68dc inherit pro_methods_classost_1_1_socket"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classost_1_1_socket.html#ae056b6dd4f167163083b7ab602fd3f3f">Error</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_socket.html#a08683bc57bede572b8effb07a3fc68dc">setLoopbackByFamily</a> (bool enable, <a class="el" href="classost_1_1_socket.html#a36a69681caa020f1abed34ae71d206ef">Family</a> family=<a class="el" href="classost_1_1_socket.html#a36a69681caa020f1abed34ae71d206efa5bd9a46a5c0f46815c98feeb02e5e926">IPV4</a>)</td></tr>
<tr class="memdesc:a08683bc57bede572b8effb07a3fc68dc inherit pro_methods_classost_1_1_socket"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the multicast loopback flag for the socket.  <a href="#a08683bc57bede572b8effb07a3fc68dc">More...</a><br/></td></tr>
<tr class="separator:a08683bc57bede572b8effb07a3fc68dc inherit pro_methods_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a23d69227150ae996caf76b01024c1b20 inherit pro_methods_classost_1_1_socket"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classost_1_1_socket.html#ae056b6dd4f167163083b7ab602fd3f3f">Error</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_socket.html#a23d69227150ae996caf76b01024c1b20">setTimeToLiveByFamily</a> (unsigned char <a class="el" href="classost_1_1_socket.html#a6adc7a5d594ab3b8bace496f7a6757e9">ttl</a>, <a class="el" href="classost_1_1_socket.html#a36a69681caa020f1abed34ae71d206ef">Family</a> fam=<a class="el" href="classost_1_1_socket.html#a36a69681caa020f1abed34ae71d206efa5bd9a46a5c0f46815c98feeb02e5e926">IPV4</a>)</td></tr>
<tr class="memdesc:a23d69227150ae996caf76b01024c1b20 inherit pro_methods_classost_1_1_socket"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the multicast time to live for a multicast socket.  <a href="#a23d69227150ae996caf76b01024c1b20">More...</a><br/></td></tr>
<tr class="separator:a23d69227150ae996caf76b01024c1b20 inherit pro_methods_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afb0e2d234f461ce45711bff52ffc96ad inherit pro_methods_classost_1_1_socket"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classost_1_1_socket.html#ae056b6dd4f167163083b7ab602fd3f3f">Error</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_socket.html#afb0e2d234f461ce45711bff52ffc96ad">join</a> (const <a class="el" href="classost_1_1_i_p_v4_multicast.html">IPV4Multicast</a> &amp;ia)</td></tr>
<tr class="memdesc:afb0e2d234f461ce45711bff52ffc96ad inherit pro_methods_classost_1_1_socket"><td class="mdescLeft">&#160;</td><td class="mdescRight">Join a multicast group.  <a href="#afb0e2d234f461ce45711bff52ffc96ad">More...</a><br/></td></tr>
<tr class="separator:afb0e2d234f461ce45711bff52ffc96ad inherit pro_methods_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab7d4e7cfd0411833ab0b02db1dbed8d5 inherit pro_methods_classost_1_1_socket"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classost_1_1_socket.html#ae056b6dd4f167163083b7ab602fd3f3f">Error</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_socket.html#ab7d4e7cfd0411833ab0b02db1dbed8d5">join</a> (const <a class="el" href="classost_1_1_i_p_v6_multicast.html">IPV6Multicast</a> &amp;ia)</td></tr>
<tr class="separator:ab7d4e7cfd0411833ab0b02db1dbed8d5 inherit pro_methods_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac59c08e11070a1602352da5c54332d9e inherit pro_methods_classost_1_1_socket"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classost_1_1_socket.html#ae056b6dd4f167163083b7ab602fd3f3f">Error</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_socket.html#ac59c08e11070a1602352da5c54332d9e">drop</a> (const <a class="el" href="classost_1_1_i_p_v4_multicast.html">IPV4Multicast</a> &amp;ia)</td></tr>
<tr class="memdesc:ac59c08e11070a1602352da5c54332d9e inherit pro_methods_classost_1_1_socket"><td class="mdescLeft">&#160;</td><td class="mdescRight">Drop membership from a multicast group.  <a href="#ac59c08e11070a1602352da5c54332d9e">More...</a><br/></td></tr>
<tr class="separator:ac59c08e11070a1602352da5c54332d9e inherit pro_methods_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a54bb968bfe110dc65bd5d0fb4a47383d inherit pro_methods_classost_1_1_socket"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classost_1_1_socket.html#ae056b6dd4f167163083b7ab602fd3f3f">Error</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_socket.html#a54bb968bfe110dc65bd5d0fb4a47383d">drop</a> (const <a class="el" href="classost_1_1_i_p_v6_multicast.html">IPV6Multicast</a> &amp;ia)</td></tr>
<tr class="separator:a54bb968bfe110dc65bd5d0fb4a47383d inherit pro_methods_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2165fdf85e39e6a8aaff3da889ae7e20 inherit pro_methods_classost_1_1_socket"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classost_1_1_socket.html#ae056b6dd4f167163083b7ab602fd3f3f">Error</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_socket.html#a2165fdf85e39e6a8aaff3da889ae7e20">setRouting</a> (bool enable)</td></tr>
<tr class="memdesc:a2165fdf85e39e6a8aaff3da889ae7e20 inherit pro_methods_classost_1_1_socket"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the socket routing to indicate if outgoing messages should bypass normal routing (set false).  <a href="#a2165fdf85e39e6a8aaff3da889ae7e20">More...</a><br/></td></tr>
<tr class="separator:a2165fdf85e39e6a8aaff3da889ae7e20 inherit pro_methods_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa2c47291cf56762847cf82edfc63e473 inherit pro_methods_classost_1_1_socket"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classost_1_1_socket.html#ae056b6dd4f167163083b7ab602fd3f3f">Error</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_socket.html#aa2c47291cf56762847cf82edfc63e473">setNoDelay</a> (bool enable)</td></tr>
<tr class="memdesc:aa2c47291cf56762847cf82edfc63e473 inherit pro_methods_classost_1_1_socket"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable/disable delaying packets (Nagle algorithm)  <a href="#aa2c47291cf56762847cf82edfc63e473">More...</a><br/></td></tr>
<tr class="separator:aa2c47291cf56762847cf82edfc63e473 inherit pro_methods_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a80235ff77955cff4f3b44dfcd4546939 inherit pro_methods_classost_1_1_socket"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_socket.html#a80235ff77955cff4f3b44dfcd4546939">Socket</a> (int domain, int type, int protocol=0)</td></tr>
<tr class="memdesc:a80235ff77955cff4f3b44dfcd4546939 inherit pro_methods_classost_1_1_socket"><td class="mdescLeft">&#160;</td><td class="mdescRight">An unconnected socket may be created directly on the local machine.  <a href="#a80235ff77955cff4f3b44dfcd4546939">More...</a><br/></td></tr>
<tr class="separator:a80235ff77955cff4f3b44dfcd4546939 inherit pro_methods_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab626d95fcde74c4e1f1ba1da49b941fb inherit pro_methods_classost_1_1_socket"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_socket.html#ab626d95fcde74c4e1f1ba1da49b941fb">Socket</a> (<a class="el" href="socket_8h.html#a8dc8083897335125630f1af5dafd5831">SOCKET</a> fd)</td></tr>
<tr class="memdesc:ab626d95fcde74c4e1f1ba1da49b941fb inherit pro_methods_classost_1_1_socket"><td class="mdescLeft">&#160;</td><td class="mdescRight">A socket object may be created from a file descriptor when that descriptor was created either through a socket() or accept() call.  <a href="#ab626d95fcde74c4e1f1ba1da49b941fb">More...</a><br/></td></tr>
<tr class="separator:ab626d95fcde74c4e1f1ba1da49b941fb inherit pro_methods_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeda9b71324d761b3e6ac45c25613d048 inherit pro_methods_classost_1_1_socket"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_socket.html#aeda9b71324d761b3e6ac45c25613d048">Socket</a> ()</td></tr>
<tr class="memdesc:aeda9b71324d761b3e6ac45c25613d048 inherit pro_methods_classost_1_1_socket"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create an inactive socket object for base constructors.  <a href="#aeda9b71324d761b3e6ac45c25613d048">More...</a><br/></td></tr>
<tr class="separator:aeda9b71324d761b3e6ac45c25613d048 inherit pro_methods_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acc82106055495c1b464755807b622689 inherit pro_methods_classost_1_1_socket"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_socket.html#acc82106055495c1b464755807b622689">Socket</a> (const <a class="el" href="classost_1_1_socket.html">Socket</a> &amp;source)</td></tr>
<tr class="memdesc:acc82106055495c1b464755807b622689 inherit pro_methods_classost_1_1_socket"><td class="mdescLeft">&#160;</td><td class="mdescRight">A socket can also be constructed from an already existing <a class="el" href="classost_1_1_socket.html" title="The Socket is used as the base for all Internet protocol services under Common C++. ">Socket</a> object.  <a href="#acc82106055495c1b464755807b622689">More...</a><br/></td></tr>
<tr class="separator:acc82106055495c1b464755807b622689 inherit pro_methods_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a74e77522b18ff7f10774c2fd333b99c3 inherit pro_methods_classost_1_1_socket"><td class="memItemLeft" align="right" valign="top">ssize_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_socket.html#a74e77522b18ff7f10774c2fd333b99c3">readLine</a> (char *buf, size_t len, <a class="el" href="thread_8h.html#af412159e5cef839836a5e7b19ee75d1c">timeout_t</a> timeout=0)</td></tr>
<tr class="memdesc:a74e77522b18ff7f10774c2fd333b99c3 inherit pro_methods_classost_1_1_socket"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classost_1_1_process.html" title="A class for containing portable process related functions that help create portable code...">Process</a> a logical input line from a socket descriptor directly.  <a href="#a74e77522b18ff7f10774c2fd333b99c3">More...</a><br/></td></tr>
<tr class="separator:a74e77522b18ff7f10774c2fd333b99c3 inherit pro_methods_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a344ae2c256e388447f198288d2d0b41d inherit pro_methods_classost_1_1_socket"><td class="memItemLeft" align="right" valign="top">virtual ssize_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_socket.html#a344ae2c256e388447f198288d2d0b41d">readData</a> (void *buf, size_t len, char separator=0, <a class="el" href="thread_8h.html#af412159e5cef839836a5e7b19ee75d1c">timeout_t</a> t=0)</td></tr>
<tr class="memdesc:a344ae2c256e388447f198288d2d0b41d inherit pro_methods_classost_1_1_socket"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read in a block of len bytes with specific separator.  <a href="#a344ae2c256e388447f198288d2d0b41d">More...</a><br/></td></tr>
<tr class="separator:a344ae2c256e388447f198288d2d0b41d inherit pro_methods_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae81f041407f05517bc1a8b30896965f3 inherit pro_methods_classost_1_1_socket"><td class="memItemLeft" align="right" valign="top">virtual ssize_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_socket.html#ae81f041407f05517bc1a8b30896965f3">writeData</a> (const void *buf, size_t len, <a class="el" href="thread_8h.html#af412159e5cef839836a5e7b19ee75d1c">timeout_t</a> t=0)</td></tr>
<tr class="memdesc:ae81f041407f05517bc1a8b30896965f3 inherit pro_methods_classost_1_1_socket"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write a block of len bytes to socket.  <a href="#ae81f041407f05517bc1a8b30896965f3">More...</a><br/></td></tr>
<tr class="separator:ae81f041407f05517bc1a8b30896965f3 inherit pro_methods_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
Friends</h2></td></tr>
<tr class="memitem:a4b89563fb4861da0276ccd214f93122d"><td class="memItemLeft" align="right" valign="top">class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_socket_port.html#a4b89563fb4861da0276ccd214f93122d">SocketService</a></td></tr>
<tr class="separator:a4b89563fb4861da0276ccd214f93122d"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
Additional Inherited Members</h2></td></tr>
<tr class="inherit_header pub_types_classost_1_1_socket"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classost_1_1_socket')"><img src="closed.png" alt="-"/>&#160;Public Types inherited from <a class="el" href="classost_1_1_socket.html">ost::Socket</a></td></tr>
<tr class="memitem:a36a69681caa020f1abed34ae71d206ef inherit pub_types_classost_1_1_socket"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_socket.html#a36a69681caa020f1abed34ae71d206ef">Family</a> { <a class="el" href="classost_1_1_socket.html#a36a69681caa020f1abed34ae71d206efae49b01941932c262f6fbbc8e21d3340d">IPV6</a> = AF_INET6, 
<a class="el" href="classost_1_1_socket.html#a36a69681caa020f1abed34ae71d206efa5bd9a46a5c0f46815c98feeb02e5e926">IPV4</a> = AF_INET
 }</td></tr>
<tr class="separator:a36a69681caa020f1abed34ae71d206ef inherit pub_types_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae056b6dd4f167163083b7ab602fd3f3f inherit pub_types_classost_1_1_socket"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_socket.html#ae056b6dd4f167163083b7ab602fd3f3f">Error</a> { <br/>
&#160;&#160;<a class="el" href="classost_1_1_socket.html#ae056b6dd4f167163083b7ab602fd3f3fa706ac48f0deba4e591d9668ea79962e8">errSuccess</a> = 0, 
<a class="el" href="classost_1_1_socket.html#ae056b6dd4f167163083b7ab602fd3f3fa8d1d01d77a141c804b50456d70b94e46">errCreateFailed</a>, 
<a class="el" href="classost_1_1_socket.html#ae056b6dd4f167163083b7ab602fd3f3fa394bc212b3ab9c69dcb47b1412cedb53">errCopyFailed</a>, 
<a class="el" href="classost_1_1_socket.html#ae056b6dd4f167163083b7ab602fd3f3faa5b3fc41be74d485b9aca2af43d27424">errInput</a>, 
<br/>
&#160;&#160;<a class="el" href="classost_1_1_socket.html#ae056b6dd4f167163083b7ab602fd3f3fac1c33a97e722515f9851b116dc7bf2c5">errInputInterrupt</a>, 
<a class="el" href="classost_1_1_socket.html#ae056b6dd4f167163083b7ab602fd3f3fa5833cd0e1a43ae7d420e62ce0851611e">errResourceFailure</a>, 
<a class="el" href="classost_1_1_socket.html#ae056b6dd4f167163083b7ab602fd3f3fa1c7ee1231e7e7f8e8b6b1447d6f15090">errOutput</a>, 
<a class="el" href="classost_1_1_socket.html#ae056b6dd4f167163083b7ab602fd3f3faf67d1bcf85481bc4dd222f91e92deeb4">errOutputInterrupt</a>, 
<br/>
&#160;&#160;<a class="el" href="classost_1_1_socket.html#ae056b6dd4f167163083b7ab602fd3f3fa672dcab0341a211dcb14e0f848e9b5f9">errNotConnected</a>, 
<a class="el" href="classost_1_1_socket.html#ae056b6dd4f167163083b7ab602fd3f3fade54564fcb05a1744ccbf94f5a1b57a5">errConnectRefused</a>, 
<a class="el" href="classost_1_1_socket.html#ae056b6dd4f167163083b7ab602fd3f3fa837e20c1c3c6cf12d670f87afc1e8f66">errConnectRejected</a>, 
<a class="el" href="classost_1_1_socket.html#ae056b6dd4f167163083b7ab602fd3f3faf1a03fa32f971b5077ebf1cf749e90fa">errConnectTimeout</a>, 
<br/>
&#160;&#160;<a class="el" href="classost_1_1_socket.html#ae056b6dd4f167163083b7ab602fd3f3fa7646955354dce1249d606a2369ea6eaa">errConnectFailed</a>, 
<a class="el" href="classost_1_1_socket.html#ae056b6dd4f167163083b7ab602fd3f3fa1629a51edc39b379b3736a07d07bd782">errConnectInvalid</a>, 
<a class="el" href="classost_1_1_socket.html#ae056b6dd4f167163083b7ab602fd3f3fad21ca357b1645094f6ddcbac26a4deed">errConnectBusy</a>, 
<a class="el" href="classost_1_1_socket.html#ae056b6dd4f167163083b7ab602fd3f3fa42e56e9bcd983284be704de1400d991d">errConnectNoRoute</a>, 
<br/>
&#160;&#160;<a class="el" href="classost_1_1_socket.html#ae056b6dd4f167163083b7ab602fd3f3fa61d62014cda69b8d77dd07141f59252b">errBindingFailed</a>, 
<a class="el" href="classost_1_1_socket.html#ae056b6dd4f167163083b7ab602fd3f3fac3609d1255c9a57b86edc1c9a9a79e42">errBroadcastDenied</a>, 
<a class="el" href="classost_1_1_socket.html#ae056b6dd4f167163083b7ab602fd3f3faa352506dcb7b1d118837c1808944466f">errRoutingDenied</a>, 
<a class="el" href="classost_1_1_socket.html#ae056b6dd4f167163083b7ab602fd3f3fa4e60741a75df84410263a3113090f55a">errKeepaliveDenied</a>, 
<br/>
&#160;&#160;<a class="el" href="classost_1_1_socket.html#ae056b6dd4f167163083b7ab602fd3f3fa6a5e613ed6f8b222d924e419943a870c">errServiceDenied</a>, 
<a class="el" href="classost_1_1_socket.html#ae056b6dd4f167163083b7ab602fd3f3fa4739d2c04636eff1971b3648bda5f672">errServiceUnavailable</a>, 
<a class="el" href="classost_1_1_socket.html#ae056b6dd4f167163083b7ab602fd3f3fa8753eb8cc4591d5288c72ba2c91ea956">errMulticastDisabled</a>, 
<a class="el" href="classost_1_1_socket.html#ae056b6dd4f167163083b7ab602fd3f3fa5d0c869dc200b3cd1eab866816dc217a">errTimeout</a>, 
<br/>
&#160;&#160;<a class="el" href="classost_1_1_socket.html#ae056b6dd4f167163083b7ab602fd3f3fafe1fd02e79a208ee781a5b41f7fb5814">errNoDelay</a>, 
<a class="el" href="classost_1_1_socket.html#ae056b6dd4f167163083b7ab602fd3f3fa8f699326e6567ea4171d5821fa417e35">errExtended</a>, 
<a class="el" href="classost_1_1_socket.html#ae056b6dd4f167163083b7ab602fd3f3fa337bdb7f7512963ef0354f8be541c71e">errLookupFail</a>, 
<a class="el" href="classost_1_1_socket.html#ae056b6dd4f167163083b7ab602fd3f3fa8939131de2df58fc2327933cbd024e49">errSearchErr</a>, 
<br/>
&#160;&#160;<a class="el" href="classost_1_1_socket.html#ae056b6dd4f167163083b7ab602fd3f3fa9ede2afac3c4df2fd5671d48cbf546dc">errInvalidValue</a>
<br/>
 }</td></tr>
<tr class="separator:ae056b6dd4f167163083b7ab602fd3f3f inherit pub_types_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a258f81f5a42d051242f0f49f8192f890 inherit pub_types_classost_1_1_socket"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_socket.html#a258f81f5a42d051242f0f49f8192f890">Tos</a> { <br/>
&#160;&#160;<a class="el" href="classost_1_1_socket.html#a258f81f5a42d051242f0f49f8192f890a2199fbf8a1e891120f27a67559e9b6ff">tosLowDelay</a> = 0, 
<a class="el" href="classost_1_1_socket.html#a258f81f5a42d051242f0f49f8192f890ae805c8e2bc547dbc94b32ccc19c1396b">tosThroughput</a>, 
<a class="el" href="classost_1_1_socket.html#a258f81f5a42d051242f0f49f8192f890ad0e7d077cb9c6e6f3e702bc735af87d4">tosReliability</a>, 
<a class="el" href="classost_1_1_socket.html#a258f81f5a42d051242f0f49f8192f890aed0323ec6ea800b824853441c4ccd3e8">tosMinCost</a>, 
<br/>
&#160;&#160;<a class="el" href="classost_1_1_socket.html#a258f81f5a42d051242f0f49f8192f890ac0b92a366fed8d304b3c91323aa49a15">tosInvalid</a>
<br/>
 }</td></tr>
<tr class="separator:a258f81f5a42d051242f0f49f8192f890 inherit pub_types_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2cb9ccad21fc2f10c23e45cbb99bc6f8 inherit pub_types_classost_1_1_socket"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_socket.html#a2cb9ccad21fc2f10c23e45cbb99bc6f8">Pending</a> { <a class="el" href="classost_1_1_socket.html#a2cb9ccad21fc2f10c23e45cbb99bc6f8af2d41647f208c78eb97fe77196c55ccc">pendingInput</a>, 
<a class="el" href="classost_1_1_socket.html#a2cb9ccad21fc2f10c23e45cbb99bc6f8a0c9ffb2c87eb616774ea812fc9739efd">pendingOutput</a>, 
<a class="el" href="classost_1_1_socket.html#a2cb9ccad21fc2f10c23e45cbb99bc6f8ad3bac41d6ea72956235766139b8742d6">pendingError</a>
 }</td></tr>
<tr class="separator:a2cb9ccad21fc2f10c23e45cbb99bc6f8 inherit pub_types_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaa032e41b920b38a79c875b8ae375799 inherit pub_types_classost_1_1_socket"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="classost_1_1_socket.html#a36a69681caa020f1abed34ae71d206ef">Family</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_socket.html#aaa032e41b920b38a79c875b8ae375799">Family</a></td></tr>
<tr class="separator:aaa032e41b920b38a79c875b8ae375799 inherit pub_types_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3306a277326459f69aa69b474f50d6e2 inherit pub_types_classost_1_1_socket"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="classost_1_1_socket.html#ae056b6dd4f167163083b7ab602fd3f3f">Error</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_socket.html#a3306a277326459f69aa69b474f50d6e2">Error</a></td></tr>
<tr class="separator:a3306a277326459f69aa69b474f50d6e2 inherit pub_types_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7caa0e1bb24b387bd1c5b8240ea592e1 inherit pub_types_classost_1_1_socket"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="classost_1_1_socket.html#a258f81f5a42d051242f0f49f8192f890">Tos</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_socket.html#a7caa0e1bb24b387bd1c5b8240ea592e1">Tos</a></td></tr>
<tr class="separator:a7caa0e1bb24b387bd1c5b8240ea592e1 inherit pub_types_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac2fe3b8bf4dfc66c7df11dfa1ce4415c inherit pub_types_classost_1_1_socket"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="classost_1_1_socket.html#a2cb9ccad21fc2f10c23e45cbb99bc6f8">Pending</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_socket.html#ac2fe3b8bf4dfc66c7df11dfa1ce4415c">Pending</a></td></tr>
<tr class="separator:ac2fe3b8bf4dfc66c7df11dfa1ce4415c inherit pub_types_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_static_methods_classost_1_1_socket"><td colspan="2" onclick="javascript:toggleInherit('pub_static_methods_classost_1_1_socket')"><img src="closed.png" alt="-"/>&#160;Static Public Member Functions inherited from <a class="el" href="classost_1_1_socket.html">ost::Socket</a></td></tr>
<tr class="memitem:af735f45763298ad70b9925518b795837 inherit pub_static_methods_classost_1_1_socket"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_socket.html#af735f45763298ad70b9925518b795837">check</a> (<a class="el" href="classost_1_1_socket.html#a36a69681caa020f1abed34ae71d206ef">Family</a> fam)</td></tr>
<tr class="memdesc:af735f45763298ad70b9925518b795837 inherit pub_static_methods_classost_1_1_socket"><td class="mdescLeft">&#160;</td><td class="mdescRight">See if a specific protocol family is available in the current runtime environment.  <a href="#af735f45763298ad70b9925518b795837">More...</a><br/></td></tr>
<tr class="separator:af735f45763298ad70b9925518b795837 inherit pub_static_methods_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_types_classost_1_1_socket"><td colspan="2" onclick="javascript:toggleInherit('pro_types_classost_1_1_socket')"><img src="closed.png" alt="-"/>&#160;Protected Types inherited from <a class="el" href="classost_1_1_socket.html">ost::Socket</a></td></tr>
<tr class="memitem:ad17e0a386f4c50a57db3bebe55571066 inherit pro_types_classost_1_1_socket"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_socket.html#ad17e0a386f4c50a57db3bebe55571066">State</a> { <br/>
&#160;&#160;<a class="el" href="classost_1_1_socket.html#ad17e0a386f4c50a57db3bebe55571066abd827e310a97ea890353a7ee5f92885c">INITIAL</a>, 
<a class="el" href="classost_1_1_socket.html#ad17e0a386f4c50a57db3bebe55571066a9181006b79c1fc5111fa9fd8adced04d">AVAILABLE</a>, 
<a class="el" href="classost_1_1_socket.html#ad17e0a386f4c50a57db3bebe55571066a6f74458d0045b716df163290d56a5c85">BOUND</a>, 
<a class="el" href="classost_1_1_socket.html#ad17e0a386f4c50a57db3bebe55571066a421a6e01dfd1841341d0dbcd7e821aa6">CONNECTED</a>, 
<br/>
&#160;&#160;<a class="el" href="classost_1_1_socket.html#ad17e0a386f4c50a57db3bebe55571066a8240e96a84fba05c787ee8f770bbc47d">CONNECTING</a>, 
<a class="el" href="classost_1_1_socket.html#ad17e0a386f4c50a57db3bebe55571066af623db6499fd0e2eca13da3c94048fd0">STREAM</a>
<br/>
 }</td></tr>
<tr class="separator:ad17e0a386f4c50a57db3bebe55571066 inherit pro_types_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac8890572886dca1a03a775997f04abba inherit pro_types_classost_1_1_socket"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="classost_1_1_socket.html#ad17e0a386f4c50a57db3bebe55571066">State</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_socket.html#ac8890572886dca1a03a775997f04abba">State</a></td></tr>
<tr class="separator:ac8890572886dca1a03a775997f04abba inherit pro_types_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_attribs_classost_1_1_socket"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classost_1_1_socket')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="classost_1_1_socket.html">ost::Socket</a></td></tr>
<tr class="memitem:a335f1e849c2adb77955b896ebef1bba2 inherit pro_attribs_classost_1_1_socket"><td class="memItemLeft" >struct {</td></tr>
<tr class="memitem:aca9d9f0ded8a8e589f5b8c0151dba775 inherit pro_attribs_classost_1_1_socket"><td class="memItemLeft" >&#160;&#160;&#160;bool&#160;&#160;&#160;<a class="el" href="classost_1_1_socket.html#a9ade0c61ad6d9b0d27c71497b6e68bd5">thrown</a>: 1</td></tr>
<tr class="separator:aca9d9f0ded8a8e589f5b8c0151dba775 inherit pro_attribs_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af41646045f418811e95c0dc27faf024b inherit pro_attribs_classost_1_1_socket"><td class="memItemLeft" >&#160;&#160;&#160;bool&#160;&#160;&#160;<a class="el" href="classost_1_1_socket.html#a2b6b25a155d401b661d62eef57754bfa">broadcast</a>: 1</td></tr>
<tr class="separator:af41646045f418811e95c0dc27faf024b inherit pro_attribs_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3027d1a6cfa5b4af9d642fdc0d946820 inherit pro_attribs_classost_1_1_socket"><td class="memItemLeft" >&#160;&#160;&#160;bool&#160;&#160;&#160;<a class="el" href="classost_1_1_socket.html#a118af6ea8eba44a8dbe687f2d31a9022">route</a>: 1</td></tr>
<tr class="separator:a3027d1a6cfa5b4af9d642fdc0d946820 inherit pro_attribs_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aacffd5f01fcb45e87046a248f47360cd inherit pro_attribs_classost_1_1_socket"><td class="memItemLeft" >&#160;&#160;&#160;bool&#160;&#160;&#160;<a class="el" href="classost_1_1_socket.html#a507d2a060e03c63bbdf0599ffa9d555a">keepalive</a>: 1</td></tr>
<tr class="separator:aacffd5f01fcb45e87046a248f47360cd inherit pro_attribs_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa6f6c88adfd492d807117a74c152bea5 inherit pro_attribs_classost_1_1_socket"><td class="memItemLeft" >&#160;&#160;&#160;bool&#160;&#160;&#160;<a class="el" href="classost_1_1_socket.html#a19604a7ca524f3ee4c7623c7c237ff69">loopback</a>: 1</td></tr>
<tr class="separator:aa6f6c88adfd492d807117a74c152bea5 inherit pro_attribs_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac9a4a091fb0a5bfe48963bd7eeb204f8 inherit pro_attribs_classost_1_1_socket"><td class="memItemLeft" >&#160;&#160;&#160;bool&#160;&#160;&#160;<a class="el" href="classost_1_1_socket.html#a85db9df29af07929253387d76c59ab2b">multicast</a>: 1</td></tr>
<tr class="separator:ac9a4a091fb0a5bfe48963bd7eeb204f8 inherit pro_attribs_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aea80ab46fca3ef933a51fd492de9332e inherit pro_attribs_classost_1_1_socket"><td class="memItemLeft" >&#160;&#160;&#160;bool&#160;&#160;&#160;<a class="el" href="classost_1_1_socket.html#af1ef1afa83f77869dc56910ff289d0c5">completion</a>: 1</td></tr>
<tr class="separator:aea80ab46fca3ef933a51fd492de9332e inherit pro_attribs_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a45b42c17a3be87157e07096f0ec58108 inherit pro_attribs_classost_1_1_socket"><td class="memItemLeft" >&#160;&#160;&#160;bool&#160;&#160;&#160;<a class="el" href="classost_1_1_socket.html#a617e01f010e15ec81be466052a5a378e">linger</a>: 1</td></tr>
<tr class="separator:a45b42c17a3be87157e07096f0ec58108 inherit pro_attribs_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adf0d7bd03c674f0b818a7c61202b7fc3 inherit pro_attribs_classost_1_1_socket"><td class="memItemLeft" >&#160;&#160;&#160;unsigned&#160;&#160;&#160;<a class="el" href="classost_1_1_socket.html#a6adc7a5d594ab3b8bace496f7a6757e9">ttl</a>: 8</td></tr>
<tr class="separator:adf0d7bd03c674f0b818a7c61202b7fc3 inherit pro_attribs_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a335f1e849c2adb77955b896ebef1bba2 inherit pro_attribs_classost_1_1_socket"><td class="memItemLeft" valign="top">}&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_socket.html#a335f1e849c2adb77955b896ebef1bba2">flags</a></td></tr>
<tr class="separator:a335f1e849c2adb77955b896ebef1bba2 inherit pro_attribs_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af1291caf47c2e2e72a3214e4da206b07 inherit pro_attribs_classost_1_1_socket"><td class="memItemLeft" align="right" valign="top"><a class="el" href="socket_8h.html#a8dc8083897335125630f1af5dafd5831">SOCKET</a> volatile&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_socket.html#af1291caf47c2e2e72a3214e4da206b07">so</a></td></tr>
<tr class="memdesc:af1291caf47c2e2e72a3214e4da206b07 inherit pro_attribs_classost_1_1_socket"><td class="mdescLeft">&#160;</td><td class="mdescRight">the actual socket descriptor, in Windows, unlike posix it <em>cannot</em> be used as an file descriptor that way madness lies &ndash; jfc  <a href="#af1291caf47c2e2e72a3214e4da206b07">More...</a><br/></td></tr>
<tr class="separator:af1291caf47c2e2e72a3214e4da206b07 inherit pro_attribs_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a72526c7c326a7faa20e96e9be01981ba inherit pro_attribs_classost_1_1_socket"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classost_1_1_socket.html#ad17e0a386f4c50a57db3bebe55571066">State</a> volatile&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_socket.html#a72526c7c326a7faa20e96e9be01981ba">state</a></td></tr>
<tr class="separator:a72526c7c326a7faa20e96e9be01981ba inherit pro_attribs_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_static_attribs_classost_1_1_socket"><td colspan="2" onclick="javascript:toggleInherit('pro_static_attribs_classost_1_1_socket')"><img src="closed.png" alt="-"/>&#160;Static Protected Attributes inherited from <a class="el" href="classost_1_1_socket.html">ost::Socket</a></td></tr>
<tr class="memitem:a795099d3d68f4c3bf7731f263cbd1ace inherit pro_static_attribs_classost_1_1_socket"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classost_1_1_mutex.html">Mutex</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_socket.html#a795099d3d68f4c3bf7731f263cbd1ace">mutex</a></td></tr>
<tr class="separator:a795099d3d68f4c3bf7731f263cbd1ace inherit pro_static_attribs_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>The socket port is an internal class which is attached to and then serviced by a specific <a class="el" href="classost_1_1_socket_service.html" title="The SocketService is a thread pool object that is meant to service attached socket ports...">SocketService</a> "object". </p>
<p>Derived versions of this class offer specific functionality for specific protocols. Both Common C++ supporting frameworks and application objects may be derived from related protocol specific base classes.</p>
<p>A special set of classes, "SocketPort" and "SocketService", exist for building realtime streaming media servers on top of UDP and TCP protocols. The "SocketPort" is used to hold a connected or associated TCP or UDP socket which is being "streamed" and which offers callback methods that are invoked from a "SocketService" thread. <a class="el" href="classost_1_1_socket_service.html" title="The SocketService is a thread pool object that is meant to service attached socket ports...">SocketService</a>'s can be pooled into logical thread pools that can service a group of SocketPorts. A millisecond accurate "timer" is associated with each <a class="el" href="classost_1_1_socket_port.html" title="The socket port is an internal class which is attached to and then serviced by a specific SocketServi...">SocketPort</a> and can be used to time synchronize <a class="el" href="classost_1_1_socket_port.html" title="The socket port is an internal class which is attached to and then serviced by a specific SocketServi...">SocketPort</a> I/O operations.</p>
<dl class="section author"><dt>Author</dt><dd>David Sugar <a href="#" onclick="location.href='mai'+'lto:'+'dyf'+'et'+'@os'+'te'+'l.c'+'om'; return false;">dyfet<span style="display: none;">.nosp@m.</span>@ost<span style="display: none;">.nosp@m.</span>el.co<span style="display: none;">.nosp@m.</span>m</a> base class for realtime and thread pool serviced protocols. </dd></dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="tcpservice_8cpp-example.html#_a1">tcpservice.cpp</a>.</dd>
</dl></div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a3e1456c5b19bb0dc58df0356c055709a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">ost::SocketPort::SocketPort </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classost_1_1_socket_service.html">SocketService</a> *&#160;</td>
          <td class="paramname"><em>svc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classost_1_1_t_c_p_socket.html">TCPSocket</a> &amp;&#160;</td>
          <td class="paramname"><em>tcp</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Construct an accepted TCP socket connection from a specific bound TCP server. </p>
<p>This is meant to derive advanced application specific TCP servers that can be thread pooled.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">svc</td><td>pool thread object. </td></tr>
    <tr><td class="paramname">tcp</td><td>socket object to accept. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="aedfa5983eefe7e5bca5b3f4c4752ef88"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">ost::SocketPort::SocketPort </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classost_1_1_socket_service.html">SocketService</a> *&#160;</td>
          <td class="paramname"><em>svc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classost_1_1_t_c_p_v6_socket.html">TCPV6Socket</a> &amp;&#160;</td>
          <td class="paramname"><em>tcp</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ae48593fbe73189d452f62ac6864f832f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">ost::SocketPort::SocketPort </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classost_1_1_socket_service.html">SocketService</a> *&#160;</td>
          <td class="paramname"><em>svc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classost_1_1_i_p_v4_address.html">IPV4Address</a> &amp;&#160;</td>
          <td class="paramname"><em>ia</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespaceost.html#a3c74a1a40c359fd349f3e3e1b96ebfc7">tpport_t</a>&#160;</td>
          <td class="paramname"><em>port</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Construct a bound UDP socket for use in deriving realtime UDP streaming protocols handled by thread pool objects. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">svc</td><td>pool thread object. </td></tr>
    <tr><td class="paramname">ia</td><td>address of interface to bind. </td></tr>
    <tr><td class="paramname">port</td><td>number to bind to. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="adf67a624a192a3eaffbf59891669b1bd"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">ost::SocketPort::SocketPort </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classost_1_1_socket_service.html">SocketService</a> *&#160;</td>
          <td class="paramname"><em>svc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classost_1_1_i_p_v6_address.html">IPV6Address</a> &amp;&#160;</td>
          <td class="paramname"><em>ia</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespaceost.html#a3c74a1a40c359fd349f3e3e1b96ebfc7">tpport_t</a>&#160;</td>
          <td class="paramname"><em>port</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ac30498e30cd95a8f91c395ebb6e6116a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">ost::SocketPort::SocketPort </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classost_1_1_socket_service.html">SocketService</a> *&#160;</td>
          <td class="paramname"><em>svc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classost_1_1_i_p_v4_host.html">IPV4Host</a> &amp;&#160;</td>
          <td class="paramname"><em>ih</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespaceost.html#a3c74a1a40c359fd349f3e3e1b96ebfc7">tpport_t</a>&#160;</td>
          <td class="paramname"><em>port</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>A non-blocking constructor for outbound tcp connections. </p>
<p>To detect when the connection is established, overload <a class="el" href="classost_1_1_socket_port.html#af333abc3b9f8f8b2ce4d286d64d54848" title="Called by the service thread pool when output data is pending for this socket. ">SocketPort::output()</a>. <a class="el" href="classost_1_1_socket_port.html#af333abc3b9f8f8b2ce4d286d64d54848" title="Called by the service thread pool when output data is pending for this socket. ">SocketPort::output()</a> get's called by the <a class="el" href="classost_1_1_socket_service.html" title="The SocketService is a thread pool object that is meant to service attached socket ports...">SocketService</a> when the connection is ready, <a class="el" href="classost_1_1_socket_port.html#a7b2a739ee0cb11bc6332010f4cd21552" title="Called by the service thread pool when a disconnect has occured. ">SocketPort::disconnect()</a> when the connect failed. at the moment you should set the socket state to "CONNECTED" when <a class="el" href="classost_1_1_socket_port.html#af333abc3b9f8f8b2ce4d286d64d54848" title="Called by the service thread pool when output data is pending for this socket. ">SocketPort::output()</a> get's called for the first time.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">svc</td><td>pool thread object. </td></tr>
    <tr><td class="paramname">ih</td><td>addess to connect to. </td></tr>
    <tr><td class="paramname">port</td><td>number to connect to. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a0aee0992af4ffdbda14489ef094a89fd"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">ost::SocketPort::SocketPort </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classost_1_1_socket_service.html">SocketService</a> *&#160;</td>
          <td class="paramname"><em>svc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classost_1_1_i_p_v6_host.html">IPV6Host</a> &amp;&#160;</td>
          <td class="paramname"><em>ih</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespaceost.html#a3c74a1a40c359fd349f3e3e1b96ebfc7">tpport_t</a>&#160;</td>
          <td class="paramname"><em>port</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a8c9fcdcd63fae060e12801ddf6ab12db"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual ost::SocketPort::~SocketPort </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Disconnect the socket from the service thread pool and the remote connection. </p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="aed5fbff0b874da8e24add7f6cc50b65e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ost::SocketPort::attach </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classost_1_1_socket_service.html">SocketService</a> *&#160;</td>
          <td class="paramname"><em>svc</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Attach yourself to the service pool thread object. </p>
<p>The later version.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">svc</td><td>pool thread object </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a3601785c16646b7e323cf2d267ce7481"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classost_1_1_socket.html#ae056b6dd4f167163083b7ab602fd3f3f">Error</a> ost::SocketPort::connect </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classost_1_1_i_p_v4_address.html">IPV4Address</a> &amp;&#160;</td>
          <td class="paramname"><em>ia</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespaceost.html#a3c74a1a40c359fd349f3e3e1b96ebfc7">tpport_t</a>&#160;</td>
          <td class="paramname"><em>port</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Connect a <a class="el" href="classost_1_1_socket.html" title="The Socket is used as the base for all Internet protocol services under Common C++. ">Socket</a> Port to a known peer host. </p>
<p>This is normally used with the UDP constructor. This is also performed as a non-blocking operation under Posix systems to prevent delays in a callback handler.</p>
<dl class="section return"><dt>Returns</dt><dd>0 if successful. </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ia</td><td>address of remote host or subnet. </td></tr>
    <tr><td class="paramname">port</td><td>number of remote peer(s). </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a0edb8c155c97099cc0660b3ad1eef77f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classost_1_1_socket.html#ae056b6dd4f167163083b7ab602fd3f3f">Error</a> ost::SocketPort::connect </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classost_1_1_i_p_v6_address.html">IPV6Address</a> &amp;&#160;</td>
          <td class="paramname"><em>ia</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespaceost.html#a3c74a1a40c359fd349f3e3e1b96ebfc7">tpport_t</a>&#160;</td>
          <td class="paramname"><em>port</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a7b2a739ee0cb11bc6332010f4cd21552"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void ost::SocketPort::disconnect </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Called by the service thread pool when a disconnect has occured. </p>

</div>
</div>
<a class="anchor" id="a4d09daed3fe5cb81259985db87add34d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void ost::SocketPort::expired </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Called by the service thread pool when the objects timer has expired. </p>
<p>Used for timed events. </p>

</div>
</div>
<a class="anchor" id="a80a16072f163a5a49341c4fd495fd9b1"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ost::SocketPort::getDetectOutput </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get the current state of the DetectOutput flag. </p>

</div>
</div>
<a class="anchor" id="af1e65f719e39f651ad8789183f8905c9"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ost::SocketPort::getDetectPending </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get the current state of the DetectPending flag. </p>

</div>
</div>
<a class="anchor" id="a1a7e2bf9e250ea5dcc9e8416aecfbb13"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ost::SocketPort::incTimer </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="thread_8h.html#af412159e5cef839836a5e7b19ee75d1c">timeout_t</a>&#160;</td>
          <td class="paramname"><em>timeout</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Derived incTimer to notify the service thread pool of a change in expected timeout. </p>
<p>This allows <a class="el" href="classost_1_1_socket_service.html" title="The SocketService is a thread pool object that is meant to service attached socket ports...">SocketService</a> to reschedule all timers. Otherwise same as <a class="el" href="classost_1_1_timer_port.html" title="Timer ports are used to provide synchronized timing events when managed under a &quot;service thread&quot; such...">TimerPort</a>.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">timeout</td><td>in milliseconds. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="af333abc3b9f8f8b2ce4d286d64d54848"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void ost::SocketPort::output </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Called by the service thread pool when output data is pending for this socket. </p>

</div>
</div>
<a class="anchor" id="afb7798f8cc7e50d42ad82a1537e89c63"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">ssize_t ost::SocketPort::peek </td>
          <td>(</td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>buf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>len</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Examine the content of the next packet. </p>
<p>This can be used to build "smart" line buffering for derived TCP classes.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">buf</td><td>pointer to packet buffer to examine. </td></tr>
    <tr><td class="paramname">len</td><td>of packet buffer to examine. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>number of bytes actually available. </dd></dl>

<p>References <a class="el" href="socket_8h.html#addbcacf8e7b5164e650dc7f2ab47fea1">_IOLEN64</a>.</p>

</div>
</div>
<a class="anchor" id="a5e0ec242cfb737db369cbc63abcc06b6"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void ost::SocketPort::pending </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Called by the service thread pool when input data is pending for this socket. </p>

</div>
</div>
<a class="anchor" id="a872c38a65b17113a580af345946146d7"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">ssize_t ost::SocketPort::receive </td>
          <td>(</td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>buf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>len</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Receive a message from any host. </p>
<p>This is used in derived classes to build protocols.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">buf</td><td>pointer to packet buffer to receive. </td></tr>
    <tr><td class="paramname">len</td><td>of packet buffer to receive. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>number of bytes received. </dd></dl>

<p>References <a class="el" href="socket_8h.html#addbcacf8e7b5164e650dc7f2ab47fea1">_IOLEN64</a>.</p>

</div>
</div>
<a class="anchor" id="a9218e4528f5bdf4215200e2040eefe5b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">ssize_t ost::SocketPort::send </td>
          <td>(</td>
          <td class="paramtype">const void *&#160;</td>
          <td class="paramname"><em>buf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>len</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Transmit "send" data to a connected peer host. </p>
<p>This is not public by default since an overriding protocol is likely to be used in a derived class.</p>
<dl class="section return"><dt>Returns</dt><dd>number of bytes sent. </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">buf</td><td>address of buffer to send. </td></tr>
    <tr><td class="paramname">len</td><td>of bytes to send. </td></tr>
  </table>
  </dd>
</dl>

<p>References <a class="el" href="socket_8h.html#addbcacf8e7b5164e650dc7f2ab47fea1">_IOLEN64</a>.</p>

</div>
</div>
<a class="anchor" id="a229b32cb2bf8a306b8882413748eb44c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ost::SocketPort::setDetectOutput </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Used to indicate if output ready monitoring should be performed by the service thread. </p>

</div>
</div>
<a class="anchor" id="a908891c78c95d66424cde91e52299c29"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ost::SocketPort::setDetectPending </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Used to indicate if the service thread should monitor pending data for us. </p>

</div>
</div>
<a class="anchor" id="ac70f9eae6b6b3625c980fa84180e8151"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ost::SocketPort::setTimer </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="thread_8h.html#af412159e5cef839836a5e7b19ee75d1c">timeout_t</a>&#160;</td>
          <td class="paramname"><em>timeout</em> = <code>0</code></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Derived setTimer to notify the service thread pool of change in expected timeout. </p>
<p>This allows <a class="el" href="classost_1_1_socket_service.html" title="The SocketService is a thread pool object that is meant to service attached socket ports...">SocketService</a> to reschedule all timers. Otherwise same as <a class="el" href="classost_1_1_timer_port.html" title="Timer ports are used to provide synchronized timing events when managed under a &quot;service thread&quot; such...">TimerPort</a>.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">timeout</td><td>in milliseconds. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<h2 class="groupheader">Friends And Related Function Documentation</h2>
<a class="anchor" id="a4b89563fb4861da0276ccd214f93122d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">friend class <a class="el" href="classost_1_1_socket_service.html">SocketService</a></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="socketport_8h_source.html">socketport.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Oct 17 2013 23:24:58 for GNU CommonC++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.5
</small></address>
</body>
</html>