Sophie

Sophie

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

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::TCPSession 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_session.html">TCPSession</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="classost_1_1_t_c_p_session-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">ost::TCPSession Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>The TCP session is used to primarily to represent a client connection that can be managed on a seperate thread.  
 <a href="classost_1_1_t_c_p_session.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::TCPSession:</div>
<div class="dyncontent">
 <div class="center">
  <img src="classost_1_1_t_c_p_session.png" usemap="#ost::TCPSession_map" alt=""/>
  <map id="ost::TCPSession_map" name="ost::TCPSession_map">
<area href="classost_1_1_thread.html" title="Every thread of execution in an application is created by instantiating an object of a class derived ..." alt="ost::Thread" shape="rect" coords="0,56,102,80"/>
<area 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..." alt="ost::TCPStream" shape="rect" coords="112,56,214,80"/>
<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"/>
</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:a70bc06626fdd05d061772794255f64e7"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_t_c_p_session.html#a70bc06626fdd05d061772794255f64e7">TCPSession</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, size_t size=536, int pri=0, size_t stack=0)</td></tr>
<tr class="memdesc:a70bc06626fdd05d061772794255f64e7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a TCP socket that will be connected to a remote TCP server and that will execute under it's own thread.  <a href="#a70bc06626fdd05d061772794255f64e7">More...</a><br/></td></tr>
<tr class="separator:a70bc06626fdd05d061772794255f64e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4d3b25b7a96a1ea0115182740096b824"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_t_c_p_session.html#a4d3b25b7a96a1ea0115182740096b824">TCPSession</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, size_t size=536, int pri=0, size_t stack=0)</td></tr>
<tr class="separator:a4d3b25b7a96a1ea0115182740096b824"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a25cbaa17d60d4dc693bf48bd36933231"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_t_c_p_session.html#a25cbaa17d60d4dc693bf48bd36933231">TCPSession</a> (<a class="el" href="classost_1_1_t_c_p_socket.html">TCPSocket</a> &amp;server, int pri=0, size_t stack=0)</td></tr>
<tr class="memdesc:a25cbaa17d60d4dc693bf48bd36933231"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a TCP socket from a bound TCP server by accepting a pending connection from that server and execute a thread for the accepted connection.  <a href="#a25cbaa17d60d4dc693bf48bd36933231">More...</a><br/></td></tr>
<tr class="separator:a25cbaa17d60d4dc693bf48bd36933231"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af6d0c9073780fd0549b79c1131fec04f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_t_c_p_session.html#af6d0c9073780fd0549b79c1131fec04f">TCPSession</a> (<a class="el" href="classost_1_1_t_c_p_v6_socket.html">TCPV6Socket</a> &amp;server, int pri=0, size_t stack=0)</td></tr>
<tr class="separator:af6d0c9073780fd0549b79c1131fec04f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4d5b8693e78bab5c68c2e8ea1c2c024c"><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_session.html#a4d5b8693e78bab5c68c2e8ea1c2c024c">~TCPSession</a> ()</td></tr>
<tr class="memdesc:a4d5b8693e78bab5c68c2e8ea1c2c024c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Make sure destruction happens through a virtual...  <a href="#a4d5b8693e78bab5c68c2e8ea1c2c024c">More...</a><br/></td></tr>
<tr class="separator:a4d5b8693e78bab5c68c2e8ea1c2c024c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classost_1_1_thread"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classost_1_1_thread')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classost_1_1_thread.html">ost::Thread</a></td></tr>
<tr class="memitem:a72470c1b00d098e74162284e248c0435 inherit pub_methods_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#a72470c1b00d098e74162284e248c0435">Thread</a> (bool isMain)</td></tr>
<tr class="memdesc:a72470c1b00d098e74162284e248c0435 inherit pub_methods_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">This is actually a special constructor that is used to create a thread "object" for the current execution context when that context is not created via an instance of a derived <a class="el" href="classost_1_1_thread.html" title="Every thread of execution in an application is created by instantiating an object of a class derived ...">Thread</a> object itself.  <a href="#a72470c1b00d098e74162284e248c0435">More...</a><br/></td></tr>
<tr class="separator:a72470c1b00d098e74162284e248c0435 inherit pub_methods_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a082ea94f104219969a2d75becc749af6 inherit pub_methods_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#a082ea94f104219969a2d75becc749af6">Thread</a> (int pri=0, size_t stack=0)</td></tr>
<tr class="memdesc:a082ea94f104219969a2d75becc749af6 inherit pub_methods_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">When a thread object is contructed, a new thread of execution context is created.  <a href="#a082ea94f104219969a2d75becc749af6">More...</a><br/></td></tr>
<tr class="separator:a082ea94f104219969a2d75becc749af6 inherit pub_methods_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0ba7f4211aabb5a278c546d0fae81f55 inherit pub_methods_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#a0ba7f4211aabb5a278c546d0fae81f55">Thread</a> (const <a class="el" href="classost_1_1_thread.html">Thread</a> &amp;th)</td></tr>
<tr class="memdesc:a0ba7f4211aabb5a278c546d0fae81f55 inherit pub_methods_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">A thread of execution can also be specified by cloning an existing thread.  <a href="#a0ba7f4211aabb5a278c546d0fae81f55">More...</a><br/></td></tr>
<tr class="separator:a0ba7f4211aabb5a278c546d0fae81f55 inherit pub_methods_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad363397f26006af68fa9315c9bff8589 inherit pub_methods_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#ad363397f26006af68fa9315c9bff8589">~Thread</a> ()</td></tr>
<tr class="memdesc:ad363397f26006af68fa9315c9bff8589 inherit pub_methods_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">The thread destructor should clear up any resources that have been allocated by the thread.  <a href="#ad363397f26006af68fa9315c9bff8589">More...</a><br/></td></tr>
<tr class="separator:ad363397f26006af68fa9315c9bff8589 inherit pub_methods_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2ef198d7aefb93cf9de4fcc6b66c27a2 inherit pub_methods_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#a2ef198d7aefb93cf9de4fcc6b66c27a2">start</a> (<a class="el" href="classost_1_1_semaphore.html">Semaphore</a> *start=0)</td></tr>
<tr class="memdesc:a2ef198d7aefb93cf9de4fcc6b66c27a2 inherit pub_methods_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">When a new thread is created, it does not begin immediate execution.  <a href="#a2ef198d7aefb93cf9de4fcc6b66c27a2">More...</a><br/></td></tr>
<tr class="separator:a2ef198d7aefb93cf9de4fcc6b66c27a2 inherit pub_methods_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac30778f0fffd9dd952fd73cb541cc70b inherit pub_methods_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#ac30778f0fffd9dd952fd73cb541cc70b">detach</a> (<a class="el" href="classost_1_1_semaphore.html">Semaphore</a> *<a class="el" href="classost_1_1_thread.html#a2ef198d7aefb93cf9de4fcc6b66c27a2">start</a>=0)</td></tr>
<tr class="memdesc:ac30778f0fffd9dd952fd73cb541cc70b inherit pub_methods_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start a new thread as "detached".  <a href="#ac30778f0fffd9dd952fd73cb541cc70b">More...</a><br/></td></tr>
<tr class="separator:ac30778f0fffd9dd952fd73cb541cc70b inherit pub_methods_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aac5bc230c3bad5c837baa9e6d01f4c24 inherit pub_methods_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classost_1_1_thread.html">Thread</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#aac5bc230c3bad5c837baa9e6d01f4c24">getParent</a> (void)</td></tr>
<tr class="memdesc:aac5bc230c3bad5c837baa9e6d01f4c24 inherit pub_methods_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the pointer to the <a class="el" href="classost_1_1_thread.html" title="Every thread of execution in an application is created by instantiating an object of a class derived ...">Thread</a> class which created the current thread object.  <a href="#aac5bc230c3bad5c837baa9e6d01f4c24">More...</a><br/></td></tr>
<tr class="separator:aac5bc230c3bad5c837baa9e6d01f4c24 inherit pub_methods_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5f1b650c1f3b71e458adfbd86b3acb83 inherit pub_methods_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#a5f1b650c1f3b71e458adfbd86b3acb83">suspend</a> (void)</td></tr>
<tr class="memdesc:a5f1b650c1f3b71e458adfbd86b3acb83 inherit pub_methods_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Suspends execution of the selected thread.  <a href="#a5f1b650c1f3b71e458adfbd86b3acb83">More...</a><br/></td></tr>
<tr class="separator:a5f1b650c1f3b71e458adfbd86b3acb83 inherit pub_methods_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0861f734ad77b1ba517fce302215e41e inherit pub_methods_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#a0861f734ad77b1ba517fce302215e41e">resume</a> (void)</td></tr>
<tr class="memdesc:a0861f734ad77b1ba517fce302215e41e inherit pub_methods_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Resumes execution of the selected thread.  <a href="#a0861f734ad77b1ba517fce302215e41e">More...</a><br/></td></tr>
<tr class="separator:a0861f734ad77b1ba517fce302215e41e inherit pub_methods_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3524521d80bcc0562fb59a28ce5d62a4 inherit pub_methods_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classost_1_1_thread.html#a24f333b09607b7c48a97e05865ada69b">Cancel</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#a3524521d80bcc0562fb59a28ce5d62a4">getCancel</a> (void)</td></tr>
<tr class="memdesc:a3524521d80bcc0562fb59a28ce5d62a4 inherit pub_methods_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Used to retrieve the cancellation mode in effect for the selected thread.  <a href="#a3524521d80bcc0562fb59a28ce5d62a4">More...</a><br/></td></tr>
<tr class="separator:a3524521d80bcc0562fb59a28ce5d62a4 inherit pub_methods_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa04a06a086dffad7ffc67dba4ea431ab inherit pub_methods_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#aa04a06a086dffad7ffc67dba4ea431ab">isRunning</a> (void) const </td></tr>
<tr class="memdesc:aa04a06a086dffad7ffc67dba4ea431ab inherit pub_methods_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Verifies if the thread is still running or has already been terminated but not yet deleted.  <a href="#aa04a06a086dffad7ffc67dba4ea431ab">More...</a><br/></td></tr>
<tr class="separator:aa04a06a086dffad7ffc67dba4ea431ab inherit pub_methods_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1bbbe1d6bc6dea6bea48cdabe2c7da20 inherit pub_methods_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#a1bbbe1d6bc6dea6bea48cdabe2c7da20">isDetached</a> (void) const </td></tr>
<tr class="memdesc:a1bbbe1d6bc6dea6bea48cdabe2c7da20 inherit pub_methods_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if this thread is detached.  <a href="#a1bbbe1d6bc6dea6bea48cdabe2c7da20">More...</a><br/></td></tr>
<tr class="separator:a1bbbe1d6bc6dea6bea48cdabe2c7da20 inherit pub_methods_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1e6d355ea0d9b0b023f3fc2aa91a25e8 inherit pub_methods_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#a1e6d355ea0d9b0b023f3fc2aa91a25e8">join</a> (void)</td></tr>
<tr class="memdesc:a1e6d355ea0d9b0b023f3fc2aa91a25e8 inherit pub_methods_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Blocking call which unlocks when thread terminates.  <a href="#a1e6d355ea0d9b0b023f3fc2aa91a25e8">More...</a><br/></td></tr>
<tr class="separator:a1e6d355ea0d9b0b023f3fc2aa91a25e8 inherit pub_methods_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a69ae124edf7e7989db0f911b847cacae inherit pub_methods_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#a69ae124edf7e7989db0f911b847cacae">isThread</a> (void) const </td></tr>
<tr class="memdesc:a69ae124edf7e7989db0f911b847cacae inherit pub_methods_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tests to see if the current execution context is the same as the specified thread object.  <a href="#a69ae124edf7e7989db0f911b847cacae">More...</a><br/></td></tr>
<tr class="separator:a69ae124edf7e7989db0f911b847cacae inherit pub_methods_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3947a150139cf226626f47166ff92286 inherit pub_methods_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top"><a class="el" href="thread_8h.html#a3f0d0226a694bf1e508e1b1c758e6ae6">cctid_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#a3947a150139cf226626f47166ff92286">getId</a> (void) const </td></tr>
<tr class="memdesc:a3947a150139cf226626f47166ff92286 inherit pub_methods_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get system thread numeric identifier.  <a href="#a3947a150139cf226626f47166ff92286">More...</a><br/></td></tr>
<tr class="separator:a3947a150139cf226626f47166ff92286 inherit pub_methods_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6b578a4a82d61060d1b17109caddc1a5 inherit pub_methods_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#a6b578a4a82d61060d1b17109caddc1a5">getName</a> (void) const </td></tr>
<tr class="memdesc:a6b578a4a82d61060d1b17109caddc1a5 inherit pub_methods_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the name string for this thread, to use in debug messages.  <a href="#a6b578a4a82d61060d1b17109caddc1a5">More...</a><br/></td></tr>
<tr class="separator:a6b578a4a82d61060d1b17109caddc1a5 inherit pub_methods_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classost_1_1_t_c_p_stream"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classost_1_1_t_c_p_stream')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classost_1_1_t_c_p_stream.html">ost::TCPStream</a></td></tr>
<tr class="memitem:aa2ee8f719d30376c22ce9503baa9f43c inherit pub_methods_classost_1_1_t_c_p_stream"><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 inherit pub_methods_classost_1_1_t_c_p_stream"><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 inherit pub_methods_classost_1_1_t_c_p_stream"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a465c1772f8b6c1e1effcdfdc248622af inherit pub_methods_classost_1_1_t_c_p_stream"><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 inherit pub_methods_classost_1_1_t_c_p_stream"><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 inherit pub_methods_classost_1_1_t_c_p_stream"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4c5fac74099d34d067b075995f53b60a inherit pub_methods_classost_1_1_t_c_p_stream"><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 inherit pub_methods_classost_1_1_t_c_p_stream"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get protocol segment size.  <a href="#a4c5fac74099d34d067b075995f53b60a">More...</a><br/></td></tr>
<tr class="separator:a4c5fac74099d34d067b075995f53b60a inherit pub_methods_classost_1_1_t_c_p_stream"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8e008d40cdf19e3216cce66dfd084991 inherit pub_methods_classost_1_1_t_c_p_stream"><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 inherit pub_methods_classost_1_1_t_c_p_stream"><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 inherit pub_methods_classost_1_1_t_c_p_stream"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a24bea89abbc213b6f60918ee233c6437 inherit pub_methods_classost_1_1_t_c_p_stream"><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 inherit pub_methods_classost_1_1_t_c_p_stream"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a75ef0dedbc6985ff113817a24cb8fc14 inherit pub_methods_classost_1_1_t_c_p_stream"><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 inherit pub_methods_classost_1_1_t_c_p_stream"><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 inherit pub_methods_classost_1_1_t_c_p_stream"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aba5de9163b215f181a43903099a8c403 inherit pub_methods_classost_1_1_t_c_p_stream"><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 inherit pub_methods_classost_1_1_t_c_p_stream"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3aed78339f5695c1b281a59473628cb5 inherit pub_methods_classost_1_1_t_c_p_stream"><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 inherit pub_methods_classost_1_1_t_c_p_stream"><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 inherit pub_methods_classost_1_1_t_c_p_stream"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a404f9e717f04b2d68fecd61b246b8ead inherit pub_methods_classost_1_1_t_c_p_stream"><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 inherit pub_methods_classost_1_1_t_c_p_stream"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a744b09288892788e8b7f0453850d3562 inherit pub_methods_classost_1_1_t_c_p_stream"><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 inherit pub_methods_classost_1_1_t_c_p_stream"><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 inherit pub_methods_classost_1_1_t_c_p_stream"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1bdf8e7962c57d6086117d5a790ad3f6 inherit pub_methods_classost_1_1_t_c_p_stream"><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 inherit pub_methods_classost_1_1_t_c_p_stream"><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 inherit pub_methods_classost_1_1_t_c_p_stream"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a35ce0f9982969a1fe9ab2fa583802945 inherit pub_methods_classost_1_1_t_c_p_stream"><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 inherit pub_methods_classost_1_1_t_c_p_stream"><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 inherit pub_methods_classost_1_1_t_c_p_stream"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aebd30d743538f2c3d95e2b1d214f176b inherit pub_methods_classost_1_1_t_c_p_stream"><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 inherit pub_methods_classost_1_1_t_c_p_stream"><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 inherit pub_methods_classost_1_1_t_c_p_stream"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a75847ccff483b077c3b7c57b03a5175b inherit pub_methods_classost_1_1_t_c_p_stream"><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 inherit pub_methods_classost_1_1_t_c_p_stream"><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 inherit pub_methods_classost_1_1_t_c_p_stream"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab418e62f385b62680825beaf79c00df4 inherit pub_methods_classost_1_1_t_c_p_stream"><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 inherit pub_methods_classost_1_1_t_c_p_stream"><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 inherit pub_methods_classost_1_1_t_c_p_stream"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeb71ab0a1a1ff92095e5421701649ad2 inherit pub_methods_classost_1_1_t_c_p_stream"><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 inherit pub_methods_classost_1_1_t_c_p_stream"><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 inherit pub_methods_classost_1_1_t_c_p_stream"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0150df4f03d32e200b22d0f06404ac39 inherit pub_methods_classost_1_1_t_c_p_stream"><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 inherit pub_methods_classost_1_1_t_c_p_stream"><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 inherit pub_methods_classost_1_1_t_c_p_stream"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0d016d7c968dcfcb0d3e15e759af4c5f inherit pub_methods_classost_1_1_t_c_p_stream"><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 inherit pub_methods_classost_1_1_t_c_p_stream"><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 inherit pub_methods_classost_1_1_t_c_p_stream"><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:afed206d2ae166a3f40dbea3eab924a34"><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_session.html#afed206d2ae166a3f40dbea3eab924a34">waitConnection</a> (<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:afed206d2ae166a3f40dbea3eab924a34"><td class="mdescLeft">&#160;</td><td class="mdescRight">Normally called during the thread Initial() method by default, this will wait for the socket connection to complete when connecting to a remote socket.  <a href="#afed206d2ae166a3f40dbea3eab924a34">More...</a><br/></td></tr>
<tr class="separator:afed206d2ae166a3f40dbea3eab924a34"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad0a0568018d48cc3079222156a6af093"><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_session.html#ad0a0568018d48cc3079222156a6af093">initial</a> (void)</td></tr>
<tr class="memdesc:ad0a0568018d48cc3079222156a6af093"><td class="mdescLeft">&#160;</td><td class="mdescRight">The initial method is used to esablish a connection when delayed completion is used.  <a href="#ad0a0568018d48cc3079222156a6af093">More...</a><br/></td></tr>
<tr class="separator:ad0a0568018d48cc3079222156a6af093"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_methods_classost_1_1_thread"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classost_1_1_thread')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="classost_1_1_thread.html">ost::Thread</a></td></tr>
<tr class="memitem:ab6f72653183c4db0dfd6b254ddbf072e inherit pro_methods_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#ab6f72653183c4db0dfd6b254ddbf072e">setName</a> (const char *text)</td></tr>
<tr class="memdesc:ab6f72653183c4db0dfd6b254ddbf072e inherit pro_methods_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the name of the current thread.  <a href="#ab6f72653183c4db0dfd6b254ddbf072e">More...</a><br/></td></tr>
<tr class="separator:ab6f72653183c4db0dfd6b254ddbf072e inherit pro_methods_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:add7d339d94b8a1ed2b2b0324a95b7e74 inherit pro_methods_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#add7d339d94b8a1ed2b2b0324a95b7e74">run</a> (void)=0</td></tr>
<tr class="memdesc:add7d339d94b8a1ed2b2b0324a95b7e74 inherit pro_methods_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">All threads execute by deriving the Run method of <a class="el" href="classost_1_1_thread.html" title="Every thread of execution in an application is created by instantiating an object of a class derived ...">Thread</a>.  <a href="#add7d339d94b8a1ed2b2b0324a95b7e74">More...</a><br/></td></tr>
<tr class="separator:add7d339d94b8a1ed2b2b0324a95b7e74 inherit pro_methods_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6fb521eb3d23c51925472a3fe0abf327 inherit pro_methods_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#a6fb521eb3d23c51925472a3fe0abf327">final</a> (void)</td></tr>
<tr class="memdesc:a6fb521eb3d23c51925472a3fe0abf327 inherit pro_methods_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">A thread that is self terminating, either by invoking <a class="el" href="classost_1_1_thread.html#acd315d7c877b346970680d739da3e994" title="Used to properly exit from a Thread derived run() or initial() method. ">exit()</a> or leaving it's <a class="el" href="classost_1_1_thread.html#add7d339d94b8a1ed2b2b0324a95b7e74" title="All threads execute by deriving the Run method of Thread. ">run()</a>, will have this method called.  <a href="#a6fb521eb3d23c51925472a3fe0abf327">More...</a><br/></td></tr>
<tr class="separator:a6fb521eb3d23c51925472a3fe0abf327 inherit pro_methods_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab73c94e3ca46cb24f4246e71fff73026 inherit pro_methods_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">virtual void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#ab73c94e3ca46cb24f4246e71fff73026">getExtended</a> (void)</td></tr>
<tr class="memdesc:ab73c94e3ca46cb24f4246e71fff73026 inherit pro_methods_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Since <a class="el" href="classost_1_1_thread.html#aac5bc230c3bad5c837baa9e6d01f4c24" title="Gets the pointer to the Thread class which created the current thread object. ">getParent()</a> and <a class="el" href="namespaceost.html#a99c7f7d02b00922b0f5ee62fc3bb75fd">getThread()</a> only refer to an object of the <a class="el" href="classost_1_1_thread.html" title="Every thread of execution in an application is created by instantiating an object of a class derived ...">Thread</a> "base" type, this virtual method can be replaced in a derived class with something that returns data specific to the derived class that can still be accessed through the pointer returned by <a class="el" href="classost_1_1_thread.html#aac5bc230c3bad5c837baa9e6d01f4c24" title="Gets the pointer to the Thread class which created the current thread object. ">getParent()</a> and <a class="el" href="namespaceost.html#a99c7f7d02b00922b0f5ee62fc3bb75fd">getThread()</a>.  <a href="#ab73c94e3ca46cb24f4246e71fff73026">More...</a><br/></td></tr>
<tr class="separator:ab73c94e3ca46cb24f4246e71fff73026 inherit pro_methods_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a390827ad98d3402dd84ee9f128bcd564 inherit pro_methods_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#a390827ad98d3402dd84ee9f128bcd564">notify</a> (<a class="el" href="classost_1_1_thread.html">Thread</a> *)</td></tr>
<tr class="memdesc:a390827ad98d3402dd84ee9f128bcd564 inherit pro_methods_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">When a thread terminates, it now sends a notification message to the parent thread which created it.  <a href="#a390827ad98d3402dd84ee9f128bcd564">More...</a><br/></td></tr>
<tr class="separator:a390827ad98d3402dd84ee9f128bcd564 inherit pro_methods_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acd315d7c877b346970680d739da3e994 inherit pro_methods_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#acd315d7c877b346970680d739da3e994">exit</a> (void)</td></tr>
<tr class="memdesc:acd315d7c877b346970680d739da3e994 inherit pro_methods_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Used to properly exit from a <a class="el" href="classost_1_1_thread.html" title="Every thread of execution in an application is created by instantiating an object of a class derived ...">Thread</a> derived <a class="el" href="classost_1_1_thread.html#add7d339d94b8a1ed2b2b0324a95b7e74" title="All threads execute by deriving the Run method of Thread. ">run()</a> or <a class="el" href="classost_1_1_thread.html#a300c229e76725eeddc69867f7ecea91f" title="The initial method is called by a newly created thread when it starts execution. ">initial()</a> method.  <a href="#acd315d7c877b346970680d739da3e994">More...</a><br/></td></tr>
<tr class="separator:acd315d7c877b346970680d739da3e994 inherit pro_methods_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1cda4748073c4d55e2d0504e7c9b09cc inherit pro_methods_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#a1cda4748073c4d55e2d0504e7c9b09cc">sync</a> (void)</td></tr>
<tr class="memdesc:a1cda4748073c4d55e2d0504e7c9b09cc inherit pro_methods_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Used to wait for a join or cancel, in place of explicit exit.  <a href="#a1cda4748073c4d55e2d0504e7c9b09cc">More...</a><br/></td></tr>
<tr class="separator:a1cda4748073c4d55e2d0504e7c9b09cc inherit pro_methods_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af8afe7a3330b69dff685415aae14657c inherit pro_methods_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#af8afe7a3330b69dff685415aae14657c">testCancel</a> (void)</td></tr>
<tr class="memdesc:af8afe7a3330b69dff685415aae14657c inherit pro_methods_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">test a cancellation point for deferred thread cancellation.  <a href="#af8afe7a3330b69dff685415aae14657c">More...</a><br/></td></tr>
<tr class="separator:af8afe7a3330b69dff685415aae14657c inherit pro_methods_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4bff373a83b90f6f44d1519ef893e35b inherit pro_methods_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#a4bff373a83b90f6f44d1519ef893e35b">setCancel</a> (<a class="el" href="classost_1_1_thread.html#a24f333b09607b7c48a97e05865ada69b">Cancel</a> mode)</td></tr>
<tr class="memdesc:a4bff373a83b90f6f44d1519ef893e35b inherit pro_methods_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets thread cancellation mode.  <a href="#a4bff373a83b90f6f44d1519ef893e35b">More...</a><br/></td></tr>
<tr class="separator:a4bff373a83b90f6f44d1519ef893e35b inherit pro_methods_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad226f8bca85bf68ce71d90baca6434d6 inherit pro_methods_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#ad226f8bca85bf68ce71d90baca6434d6">setSuspend</a> (<a class="el" href="classost_1_1_thread.html#aff7bd364ce645eac95affbf74f1a7087">Suspend</a> mode)</td></tr>
<tr class="memdesc:ad226f8bca85bf68ce71d90baca6434d6 inherit pro_methods_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the thread's ability to be suspended from execution.  <a href="#ad226f8bca85bf68ce71d90baca6434d6">More...</a><br/></td></tr>
<tr class="separator:ad226f8bca85bf68ce71d90baca6434d6 inherit pro_methods_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae71c94c24733ed82f9b74c034744d002 inherit pro_methods_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#ae71c94c24733ed82f9b74c034744d002">terminate</a> (void)</td></tr>
<tr class="memdesc:ae71c94c24733ed82f9b74c034744d002 inherit pro_methods_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Used by another thread to terminate the current thread.  <a href="#ae71c94c24733ed82f9b74c034744d002">More...</a><br/></td></tr>
<tr class="separator:ae71c94c24733ed82f9b74c034744d002 inherit pro_methods_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5e574c2c5f388277527c9257524dd654 inherit pro_methods_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#a5e574c2c5f388277527c9257524dd654">clrParent</a> (void)</td></tr>
<tr class="memdesc:a5e574c2c5f388277527c9257524dd654 inherit pro_methods_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">clear parent thread relationship.  <a href="#a5e574c2c5f388277527c9257524dd654">More...</a><br/></td></tr>
<tr class="separator:a5e574c2c5f388277527c9257524dd654 inherit pro_methods_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_methods_classost_1_1_t_c_p_stream"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classost_1_1_t_c_p_stream')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="classost_1_1_t_c_p_stream.html">ost::TCPStream</a></td></tr>
<tr class="memitem:ac223dac737c08d1b109bdc06be0b5493 inherit pro_methods_classost_1_1_t_c_p_stream"><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 inherit pro_methods_classost_1_1_t_c_p_stream"><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 inherit pro_methods_classost_1_1_t_c_p_stream"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad64fb34a2a8003fac17a471060e89b39 inherit pro_methods_classost_1_1_t_c_p_stream"><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 inherit pro_methods_classost_1_1_t_c_p_stream"><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 inherit pro_methods_classost_1_1_t_c_p_stream"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8bba1f2724c35992a48ef7322214a3dc inherit pro_methods_classost_1_1_t_c_p_stream"><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 inherit pro_methods_classost_1_1_t_c_p_stream"><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 inherit pro_methods_classost_1_1_t_c_p_stream"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9c1c5fa96fd3dc099ef452691075e492 inherit pro_methods_classost_1_1_t_c_p_stream"><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 inherit pro_methods_classost_1_1_t_c_p_stream"><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 inherit pro_methods_classost_1_1_t_c_p_stream"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5be264ef6d4972f0c213aed20d233bbf inherit pro_methods_classost_1_1_t_c_p_stream"><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 inherit pro_methods_classost_1_1_t_c_p_stream"><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 inherit pro_methods_classost_1_1_t_c_p_stream"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a39d12c649b784cf83dfbd36581f27d8c inherit pro_methods_classost_1_1_t_c_p_stream"><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 inherit pro_methods_classost_1_1_t_c_p_stream"><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 inherit pro_methods_classost_1_1_t_c_p_stream"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa2f4de4c7606cc893d16fa28efb7f438 inherit pro_methods_classost_1_1_t_c_p_stream"><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 inherit pro_methods_classost_1_1_t_c_p_stream"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a17ec811f69da42d9c6f2d5b940dc54e0 inherit pro_methods_classost_1_1_t_c_p_stream"><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 inherit pro_methods_classost_1_1_t_c_p_stream"><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 inherit pro_methods_classost_1_1_t_c_p_stream"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5191b9c6d7c2369f96f236ae78b25452 inherit pro_methods_classost_1_1_t_c_p_stream"><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 inherit pro_methods_classost_1_1_t_c_p_stream"><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 inherit pro_methods_classost_1_1_t_c_p_stream"><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="inherited"></a>
Additional Inherited Members</h2></td></tr>
<tr class="inherit_header pub_types_classost_1_1_thread"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classost_1_1_thread')"><img src="closed.png" alt="-"/>&#160;Public Types inherited from <a class="el" href="classost_1_1_thread.html">ost::Thread</a></td></tr>
<tr class="memitem:ab9538e839c06104af2974b77d2a5674d inherit pub_types_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#ab9538e839c06104af2974b77d2a5674d">Throw</a> { <a class="el" href="classost_1_1_thread.html#ab9538e839c06104af2974b77d2a5674da1b058025329425c90f383d124ee605e5">throwNothing</a>, 
<a class="el" href="classost_1_1_thread.html#ab9538e839c06104af2974b77d2a5674daea5957cd08cfecf17f366352bcf9ad80">throwObject</a>, 
<a class="el" href="classost_1_1_thread.html#ab9538e839c06104af2974b77d2a5674da8e51a6870e65238764becffff92d7f54">throwException</a>
 }</td></tr>
<tr class="memdesc:ab9538e839c06104af2974b77d2a5674d"><td class="mdescLeft">&#160;</td><td class="mdescRight">How to raise error.  <a href="classost_1_1_thread.html#ab9538e839c06104af2974b77d2a5674d">More...</a><br/></td></tr>
<tr class="separator:ab9538e839c06104af2974b77d2a5674d inherit pub_types_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a24f333b09607b7c48a97e05865ada69b inherit pub_types_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#a24f333b09607b7c48a97e05865ada69b">Cancel</a> { <br/>
&#160;&#160;<a class="el" href="classost_1_1_thread.html#a24f333b09607b7c48a97e05865ada69babbf14157c17311ec31f0967032ecb357">cancelInitial</a> =0, 
<a class="el" href="classost_1_1_thread.html#a24f333b09607b7c48a97e05865ada69bab02b8cd8d899a693e8cbb86082f4ef16">cancelDeferred</a> =1, 
<a class="el" href="classost_1_1_thread.html#a24f333b09607b7c48a97e05865ada69ba57f820ea4f7a326c27cc504a213e167d">cancelImmediate</a>, 
<a class="el" href="classost_1_1_thread.html#a24f333b09607b7c48a97e05865ada69bae07cc9f6d3d7333c8cce543a8bb58215">cancelDisabled</a>, 
<br/>
&#160;&#160;<a class="el" href="classost_1_1_thread.html#a24f333b09607b7c48a97e05865ada69baa194b63cafc5387684afe7943fe3b5f0">cancelManual</a>, 
<a class="el" href="classost_1_1_thread.html#a24f333b09607b7c48a97e05865ada69badf753e6d700f194c1b8f695a9bd67554">cancelDefault</a> =cancelDeferred
<br/>
 }</td></tr>
<tr class="memdesc:a24f333b09607b7c48a97e05865ada69b"><td class="mdescLeft">&#160;</td><td class="mdescRight">How work cancellation.  <a href="classost_1_1_thread.html#a24f333b09607b7c48a97e05865ada69b">More...</a><br/></td></tr>
<tr class="separator:a24f333b09607b7c48a97e05865ada69b inherit pub_types_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aff7bd364ce645eac95affbf74f1a7087 inherit pub_types_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#aff7bd364ce645eac95affbf74f1a7087">Suspend</a> { <a class="el" href="classost_1_1_thread.html#aff7bd364ce645eac95affbf74f1a7087a27f2f61f4bc18b64e9c25f73bb008a38">suspendEnable</a>, 
<a class="el" href="classost_1_1_thread.html#aff7bd364ce645eac95affbf74f1a7087a0e9f14f0e69d8c12c36a46d108a5074b">suspendDisable</a>
 }</td></tr>
<tr class="memdesc:aff7bd364ce645eac95affbf74f1a7087"><td class="mdescLeft">&#160;</td><td class="mdescRight">How work suspend.  <a href="classost_1_1_thread.html#aff7bd364ce645eac95affbf74f1a7087">More...</a><br/></td></tr>
<tr class="separator:aff7bd364ce645eac95affbf74f1a7087 inherit pub_types_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a511f08b9f1aef08b4f02e2ad225960ab inherit pub_types_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="classost_1_1_thread.html#ab9538e839c06104af2974b77d2a5674d">ost::Thread::Throw</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#a511f08b9f1aef08b4f02e2ad225960ab">Throw</a></td></tr>
<tr class="memdesc:a511f08b9f1aef08b4f02e2ad225960ab inherit pub_types_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">How to raise error.  <a href="#a511f08b9f1aef08b4f02e2ad225960ab">More...</a><br/></td></tr>
<tr class="separator:a511f08b9f1aef08b4f02e2ad225960ab inherit pub_types_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0d876c60edcf92d3d96121aacea441d0 inherit pub_types_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="classost_1_1_thread.html#a24f333b09607b7c48a97e05865ada69b">ost::Thread::Cancel</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#a0d876c60edcf92d3d96121aacea441d0">Cancel</a></td></tr>
<tr class="memdesc:a0d876c60edcf92d3d96121aacea441d0 inherit pub_types_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">How work cancellation.  <a href="#a0d876c60edcf92d3d96121aacea441d0">More...</a><br/></td></tr>
<tr class="separator:a0d876c60edcf92d3d96121aacea441d0 inherit pub_types_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a81069ba4a0bf16a0aa9f076aa725f0c1 inherit pub_types_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="classost_1_1_thread.html#aff7bd364ce645eac95affbf74f1a7087">ost::Thread::Suspend</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#a81069ba4a0bf16a0aa9f076aa725f0c1">Suspend</a></td></tr>
<tr class="memdesc:a81069ba4a0bf16a0aa9f076aa725f0c1 inherit pub_types_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">How work suspend.  <a href="#a81069ba4a0bf16a0aa9f076aa725f0c1">More...</a><br/></td></tr>
<tr class="separator:a81069ba4a0bf16a0aa9f076aa725f0c1 inherit pub_types_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</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_thread"><td colspan="2" onclick="javascript:toggleInherit('pub_static_methods_classost_1_1_thread')"><img src="closed.png" alt="-"/>&#160;Static Public Member Functions inherited from <a class="el" href="classost_1_1_thread.html">ost::Thread</a></td></tr>
<tr class="memitem:aaad41a9f7962bdc3058a429df48246fd inherit pub_static_methods_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classost_1_1_thread.html">Thread</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#aaad41a9f7962bdc3058a429df48246fd">get</a> (void)</td></tr>
<tr class="separator:aaad41a9f7962bdc3058a429df48246fd inherit pub_static_methods_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:accd29b724539d63a8495d954f9f56c72 inherit pub_static_methods_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#accd29b724539d63a8495d954f9f56c72">setStack</a> (size_t size=0)</td></tr>
<tr class="memdesc:accd29b724539d63a8495d954f9f56c72 inherit pub_static_methods_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set base stack limit before manual stack sizes have effect.  <a href="#accd29b724539d63a8495d954f9f56c72">More...</a><br/></td></tr>
<tr class="separator:accd29b724539d63a8495d954f9f56c72 inherit pub_static_methods_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a663d960e8599194f3b25169915c22fb6 inherit pub_static_methods_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#a663d960e8599194f3b25169915c22fb6">sleep</a> (<a class="el" href="thread_8h.html#af412159e5cef839836a5e7b19ee75d1c">timeout_t</a> msec)</td></tr>
<tr class="memdesc:a663d960e8599194f3b25169915c22fb6 inherit pub_static_methods_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">A thread-safe sleep call.  <a href="#a663d960e8599194f3b25169915c22fb6">More...</a><br/></td></tr>
<tr class="separator:a663d960e8599194f3b25169915c22fb6 inherit pub_static_methods_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3f4a4f9872ed8f80a591e6b020ecf5d7 inherit pub_static_methods_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#a3f4a4f9872ed8f80a591e6b020ecf5d7">yield</a> (void)</td></tr>
<tr class="memdesc:a3f4a4f9872ed8f80a591e6b020ecf5d7 inherit pub_static_methods_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Yields the current thread's CPU time slice to allow another thread to begin immediate execution.  <a href="#a3f4a4f9872ed8f80a591e6b020ecf5d7">More...</a><br/></td></tr>
<tr class="separator:a3f4a4f9872ed8f80a591e6b020ecf5d7 inherit pub_static_methods_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0272b6a8de586ee5ee2464bbdb030392 inherit pub_static_methods_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classost_1_1_thread.html#ab9538e839c06104af2974b77d2a5674d">Throw</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#a0272b6a8de586ee5ee2464bbdb030392">getException</a> (void)</td></tr>
<tr class="memdesc:a0272b6a8de586ee5ee2464bbdb030392 inherit pub_static_methods_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get exception mode of the current thread.  <a href="#a0272b6a8de586ee5ee2464bbdb030392">More...</a><br/></td></tr>
<tr class="separator:a0272b6a8de586ee5ee2464bbdb030392 inherit pub_static_methods_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae9f30b27ca1322ccc3325ba9ca5157fa inherit pub_static_methods_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#ae9f30b27ca1322ccc3325ba9ca5157fa">setException</a> (<a class="el" href="classost_1_1_thread.html#ab9538e839c06104af2974b77d2a5674d">Throw</a> mode)</td></tr>
<tr class="memdesc:ae9f30b27ca1322ccc3325ba9ca5157fa inherit pub_static_methods_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set exception mode of the current thread.  <a href="#ae9f30b27ca1322ccc3325ba9ca5157fa">More...</a><br/></td></tr>
<tr class="separator:ae9f30b27ca1322ccc3325ba9ca5157fa inherit pub_static_methods_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a599880181a0aeaef8a0ddedeeceddb9a inherit pub_static_methods_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classost_1_1_thread.html#a24f333b09607b7c48a97e05865ada69b">Cancel</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#a599880181a0aeaef8a0ddedeeceddb9a">enterCancel</a> (void)</td></tr>
<tr class="memdesc:a599880181a0aeaef8a0ddedeeceddb9a inherit pub_static_methods_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">This is used to help build wrapper functions in libraries around system calls that should behave as cancellation points but don't.  <a href="#a599880181a0aeaef8a0ddedeeceddb9a">More...</a><br/></td></tr>
<tr class="separator:a599880181a0aeaef8a0ddedeeceddb9a inherit pub_static_methods_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abcad222419e4106ac21ce12605eb4fe7 inherit pub_static_methods_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#abcad222419e4106ac21ce12605eb4fe7">exitCancel</a> (<a class="el" href="classost_1_1_thread.html#a24f333b09607b7c48a97e05865ada69b">Cancel</a> cancel)</td></tr>
<tr class="memdesc:abcad222419e4106ac21ce12605eb4fe7 inherit pub_static_methods_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">This is used to restore a cancel block.  <a href="#abcad222419e4106ac21ce12605eb4fe7">More...</a><br/></td></tr>
<tr class="separator:abcad222419e4106ac21ce12605eb4fe7 inherit pub_static_methods_classost_1_1_thread"><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_attribs_classost_1_1_t_c_p_stream"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classost_1_1_t_c_p_stream')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="classost_1_1_t_c_p_stream.html">ost::TCPStream</a></td></tr>
<tr class="memitem:ae223ae380e2dc9d2e64cde0a577eccf2 inherit pro_attribs_classost_1_1_t_c_p_stream"><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 inherit pro_attribs_classost_1_1_t_c_p_stream"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1eb7fe5844a5c0a5708d658187e9839b inherit pro_attribs_classost_1_1_t_c_p_stream"><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 inherit pro_attribs_classost_1_1_t_c_p_stream"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aecc5f6b34232ba0fef048f53fdaa51fc inherit pro_attribs_classost_1_1_t_c_p_stream"><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 inherit pro_attribs_classost_1_1_t_c_p_stream"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6e0d7b50899682ff1997239b85427469 inherit pro_attribs_classost_1_1_t_c_p_stream"><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 inherit pro_attribs_classost_1_1_t_c_p_stream"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afe373d1dd6090f4627e2361ff3a4fcdd inherit pro_attribs_classost_1_1_t_c_p_stream"><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 inherit pro_attribs_classost_1_1_t_c_p_stream"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_attribs_classost_1_1_socket"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classost_1_1_socket')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="classost_1_1_socket.html">ost::Socket</a></td></tr>
<tr class="memitem:a335f1e849c2adb77955b896ebef1bba2 inherit pro_attribs_classost_1_1_socket"><td class="memItemLeft" >struct {</td></tr>
<tr class="memitem:aca9d9f0ded8a8e589f5b8c0151dba775 inherit pro_attribs_classost_1_1_socket"><td class="memItemLeft" >&#160;&#160;&#160;bool&#160;&#160;&#160;<a class="el" href="classost_1_1_socket.html#a9ade0c61ad6d9b0d27c71497b6e68bd5">thrown</a>: 1</td></tr>
<tr class="separator:aca9d9f0ded8a8e589f5b8c0151dba775 inherit pro_attribs_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af41646045f418811e95c0dc27faf024b inherit pro_attribs_classost_1_1_socket"><td class="memItemLeft" >&#160;&#160;&#160;bool&#160;&#160;&#160;<a class="el" href="classost_1_1_socket.html#a2b6b25a155d401b661d62eef57754bfa">broadcast</a>: 1</td></tr>
<tr class="separator:af41646045f418811e95c0dc27faf024b inherit pro_attribs_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3027d1a6cfa5b4af9d642fdc0d946820 inherit pro_attribs_classost_1_1_socket"><td class="memItemLeft" >&#160;&#160;&#160;bool&#160;&#160;&#160;<a class="el" href="classost_1_1_socket.html#a118af6ea8eba44a8dbe687f2d31a9022">route</a>: 1</td></tr>
<tr class="separator:a3027d1a6cfa5b4af9d642fdc0d946820 inherit pro_attribs_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aacffd5f01fcb45e87046a248f47360cd inherit pro_attribs_classost_1_1_socket"><td class="memItemLeft" >&#160;&#160;&#160;bool&#160;&#160;&#160;<a class="el" href="classost_1_1_socket.html#a507d2a060e03c63bbdf0599ffa9d555a">keepalive</a>: 1</td></tr>
<tr class="separator:aacffd5f01fcb45e87046a248f47360cd inherit pro_attribs_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa6f6c88adfd492d807117a74c152bea5 inherit pro_attribs_classost_1_1_socket"><td class="memItemLeft" >&#160;&#160;&#160;bool&#160;&#160;&#160;<a class="el" href="classost_1_1_socket.html#a19604a7ca524f3ee4c7623c7c237ff69">loopback</a>: 1</td></tr>
<tr class="separator:aa6f6c88adfd492d807117a74c152bea5 inherit pro_attribs_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac9a4a091fb0a5bfe48963bd7eeb204f8 inherit pro_attribs_classost_1_1_socket"><td class="memItemLeft" >&#160;&#160;&#160;bool&#160;&#160;&#160;<a class="el" href="classost_1_1_socket.html#a85db9df29af07929253387d76c59ab2b">multicast</a>: 1</td></tr>
<tr class="separator:ac9a4a091fb0a5bfe48963bd7eeb204f8 inherit pro_attribs_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aea80ab46fca3ef933a51fd492de9332e inherit pro_attribs_classost_1_1_socket"><td class="memItemLeft" >&#160;&#160;&#160;bool&#160;&#160;&#160;<a class="el" href="classost_1_1_socket.html#af1ef1afa83f77869dc56910ff289d0c5">completion</a>: 1</td></tr>
<tr class="separator:aea80ab46fca3ef933a51fd492de9332e inherit pro_attribs_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a45b42c17a3be87157e07096f0ec58108 inherit pro_attribs_classost_1_1_socket"><td class="memItemLeft" >&#160;&#160;&#160;bool&#160;&#160;&#160;<a class="el" href="classost_1_1_socket.html#a617e01f010e15ec81be466052a5a378e">linger</a>: 1</td></tr>
<tr class="separator:a45b42c17a3be87157e07096f0ec58108 inherit pro_attribs_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adf0d7bd03c674f0b818a7c61202b7fc3 inherit pro_attribs_classost_1_1_socket"><td class="memItemLeft" >&#160;&#160;&#160;unsigned&#160;&#160;&#160;<a class="el" href="classost_1_1_socket.html#a6adc7a5d594ab3b8bace496f7a6757e9">ttl</a>: 8</td></tr>
<tr class="separator:adf0d7bd03c674f0b818a7c61202b7fc3 inherit pro_attribs_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a335f1e849c2adb77955b896ebef1bba2 inherit pro_attribs_classost_1_1_socket"><td class="memItemLeft" valign="top">}&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_socket.html#a335f1e849c2adb77955b896ebef1bba2">flags</a></td></tr>
<tr class="separator:a335f1e849c2adb77955b896ebef1bba2 inherit pro_attribs_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af1291caf47c2e2e72a3214e4da206b07 inherit pro_attribs_classost_1_1_socket"><td class="memItemLeft" align="right" valign="top"><a class="el" href="socket_8h.html#a8dc8083897335125630f1af5dafd5831">SOCKET</a> volatile&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_socket.html#af1291caf47c2e2e72a3214e4da206b07">so</a></td></tr>
<tr class="memdesc:af1291caf47c2e2e72a3214e4da206b07 inherit pro_attribs_classost_1_1_socket"><td class="mdescLeft">&#160;</td><td class="mdescRight">the actual socket descriptor, in Windows, unlike posix it <em>cannot</em> be used as an file descriptor that way madness lies &ndash; jfc  <a href="#af1291caf47c2e2e72a3214e4da206b07">More...</a><br/></td></tr>
<tr class="separator:af1291caf47c2e2e72a3214e4da206b07 inherit pro_attribs_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a72526c7c326a7faa20e96e9be01981ba inherit pro_attribs_classost_1_1_socket"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classost_1_1_socket.html#ad17e0a386f4c50a57db3bebe55571066">State</a> volatile&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_socket.html#a72526c7c326a7faa20e96e9be01981ba">state</a></td></tr>
<tr class="separator:a72526c7c326a7faa20e96e9be01981ba inherit pro_attribs_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_static_attribs_classost_1_1_socket"><td colspan="2" onclick="javascript:toggleInherit('pro_static_attribs_classost_1_1_socket')"><img src="closed.png" alt="-"/>&#160;Static Protected Attributes inherited from <a class="el" href="classost_1_1_socket.html">ost::Socket</a></td></tr>
<tr class="memitem:a795099d3d68f4c3bf7731f263cbd1ace inherit pro_static_attribs_classost_1_1_socket"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classost_1_1_mutex.html">Mutex</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_socket.html#a795099d3d68f4c3bf7731f263cbd1ace">mutex</a></td></tr>
<tr class="separator:a795099d3d68f4c3bf7731f263cbd1ace inherit pro_static_attribs_classost_1_1_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>The TCP session is used to primarily to represent a client connection that can be managed on a seperate thread. </p>
<p>The TCP session also supports a non-blocking connection scheme which prevents blocking during the constructor and moving the process of completing a connection into the thread that executes for the session.</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> Threaded streamable socket with non-blocking constructor. </dd></dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="tcpthread_8cpp-example.html#_a3">tcpthread.cpp</a>.</dd>
</dl></div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a70bc06626fdd05d061772794255f64e7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">ost::TCPSession::TCPSession </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">size_t&#160;</td>
          <td class="paramname"><em>size</em> = <code>536</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>pri</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>stack</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 socket that will be connected to a remote TCP server and that will execute under it's own thread. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">host</td><td>internet address of remote TCP server. </td></tr>
    <tr><td class="paramname">port</td><td>number of remote server. </td></tr>
    <tr><td class="paramname">size</td><td>of streaming buffer. </td></tr>
    <tr><td class="paramname">pri</td><td>execution priority relative to parent. </td></tr>
    <tr><td class="paramname">stack</td><td>allocation needed on some platforms. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a4d3b25b7a96a1ea0115182740096b824"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">ost::TCPSession::TCPSession </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">size_t&#160;</td>
          <td class="paramname"><em>size</em> = <code>536</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>pri</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>stack</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="a25cbaa17d60d4dc693bf48bd36933231"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">ost::TCPSession::TCPSession </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">int&#160;</td>
          <td class="paramname"><em>pri</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>stack</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 socket from a bound TCP server by accepting a pending connection from that server and execute a thread for the accepted connection. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">server</td><td>tcp socket to accept a connection from. </td></tr>
    <tr><td class="paramname">pri</td><td>execution priority relative to parent. </td></tr>
    <tr><td class="paramname">stack</td><td>allocation needed on some platforms. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="af6d0c9073780fd0549b79c1131fec04f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">ost::TCPSession::TCPSession </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">int&#160;</td>
          <td class="paramname"><em>pri</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>stack</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="a4d5b8693e78bab5c68c2e8ea1c2c024c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual ost::TCPSession::~TCPSession </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>Make sure destruction happens through a virtual... </p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="ad0a0568018d48cc3079222156a6af093"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ost::TCPSession::initial </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>The initial method is used to esablish a connection when delayed completion is used. </p>
<p>This assures the constructor terminates without having to wait for a connection request to complete. </p>

<p>Reimplemented from <a class="el" href="classost_1_1_thread.html#a300c229e76725eeddc69867f7ecea91f">ost::Thread</a>.</p>

</div>
</div>
<a class="anchor" id="afed206d2ae166a3f40dbea3eab924a34"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int ost::TCPSession::waitConnection </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></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>Normally called during the thread Initial() method by default, this will wait for the socket connection to complete when connecting to a remote socket. </p>
<p>One might wish to use <a class="el" href="classost_1_1_socket.html#a16eb72794ce956b2af6b935eb59b2e24" title="Used to specify blocking mode for the socket. ">setCompletion()</a> to change the socket back to blocking I/O calls after the connection completes. To implement the session one must create a derived class which implements <a class="el" href="classost_1_1_thread.html#add7d339d94b8a1ed2b2b0324a95b7e74" title="All threads execute by deriving the Run method of Thread. ">run()</a>.</p>
<dl class="section return"><dt>Returns</dt><dd>0 if successful, -1 if timed out. </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">timeout</td><td>to wait for completion in milliseconds. </td></tr>
  </table>
  </dd>
</dl>

</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>