Sophie

Sophie

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

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::TCPStream 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_t_c_p_stream.html">TCPStream</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="#pro-attribs">Protected Attributes</a> &#124;
<a href="#friends">Friends</a> &#124;
<a href="classost_1_1_t_c_p_stream-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">ost::TCPStream Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>TCP streams are used to represent TCP client connections to a server by TCP protocol servers for accepting client connections.  
 <a href="classost_1_1_t_c_p_stream.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="socket_8h_source.html">socket.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for ost::TCPStream:</div>
<div class="dyncontent">
 <div class="center">
  <img src="classost_1_1_t_c_p_stream.png" usemap="#ost::TCPStream_map" alt=""/>
  <map id="ost::TCPStream_map" name="ost::TCPStream_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="112,0,214,24"/>
<area href="classost_1_1_s_s_l_stream.html" alt="ost::SSLStream" shape="rect" coords="0,112,102,136"/>
<area href="classost_1_1_t_c_p_session.html" title="The TCP session is used to primarily to represent a client connection that can be managed on a sepera..." alt="ost::TCPSession" shape="rect" coords="112,112,214,136"/>
<area href="classost_1_1_u_r_l_stream.html" title="A URL processing version of TCPStream. " alt="ost::URLStream" shape="rect" coords="224,112,326,136"/>
</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:aa2ee8f719d30376c22ce9503baa9f43c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_t_c_p_stream.html#aa2ee8f719d30376c22ce9503baa9f43c">TCPStream</a> (<a class="el" href="classost_1_1_socket.html#a36a69681caa020f1abed34ae71d206ef">Family</a> <a class="el" href="classost_1_1_t_c_p_stream.html#aecc5f6b34232ba0fef048f53fdaa51fc">family</a>=<a class="el" href="classost_1_1_socket.html#a36a69681caa020f1abed34ae71d206efa5bd9a46a5c0f46815c98feeb02e5e926">IPV4</a>, bool throwflag=true, <a class="el" href="thread_8h.html#af412159e5cef839836a5e7b19ee75d1c">timeout_t</a> to=0)</td></tr>
<tr class="memdesc:aa2ee8f719d30376c22ce9503baa9f43c"><td class="mdescLeft">&#160;</td><td class="mdescRight">The constructor required for building other classes or to start an unconnected <a class="el" href="classost_1_1_t_c_p_stream.html" title="TCP streams are used to represent TCP client connections to a server by TCP protocol servers for acce...">TCPStream</a> for connect.  <a href="#aa2ee8f719d30376c22ce9503baa9f43c">More...</a><br/></td></tr>
<tr class="separator:aa2ee8f719d30376c22ce9503baa9f43c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a465c1772f8b6c1e1effcdfdc248622af"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_t_c_p_stream.html#a465c1772f8b6c1e1effcdfdc248622af">disconnect</a> (void)</td></tr>
<tr class="memdesc:a465c1772f8b6c1e1effcdfdc248622af"><td class="mdescLeft">&#160;</td><td class="mdescRight">Disconnect the current session and prepare for a new one.  <a href="#a465c1772f8b6c1e1effcdfdc248622af">More...</a><br/></td></tr>
<tr class="separator:a465c1772f8b6c1e1effcdfdc248622af"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4c5fac74099d34d067b075995f53b60a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_t_c_p_stream.html#a4c5fac74099d34d067b075995f53b60a">getSegmentSize</a> (void)</td></tr>
<tr class="memdesc:a4c5fac74099d34d067b075995f53b60a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get protocol segment size.  <a href="#a4c5fac74099d34d067b075995f53b60a">More...</a><br/></td></tr>
<tr class="separator:a4c5fac74099d34d067b075995f53b60a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8e008d40cdf19e3216cce66dfd084991"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_t_c_p_stream.html#a8e008d40cdf19e3216cce66dfd084991">TCPStream</a> (<a class="el" href="classost_1_1_t_c_p_socket.html">TCPSocket</a> &amp;server, bool throwflag=true, <a class="el" href="thread_8h.html#af412159e5cef839836a5e7b19ee75d1c">timeout_t</a> <a class="el" href="classost_1_1_t_c_p_stream.html#ae223ae380e2dc9d2e64cde0a577eccf2">timeout</a>=0)</td></tr>
<tr class="memdesc:a8e008d40cdf19e3216cce66dfd084991"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a TCP stream by accepting a connection from a bound TCP socket acting as a server.  <a href="#a8e008d40cdf19e3216cce66dfd084991">More...</a><br/></td></tr>
<tr class="separator:a8e008d40cdf19e3216cce66dfd084991"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a24bea89abbc213b6f60918ee233c6437"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_t_c_p_stream.html#a24bea89abbc213b6f60918ee233c6437">TCPStream</a> (<a class="el" href="classost_1_1_t_c_p_v6_socket.html">TCPV6Socket</a> &amp;server, bool throwflag=true, <a class="el" href="thread_8h.html#af412159e5cef839836a5e7b19ee75d1c">timeout_t</a> <a class="el" href="classost_1_1_t_c_p_stream.html#ae223ae380e2dc9d2e64cde0a577eccf2">timeout</a>=0)</td></tr>
<tr class="separator:a24bea89abbc213b6f60918ee233c6437"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a75ef0dedbc6985ff113817a24cb8fc14"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_t_c_p_stream.html#a75ef0dedbc6985ff113817a24cb8fc14">connect</a> (<a class="el" href="classost_1_1_t_c_p_socket.html">TCPSocket</a> &amp;server)</td></tr>
<tr class="memdesc:a75ef0dedbc6985ff113817a24cb8fc14"><td class="mdescLeft">&#160;</td><td class="mdescRight">Accept a connection from a TCP Server.  <a href="#a75ef0dedbc6985ff113817a24cb8fc14">More...</a><br/></td></tr>
<tr class="separator:a75ef0dedbc6985ff113817a24cb8fc14"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aba5de9163b215f181a43903099a8c403"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_t_c_p_stream.html#aba5de9163b215f181a43903099a8c403">connect</a> (<a class="el" href="classost_1_1_t_c_p_v6_socket.html">TCPV6Socket</a> &amp;server)</td></tr>
<tr class="separator:aba5de9163b215f181a43903099a8c403"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3aed78339f5695c1b281a59473628cb5"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_t_c_p_stream.html#a3aed78339f5695c1b281a59473628cb5">TCPStream</a> (const <a class="el" href="classost_1_1_i_p_v4_host.html">IPV4Host</a> &amp;host, <a class="el" href="namespaceost.html#a3c74a1a40c359fd349f3e3e1b96ebfc7">tpport_t</a> port, unsigned mss=536, bool throwflag=true, <a class="el" href="thread_8h.html#af412159e5cef839836a5e7b19ee75d1c">timeout_t</a> <a class="el" href="classost_1_1_t_c_p_stream.html#ae223ae380e2dc9d2e64cde0a577eccf2">timeout</a>=0)</td></tr>
<tr class="memdesc:a3aed78339f5695c1b281a59473628cb5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a TCP stream by connecting to a TCP socket (on a remote machine).  <a href="#a3aed78339f5695c1b281a59473628cb5">More...</a><br/></td></tr>
<tr class="separator:a3aed78339f5695c1b281a59473628cb5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a404f9e717f04b2d68fecd61b246b8ead"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_t_c_p_stream.html#a404f9e717f04b2d68fecd61b246b8ead">TCPStream</a> (const <a class="el" href="classost_1_1_i_p_v6_host.html">IPV6Host</a> &amp;host, <a class="el" href="namespaceost.html#a3c74a1a40c359fd349f3e3e1b96ebfc7">tpport_t</a> port, unsigned mss=536, bool throwflag=true, <a class="el" href="thread_8h.html#af412159e5cef839836a5e7b19ee75d1c">timeout_t</a> <a class="el" href="classost_1_1_t_c_p_stream.html#ae223ae380e2dc9d2e64cde0a577eccf2">timeout</a>=0)</td></tr>
<tr class="separator:a404f9e717f04b2d68fecd61b246b8ead"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a744b09288892788e8b7f0453850d3562"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_t_c_p_stream.html#a744b09288892788e8b7f0453850d3562">TCPStream</a> (const char *name, <a class="el" href="classost_1_1_socket.html#a36a69681caa020f1abed34ae71d206ef">Family</a> <a class="el" href="classost_1_1_t_c_p_stream.html#aecc5f6b34232ba0fef048f53fdaa51fc">family</a>=<a class="el" href="classost_1_1_socket.html#a36a69681caa020f1abed34ae71d206efa5bd9a46a5c0f46815c98feeb02e5e926">IPV4</a>, unsigned mss=536, bool throwflag=false, <a class="el" href="thread_8h.html#af412159e5cef839836a5e7b19ee75d1c">timeout_t</a> timer=0)</td></tr>
<tr class="memdesc:a744b09288892788e8b7f0453850d3562"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct a named TCP <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> connected to a remote machine.  <a href="#a744b09288892788e8b7f0453850d3562">More...</a><br/></td></tr>
<tr class="separator:a744b09288892788e8b7f0453850d3562"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1bdf8e7962c57d6086117d5a790ad3f6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_t_c_p_stream.html#a1bdf8e7962c57d6086117d5a790ad3f6">setTimeout</a> (<a class="el" href="thread_8h.html#af412159e5cef839836a5e7b19ee75d1c">timeout_t</a> timer)</td></tr>
<tr class="memdesc:a1bdf8e7962c57d6086117d5a790ad3f6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the I/O operation timeout for socket I/O operations.  <a href="#a1bdf8e7962c57d6086117d5a790ad3f6">More...</a><br/></td></tr>
<tr class="separator:a1bdf8e7962c57d6086117d5a790ad3f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a35ce0f9982969a1fe9ab2fa583802945"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_t_c_p_stream.html#a35ce0f9982969a1fe9ab2fa583802945">TCPStream</a> (const <a class="el" href="classost_1_1_t_c_p_stream.html">TCPStream</a> &amp;source)</td></tr>
<tr class="memdesc:a35ce0f9982969a1fe9ab2fa583802945"><td class="mdescLeft">&#160;</td><td class="mdescRight">A copy constructor creates a new stream buffer.  <a href="#a35ce0f9982969a1fe9ab2fa583802945">More...</a><br/></td></tr>
<tr class="separator:a35ce0f9982969a1fe9ab2fa583802945"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aebd30d743538f2c3d95e2b1d214f176b"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_t_c_p_stream.html#aebd30d743538f2c3d95e2b1d214f176b">~TCPStream</a> ()</td></tr>
<tr class="memdesc:aebd30d743538f2c3d95e2b1d214f176b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flush and empty all buffers, and then remove the allocated buffers.  <a href="#aebd30d743538f2c3d95e2b1d214f176b">More...</a><br/></td></tr>
<tr class="separator:aebd30d743538f2c3d95e2b1d214f176b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a75847ccff483b077c3b7c57b03a5175b"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_t_c_p_stream.html#a75847ccff483b077c3b7c57b03a5175b">sync</a> (void)</td></tr>
<tr class="memdesc:a75847ccff483b077c3b7c57b03a5175b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flushes the stream input and output buffers, writes pending output.  <a href="#a75847ccff483b077c3b7c57b03a5175b">More...</a><br/></td></tr>
<tr class="separator:a75847ccff483b077c3b7c57b03a5175b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab418e62f385b62680825beaf79c00df4"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_t_c_p_stream.html#ab418e62f385b62680825beaf79c00df4">printf</a> (const char *format,...)</td></tr>
<tr class="memdesc:ab418e62f385b62680825beaf79c00df4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Print content into a socket.  <a href="#ab418e62f385b62680825beaf79c00df4">More...</a><br/></td></tr>
<tr class="separator:ab418e62f385b62680825beaf79c00df4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeb71ab0a1a1ff92095e5421701649ad2"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_t_c_p_stream.html#aeb71ab0a1a1ff92095e5421701649ad2">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> <a class="el" href="classost_1_1_t_c_p_stream.html#ae223ae380e2dc9d2e64cde0a577eccf2">timeout</a>=<a class="el" href="thread_8h.html#a74f2d4c747bce0b8f7f7c1f48e651876">TIMEOUT_INF</a>)</td></tr>
<tr class="memdesc:aeb71ab0a1a1ff92095e5421701649ad2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the status of pending stream data.  <a href="#aeb71ab0a1a1ff92095e5421701649ad2">More...</a><br/></td></tr>
<tr class="separator:aeb71ab0a1a1ff92095e5421701649ad2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0150df4f03d32e200b22d0f06404ac39"><td class="memItemLeft" align="right" valign="top">ssize_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_t_c_p_stream.html#a0150df4f03d32e200b22d0f06404ac39">peek</a> (void *buf, size_t len)</td></tr>
<tr class="memdesc:a0150df4f03d32e200b22d0f06404ac39"><td class="mdescLeft">&#160;</td><td class="mdescRight">Examine contents of next waiting packet.  <a href="#a0150df4f03d32e200b22d0f06404ac39">More...</a><br/></td></tr>
<tr class="separator:a0150df4f03d32e200b22d0f06404ac39"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0d016d7c968dcfcb0d3e15e759af4c5f"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_t_c_p_stream.html#a0d016d7c968dcfcb0d3e15e759af4c5f">getBufferSize</a> (void) const </td></tr>
<tr class="memdesc:a0d016d7c968dcfcb0d3e15e759af4c5f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the size of the current stream buffering used.  <a href="#a0d016d7c968dcfcb0d3e15e759af4c5f">More...</a><br/></td></tr>
<tr class="separator:a0d016d7c968dcfcb0d3e15e759af4c5f"><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>
</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:ac223dac737c08d1b109bdc06be0b5493"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_t_c_p_stream.html#ac223dac737c08d1b109bdc06be0b5493">allocate</a> (size_t size)</td></tr>
<tr class="memdesc:ac223dac737c08d1b109bdc06be0b5493"><td class="mdescLeft">&#160;</td><td class="mdescRight">Used to allocate the buffer space needed for iostream operations.  <a href="#ac223dac737c08d1b109bdc06be0b5493">More...</a><br/></td></tr>
<tr class="separator:ac223dac737c08d1b109bdc06be0b5493"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad64fb34a2a8003fac17a471060e89b39"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_t_c_p_stream.html#ad64fb34a2a8003fac17a471060e89b39">endStream</a> (void)</td></tr>
<tr class="memdesc:ad64fb34a2a8003fac17a471060e89b39"><td class="mdescLeft">&#160;</td><td class="mdescRight">Used to terminate the buffer space and cleanup the socket connection.  <a href="#ad64fb34a2a8003fac17a471060e89b39">More...</a><br/></td></tr>
<tr class="separator:ad64fb34a2a8003fac17a471060e89b39"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8bba1f2724c35992a48ef7322214a3dc"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_t_c_p_stream.html#a8bba1f2724c35992a48ef7322214a3dc">underflow</a> ()</td></tr>
<tr class="memdesc:a8bba1f2724c35992a48ef7322214a3dc"><td class="mdescLeft">&#160;</td><td class="mdescRight">This streambuf method is used to load the input buffer through the established tcp socket connection.  <a href="#a8bba1f2724c35992a48ef7322214a3dc">More...</a><br/></td></tr>
<tr class="separator:a8bba1f2724c35992a48ef7322214a3dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9c1c5fa96fd3dc099ef452691075e492"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_t_c_p_stream.html#a9c1c5fa96fd3dc099ef452691075e492">uflow</a> ()</td></tr>
<tr class="memdesc:a9c1c5fa96fd3dc099ef452691075e492"><td class="mdescLeft">&#160;</td><td class="mdescRight">This streambuf method is used for doing unbuffered reads through the establish tcp socket connection when in interactive mode.  <a href="#a9c1c5fa96fd3dc099ef452691075e492">More...</a><br/></td></tr>
<tr class="separator:a9c1c5fa96fd3dc099ef452691075e492"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5be264ef6d4972f0c213aed20d233bbf"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_t_c_p_stream.html#a5be264ef6d4972f0c213aed20d233bbf">overflow</a> (int ch)</td></tr>
<tr class="memdesc:a5be264ef6d4972f0c213aed20d233bbf"><td class="mdescLeft">&#160;</td><td class="mdescRight">This streambuf method is used to write the output buffer through the established tcp connection.  <a href="#a5be264ef6d4972f0c213aed20d233bbf">More...</a><br/></td></tr>
<tr class="separator:a5be264ef6d4972f0c213aed20d233bbf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a39d12c649b784cf83dfbd36581f27d8c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_t_c_p_stream.html#a39d12c649b784cf83dfbd36581f27d8c">connect</a> (const <a class="el" href="classost_1_1_i_p_v4_host.html">IPV4Host</a> &amp;host, <a class="el" href="namespaceost.html#a3c74a1a40c359fd349f3e3e1b96ebfc7">tpport_t</a> port, unsigned mss=536)</td></tr>
<tr class="memdesc:a39d12c649b784cf83dfbd36581f27d8c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a TCP stream by connecting to a TCP socket (on a remote machine).  <a href="#a39d12c649b784cf83dfbd36581f27d8c">More...</a><br/></td></tr>
<tr class="separator:a39d12c649b784cf83dfbd36581f27d8c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa2f4de4c7606cc893d16fa28efb7f438"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_t_c_p_stream.html#aa2f4de4c7606cc893d16fa28efb7f438">connect</a> (const <a class="el" href="classost_1_1_i_p_v6_host.html">IPV6Host</a> &amp;host, <a class="el" href="namespaceost.html#a3c74a1a40c359fd349f3e3e1b96ebfc7">tpport_t</a> port, unsigned mss=536)</td></tr>
<tr class="separator:aa2f4de4c7606cc893d16fa28efb7f438"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a17ec811f69da42d9c6f2d5b940dc54e0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_t_c_p_stream.html#a17ec811f69da42d9c6f2d5b940dc54e0">connect</a> (const char *name, unsigned mss=536)</td></tr>
<tr class="memdesc:a17ec811f69da42d9c6f2d5b940dc54e0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Connect a TCP stream to a named destination host and port number, using getaddrinfo interface if available.  <a href="#a17ec811f69da42d9c6f2d5b940dc54e0">More...</a><br/></td></tr>
<tr class="separator:a17ec811f69da42d9c6f2d5b940dc54e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5191b9c6d7c2369f96f236ae78b25452"><td class="memItemLeft" align="right" valign="top">std::iostream *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_t_c_p_stream.html#a5191b9c6d7c2369f96f236ae78b25452">tcp</a> (void)</td></tr>
<tr class="memdesc:a5191b9c6d7c2369f96f236ae78b25452"><td class="mdescLeft">&#160;</td><td class="mdescRight">Used in derived classes to refer to the current object via it's iostream.  <a href="#a5191b9c6d7c2369f96f236ae78b25452">More...</a><br/></td></tr>
<tr class="separator:a5191b9c6d7c2369f96f236ae78b25452"><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>
<tr class="memitem:a801b3892635919626d7fc8f3d03da933 inherit pro_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 pro_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 pro_methods_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab0d02dbca94775d6b28c9d313b55fdcc inherit pro_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 pro_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 pro_methods_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a68a7acd6af1686e66e88e9e466a9903f inherit pro_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 pro_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 pro_methods_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a99197c017c07c6b24d622b107fa46833 inherit pro_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 pro_methods_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4f1e7645a2d543e0a665b111c2dba8e9 inherit pro_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 pro_methods_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8c8d2cfd48c75b03dc776b38b1c095f7 inherit pro_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 pro_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 pro_methods_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6fd1dffdfe9606e56fba838559ff6d67 inherit pro_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 pro_methods_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad625daf4cffb541c5e8592792d4ee77e inherit pro_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 pro_methods_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af72396adf4cac5113e722447e48b7916 inherit pro_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 pro_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 pro_methods_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aca71d871bfda4dfcab0891cb0c8df1d4 inherit pro_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 pro_methods_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8410324ca8ddf50751830f59afeaf377 inherit pro_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 pro_methods_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a27574c4f148166ef8857975ba3cbb5a5 inherit pro_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 pro_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 pro_methods_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac3dded47080c852dcebc9998643e8dc6 inherit pro_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 pro_methods_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6af9d4d0da053afae46cf26c58c952cc inherit pro_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 pro_methods_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a16eb72794ce956b2af6b935eb59b2e24 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#a16eb72794ce956b2af6b935eb59b2e24">setCompletion</a> (bool immediate)</td></tr>
<tr class="memdesc:a16eb72794ce956b2af6b935eb59b2e24 inherit pro_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 pro_methods_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8a7b1c8f4735ffb2c8e7248e4bf37ef3 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#a8a7b1c8f4735ffb2c8e7248e4bf37ef3">setLinger</a> (bool <a class="el" href="classost_1_1_socket.html#a617e01f010e15ec81be466052a5a378e">linger</a>)</td></tr>
<tr class="memdesc:a8a7b1c8f4735ffb2c8e7248e4bf37ef3 inherit pro_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 pro_methods_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a866263b2933c0b7b649829f07ca288ff 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#a866263b2933c0b7b649829f07ca288ff">setKeepAlive</a> (bool enable)</td></tr>
<tr class="memdesc:a866263b2933c0b7b649829f07ca288ff inherit pro_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 pro_methods_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae49df7e3c3913147116d8491f77a1b63 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#ae49df7e3c3913147116d8491f77a1b63">setTypeOfService</a> (<a class="el" href="classost_1_1_socket.html#a258f81f5a42d051242f0f49f8192f890">Tos</a> service)</td></tr>
<tr class="memdesc:ae49df7e3c3913147116d8491f77a1b63 inherit pro_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 pro_methods_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2997c1ed398ce1c6dbf1eb62301f97cc inherit pro_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 pro_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 pro_methods_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a114e5d4cad99aaff24718b05bd3e8e31 inherit pro_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 pro_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 pro_methods_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5e2c05b34bded0db1bcdcf08bd44f052 inherit pro_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 pro_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 pro_methods_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8120ca95daa7c488255c308998427ccb inherit pro_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 pro_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 pro_methods_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0a1e09a4411bf60bb5e2b6235d4e6a46 inherit pro_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 pro_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 pro_methods_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abfdaefd24888f2d51089bdb31894286e 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#abfdaefd24888f2d51089bdb31894286e">getErrorNumber</a> (void) const </td></tr>
<tr class="memdesc:abfdaefd24888f2d51089bdb31894286e inherit pro_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 pro_methods_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad1c8bb17f75cfe540853a871081bd9d0 inherit pro_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 pro_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 pro_methods_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7720aace2bf055d21a6fc33007c88197 inherit pro_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 pro_methods_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a69b34d0fdbb94b77df4647cdb8b98407 inherit pro_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 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="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:ae223ae380e2dc9d2e64cde0a577eccf2"><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_t_c_p_stream.html#ae223ae380e2dc9d2e64cde0a577eccf2">timeout</a></td></tr>
<tr class="separator:ae223ae380e2dc9d2e64cde0a577eccf2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1eb7fe5844a5c0a5708d658187e9839b"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_t_c_p_stream.html#a1eb7fe5844a5c0a5708d658187e9839b">bufsize</a></td></tr>
<tr class="separator:a1eb7fe5844a5c0a5708d658187e9839b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aecc5f6b34232ba0fef048f53fdaa51fc"><td class="memItemLeft" align="right" valign="top"><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_t_c_p_stream.html#aecc5f6b34232ba0fef048f53fdaa51fc">family</a></td></tr>
<tr class="separator:aecc5f6b34232ba0fef048f53fdaa51fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6e0d7b50899682ff1997239b85427469"><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_t_c_p_stream.html#a6e0d7b50899682ff1997239b85427469">gbuf</a></td></tr>
<tr class="separator:a6e0d7b50899682ff1997239b85427469"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afe373d1dd6090f4627e2361ff3a4fcdd"><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_t_c_p_stream.html#afe373d1dd6090f4627e2361ff3a4fcdd">pbuf</a></td></tr>
<tr class="separator:afe373d1dd6090f4627e2361ff3a4fcdd"><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>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
Friends</h2></td></tr>
<tr class="memitem:a203329196708b27f1e703e8c6b274490"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classost_1_1_t_c_p_stream.html">TCPStream</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_t_c_p_stream.html#a203329196708b27f1e703e8c6b274490">crlf</a> (<a class="el" href="classost_1_1_t_c_p_stream.html">TCPStream</a> &amp;)</td></tr>
<tr class="separator:a203329196708b27f1e703e8c6b274490"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a83209402df6507effb431cca0e8f06cc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classost_1_1_t_c_p_stream.html">TCPStream</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_t_c_p_stream.html#a83209402df6507effb431cca0e8f06cc">lfcr</a> (<a class="el" href="classost_1_1_t_c_p_stream.html">TCPStream</a> &amp;)</td></tr>
<tr class="separator:a83209402df6507effb431cca0e8f06cc"><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="memitem:a36a69681caa020f1abed34ae71d206ef 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#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 pro_types_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae056b6dd4f167163083b7ab602fd3f3f 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#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 pro_types_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a258f81f5a42d051242f0f49f8192f890 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#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 pro_types_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2cb9ccad21fc2f10c23e45cbb99bc6f8 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#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 pro_types_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaa032e41b920b38a79c875b8ae375799 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#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 pro_types_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3306a277326459f69aa69b474f50d6e2 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#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 pro_types_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7caa0e1bb24b387bd1c5b8240ea592e1 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#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 pro_types_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac2fe3b8bf4dfc66c7df11dfa1ce4415c 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#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 pro_types_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_static_methods_classost_1_1_socket"><td colspan="2" onclick="javascript:toggleInherit('pro_static_methods_classost_1_1_socket')"><img src="closed.png" alt="-"/>&#160;Static Protected Member Functions inherited from <a class="el" href="classost_1_1_socket.html">ost::Socket</a></td></tr>
<tr class="memitem:af735f45763298ad70b9925518b795837 inherit pro_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 pro_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 pro_static_methods_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>TCP streams are used to represent TCP client connections to a server by TCP protocol servers for accepting client connections. </p>
<p>The TCP stream is a C++ "stream" class, and can accept streaming of data to and from other C++ objects using the &lt;&lt; and &gt;&gt; operators.</p>
<p><a class="el" href="classost_1_1_t_c_p_stream.html" title="TCP streams are used to represent TCP client connections to a server by TCP protocol servers for acce...">TCPStream</a> itself can be formed either by connecting to a bound network address of a TCP server, or can be created when "accepting" a network connection from a TCP server.</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> streamable TCP socket connection. </dd></dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="tcp_8cpp-example.html#_a3">tcp.cpp</a>, and <a class="el" href="tcpstr1_8cpp-example.html#_a1">tcpstr1.cpp</a>.</dd>
</dl></div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="aa2ee8f719d30376c22ce9503baa9f43c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">ost::TCPStream::TCPStream </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classost_1_1_socket.html#a36a69681caa020f1abed34ae71d206ef">Family</a>&#160;</td>
          <td class="paramname"><em>family</em> = <code><a class="el" href="classost_1_1_socket.html#a36a69681caa020f1abed34ae71d206efa5bd9a46a5c0f46815c98feeb02e5e926">IPV4</a></code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>throwflag</em> = <code>true</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="thread_8h.html#af412159e5cef839836a5e7b19ee75d1c">timeout_t</a>&#160;</td>
          <td class="paramname"><em>to</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>The constructor required for building other classes or to start an unconnected <a class="el" href="classost_1_1_t_c_p_stream.html" title="TCP streams are used to represent TCP client connections to a server by TCP protocol servers for acce...">TCPStream</a> for connect. </p>

</div>
</div>
<a class="anchor" id="a8e008d40cdf19e3216cce66dfd084991"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">ost::TCPStream::TCPStream </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>server</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>throwflag</em> = <code>true</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></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>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Create a TCP stream by accepting a connection from a bound TCP socket acting as a server. </p>
<p>This performs an "accept" call.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">server</td><td>socket listening </td></tr>
    <tr><td class="paramname">throwflag</td><td>flag to throw errors. </td></tr>
    <tr><td class="paramname">timeout</td><td>for all operations. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a24bea89abbc213b6f60918ee233c6437"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">ost::TCPStream::TCPStream </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>server</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>throwflag</em> = <code>true</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></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>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a3aed78339f5695c1b281a59473628cb5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">ost::TCPStream::TCPStream </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>host</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>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned&#160;</td>
          <td class="paramname"><em>mss</em> = <code>536</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>throwflag</em> = <code>true</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></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>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Create a TCP stream by connecting to a TCP socket (on a remote machine). </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">host</td><td>address of remote TCP server. </td></tr>
    <tr><td class="paramname">port</td><td>number to connect. </td></tr>
    <tr><td class="paramname">mss</td><td>maximum segment size of streaming buffers. </td></tr>
    <tr><td class="paramname">throwflag</td><td>flag to throw errors. </td></tr>
    <tr><td class="paramname">timeout</td><td>for all operations. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a404f9e717f04b2d68fecd61b246b8ead"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">ost::TCPStream::TCPStream </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>host</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>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned&#160;</td>
          <td class="paramname"><em>mss</em> = <code>536</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>throwflag</em> = <code>true</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></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>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a744b09288892788e8b7f0453850d3562"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">ost::TCPStream::TCPStream </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classost_1_1_socket.html#a36a69681caa020f1abed34ae71d206ef">Family</a>&#160;</td>
          <td class="paramname"><em>family</em> = <code><a class="el" href="classost_1_1_socket.html#a36a69681caa020f1abed34ae71d206efa5bd9a46a5c0f46815c98feeb02e5e926">IPV4</a></code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned&#160;</td>
          <td class="paramname"><em>mss</em> = <code>536</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>throwflag</em> = <code>false</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="thread_8h.html#af412159e5cef839836a5e7b19ee75d1c">timeout_t</a>&#160;</td>
          <td class="paramname"><em>timer</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Construct a named TCP <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> connected to a remote machine. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">name</td><td>of remote service. </td></tr>
    <tr><td class="paramname">family</td><td>of protocol. </td></tr>
    <tr><td class="paramname">mss</td><td>maximum segment size of streaming buffers. </td></tr>
    <tr><td class="paramname">throwflag</td><td>flag to throw errors. </td></tr>
    <tr><td class="paramname">timer</td><td>for timeout for all operations. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a35ce0f9982969a1fe9ab2fa583802945"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">ost::TCPStream::TCPStream </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classost_1_1_t_c_p_stream.html">TCPStream</a> &amp;&#160;</td>
          <td class="paramname"><em>source</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>A copy constructor creates a new stream buffer. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">source</td><td>reference of stream to copy from. </td></tr>
  </table>
  </dd>
</dl>

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

<p>Flush and empty all buffers, and then remove the allocated buffers. </p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="ac223dac737c08d1b109bdc06be0b5493"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ost::TCPStream::allocate </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>size</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>Used to allocate the buffer space needed for iostream operations. </p>
<p>This function is called by the constructor.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">size</td><td>of stream buffers from constructor. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a39d12c649b784cf83dfbd36581f27d8c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ost::TCPStream::connect </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>host</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>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned&#160;</td>
          <td class="paramname"><em>mss</em> = <code>536</code>&#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>Create a TCP stream by connecting to a TCP socket (on a remote machine). </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">host</td><td>address of remote TCP server. </td></tr>
    <tr><td class="paramname">port</td><td>number to connect. </td></tr>
    <tr><td class="paramname">mss</td><td>maximum segment size of streaming buffers. </td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="tcp_8cpp-example.html#a4">tcp.cpp</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="aa2f4de4c7606cc893d16fa28efb7f438"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ost::TCPStream::connect </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>host</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>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned&#160;</td>
          <td class="paramname"><em>mss</em> = <code>536</code>&#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="a17ec811f69da42d9c6f2d5b940dc54e0"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ost::TCPStream::connect </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned&#160;</td>
          <td class="paramname"><em>mss</em> = <code>536</code>&#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 TCP stream to a named destination host and port number, using getaddrinfo interface if available. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">name</td><td>of host and service to connect </td></tr>
    <tr><td class="paramname">mss</td><td>maximum segment size of stream buffer </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a75ef0dedbc6985ff113817a24cb8fc14"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ost::TCPStream::connect </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>server</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Accept a connection from a TCP Server. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">server</td><td>socket listening </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="aba5de9163b215f181a43903099a8c403"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ost::TCPStream::connect </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>server</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a465c1772f8b6c1e1effcdfdc248622af"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ost::TCPStream::disconnect </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Disconnect the current session and prepare for a new one. </p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="tcp_8cpp-example.html#a8">tcp.cpp</a>, and <a class="el" href="tcpstr1_8cpp-example.html#a2">tcpstr1.cpp</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="ad64fb34a2a8003fac17a471060e89b39"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ost::TCPStream::endStream </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>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Used to terminate the buffer space and cleanup the socket connection. </p>
<p>This fucntion is called by the destructor. </p>

</div>
</div>
<a class="anchor" id="a0d016d7c968dcfcb0d3e15e759af4c5f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">size_t ost::TCPStream::getBufferSize </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>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Return the size of the current stream buffering used. </p>
<dl class="section return"><dt>Returns</dt><dd>size of stream buffers. </dd></dl>

</div>
</div>
<a class="anchor" id="a4c5fac74099d34d067b075995f53b60a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ost::TCPStream::getSegmentSize </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get protocol segment size. </p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="tcp_8cpp-example.html#a5">tcp.cpp</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="aeb71ab0a1a1ff92095e5421701649ad2"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ost::TCPStream::isPending </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classost_1_1_socket.html#a2cb9ccad21fc2f10c23e45cbb99bc6f8">Pending</a>&#160;</td>
          <td class="paramname"><em>pend</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></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><a class="el" href="thread_8h.html#a74f2d4c747bce0b8f7f7c1f48e651876">TIMEOUT_INF</a></code>&#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">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get the status of pending stream data. </p>
<p>This can be used to examine if input or output is waiting, or if an error or disconnect has occured on the stream. If a read buffer contains data then input is ready and if write buffer contains data it is first flushed and then checked. </p>

<p>Reimplemented from <a class="el" href="classost_1_1_socket.html#a8eb84be4b5cc91731c16be4f32f5bf3d">ost::Socket</a>.</p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="tcp_8cpp-example.html#a7">tcp.cpp</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="a5be264ef6d4972f0c213aed20d233bbf"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int ost::TCPStream::overflow </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>ch</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>This streambuf method is used to write the output buffer through the established tcp connection. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ch</td><td>char to push through. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>char pushed through. </dd></dl>

</div>
</div>
<a class="anchor" id="a0150df4f03d32e200b22d0f06404ac39"></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::TCPStream::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>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Examine contents of next waiting packet. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">buf</td><td>pointer to packet buffer for contents. </td></tr>
    <tr><td class="paramname">len</td><td>of packet buffer. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>number of bytes examined. </dd></dl>

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

</div>
</div>
<a class="anchor" id="ab418e62f385b62680825beaf79c00df4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t ost::TCPStream::printf </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>format</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>...</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Print content into a socket. </p>
<dl class="section return"><dt>Returns</dt><dd>count of bytes sent. </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">format</td><td>string </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a1bdf8e7962c57d6086117d5a790ad3f6"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ost::TCPStream::setTimeout </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="thread_8h.html#af412159e5cef839836a5e7b19ee75d1c">timeout_t</a>&#160;</td>
          <td class="paramname"><em>timer</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Set the I/O operation timeout for socket I/O operations. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">timer</td><td>to change timeout. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a75847ccff483b077c3b7c57b03a5175b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ost::TCPStream::sync </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Flushes the stream input and output buffers, writes pending output. </p>
<dl class="section return"><dt>Returns</dt><dd>0 on success. </dd></dl>

</div>
</div>
<a class="anchor" id="a5191b9c6d7c2369f96f236ae78b25452"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::iostream* ost::TCPStream::tcp </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">inline</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Used in derived classes to refer to the current object via it's iostream. </p>
<p>For example, to send a set of characters in a derived method, one might use *tcp() &lt;&lt; "test".</p>
<dl class="section return"><dt>Returns</dt><dd>stream pointer of this object. </dd></dl>

</div>
</div>
<a class="anchor" id="a9c1c5fa96fd3dc099ef452691075e492"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int ost::TCPStream::uflow </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>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>This streambuf method is used for doing unbuffered reads through the establish tcp socket connection when in interactive mode. </p>
<p>Also this method will handle proper use of buffers if not in interative mode.</p>
<dl class="section return"><dt>Returns</dt><dd>char from tcp socket connection, EOF if not connected. </dd></dl>

</div>
</div>
<a class="anchor" id="a8bba1f2724c35992a48ef7322214a3dc"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int ost::TCPStream::underflow </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>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>This streambuf method is used to load the input buffer through the established tcp socket connection. </p>
<dl class="section return"><dt>Returns</dt><dd>char from get buffer, EOF if not connected. </dd></dl>

</div>
</div>
<h2 class="groupheader">Friends And Related Function Documentation</h2>
<a class="anchor" id="a203329196708b27f1e703e8c6b274490"></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_t_c_p_stream.html">TCPStream</a>&amp; crlf </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classost_1_1_t_c_p_stream.html">TCPStream</a> &amp;&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></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>
<a class="anchor" id="a83209402df6507effb431cca0e8f06cc"></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_t_c_p_stream.html">TCPStream</a>&amp; lfcr </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classost_1_1_t_c_p_stream.html">TCPStream</a> &amp;&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></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>
<h2 class="groupheader">Member Data Documentation</h2>
<a class="anchor" id="a1eb7fe5844a5c0a5708d658187e9839b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">size_t ost::TCPStream::bufsize</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="aecc5f6b34232ba0fef048f53fdaa51fc"></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#a36a69681caa020f1abed34ae71d206ef">Family</a> ost::TCPStream::family</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="a6e0d7b50899682ff1997239b85427469"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">char* ost::TCPStream::gbuf</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="afe373d1dd6090f4627e2361ff3a4fcdd"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">char * ost::TCPStream::pbuf</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="ae223ae380e2dc9d2e64cde0a577eccf2"></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="thread_8h.html#af412159e5cef839836a5e7b19ee75d1c">timeout_t</a> ost::TCPStream::timeout</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>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="socket_8h_source.html">socket.h</a></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>