aboutsummaryrefslogtreecommitdiff
path: root/docs/doxygen/nel/a02303.html
diff options
context:
space:
mode:
Diffstat (limited to 'docs/doxygen/nel/a02303.html')
-rw-r--r--docs/doxygen/nel/a02303.html1624
1 files changed, 1624 insertions, 0 deletions
diff --git a/docs/doxygen/nel/a02303.html b/docs/doxygen/nel/a02303.html
new file mode 100644
index 00000000..3f669c3e
--- /dev/null
+++ b/docs/doxygen/nel/a02303.html
@@ -0,0 +1,1624 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>NeL: NLNET::CBufSock class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.3.6 -->
+<div class="qindex"> <form class="search" action="search.php" method="get">
+<a class="qindex" href="main.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Data&nbsp;Structures</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="namespacemembers.html">Namespace&nbsp;Members</a> | <a class="qindex" href="functions.html">Data&nbsp;Fields</a> | <a class="qindex" href="globals.html">Globals</a> | <a class="qindex" href="pages.html">Related&nbsp;Pages</a> | <span class="search"><u>S</u>earch&nbsp;for&nbsp;<input class="search" type="text" name="query" value="" size="20" accesskey="s"/></span></form></div>
+<h1>NLNET::CBufSock Class Reference</h1><code>#include &lt;<a class="el" href="a05515.html">buf_sock.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for NLNET::CBufSock:
+<p><center><img src="a02303.png" usemap="#NLNET::CBufSock_map" border="0" alt=""></center>
+<map name="NLNET::CBufSock_map">
+<area href="a02991.html" alt="NLNET::CNonBlockingBufSock" shape="rect" coords="0,56,185,80">
+<area href="a03365.html" alt="NLNET::CServerBufSock" shape="rect" coords="0,112,185,136">
+</map>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<a class="el" href="a02303.html">CBufSock</a> A socket and its sending buffer
+<p>
+
+<p>
+Definition at line <a class="el" href="a05515.html#l00052">52</a> of file <a class="el" href="a05515.html">buf_sock.h</a>.<table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a13">uint64</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02303.html#NLNET_1_1CServerBufSocka0">appId</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the application identifier. <a href="#NLNET_1_1CServerBufSocka0"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>std::string&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02303.html#NLNET_1_1CServerBufSocka1">asString</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a string with the characteristics of the object. <a href="#NLNET_1_1CServerBufSocka1"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02303.html#NLNET_1_1CServerBufSocka2">setAppId</a> (<a class="el" href="a04558.html#a13">uint64</a> <a class="el" href="a04223.html#a564">id</a>)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the application identifier. <a href="#NLNET_1_1CServerBufSocka2"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02303.html#NLNET_1_1CBufSocka3">~CBufSock</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destructor. <a href="#NLNET_1_1CBufSocka3"></a><br><br></td></tr>
+<tr><td colspan=2><br><h2>Data Fields</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>std::string&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02303.html#NLNET_1_1CServerBufSocko0">AuthorizedCallback</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02303.html#NLNET_1_1CServerBufSocko1">ReceiveNextValue</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02303.html#NLNET_1_1CServerBufSocko2">SendNextValue</a></td></tr>
+
+<tr><td colspan=2><br><h2>Protected Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02303.html#NLNET_1_1CServerBufSockb1">advertiseDisconnection</a> (<a class="el" href="a02296.html">CBufNetBase</a> *bnb, <a class="el" href="a02303.html">TSockId</a> sockid)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02303.html#NLNET_1_1CServerBufSockb2">advertiseSystemEvent</a> (<a class="el" href="a02296.html">CBufNetBase</a> *bnb, <a class="el" href="a02303.html">TSockId</a> sockid, bool &amp;flag, bool <a class="el" href="a04223.html#a584">condition</a>, <a class="el" href="a02296.html#NLNET_1_1CCallbackServerw7">CBufNetBase::TEventType</a> event)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02303.html#NLNET_1_1CBufSockb2">CBufSock</a> (<a class="el" href="a02445.html">CTcpSock</a> *sock=NULL)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor. <a href="#NLNET_1_1CBufSockb2"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02303.html#NLNET_1_1CServerBufSockb3">connect</a> (const <a class="el" href="a02665.html">CInetAddress</a> &amp;<a class="el" href="a04223.html#a657">addr</a>, bool nodelay, bool connectedstate)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Connects to the specified addr; set connectedstate to true if no connection advertising is needed. <a href="#NLNET_1_1CServerBufSockb3"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02303.html#NLNET_1_1CServerBufSockb4">connectedState</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the "logically connected" state (changed when processing a connection/disconnection callback). <a href="#NLNET_1_1CServerBufSockb4"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02303.html#NLNET_1_1CServerBufSockb6">disconnect</a> (bool connectedstate)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Disconnects; set connectedstate to false if no disconnection advertising is needed. <a href="#NLNET_1_1CServerBufSockb6"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02303.html#NLNET_1_1CServerBufSockb11">pushBuffer</a> (const <a class="el" href="a02271.html">NLMISC::CMemStream</a> &amp;<a class="el" href="a04223.html#a589">buffer</a>)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02303.html#NLNET_1_1CServerBufSockb14">setConnectedState</a> (bool connectedstate)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the "logically connected" state (changed when processing a connection/disconnection callback). <a href="#NLNET_1_1CServerBufSockb14"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual std::string&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02303.html#NLNET_1_1CNonBlockingBufSockb14">typeStr</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns "CLT " (client). <a href="#NLNET_1_1CNonBlockingBufSockb14"></a><br><br></td></tr>
+<tr><td colspan=2><br><h2>Protected Attributes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02303.html#NLNET_1_1CServerBufSockp0">_KnowConnected</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02301.html">NLMISC::CBufFIFO</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02303.html#NLNET_1_1CServerBufSockp3">SendFifo</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02445.html">CTcpSock</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02303.html#NLNET_1_1CServerBufSockp4">Sock</a></td></tr>
+
+<tr><td colspan=2><br><h2>Private Attributes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a13">uint64</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02303.html#NLNET_1_1CBufSockr0">_AppId</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02303.html#NLNET_1_1CBufSockr1">_ConnectedState</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a05378.html#a242">NLMISC::TTime</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02303.html#NLNET_1_1CBufSockr2">_LastFlushTime</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03000.html">NLMISC::CObjectVector</a>&lt; <a class="el" href="a04558.html#a7">uint8</a> &gt;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02303.html#NLNET_1_1CBufSockr3">_ReadyToSendBuffer</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a05379.html#a80">TBlockSize</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02303.html#NLNET_1_1CBufSockr4">_RTSBIndex</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a10">sint32</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02303.html#NLNET_1_1CBufSockr5">_TriggerSize</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a05378.html#a242">NLMISC::TTime</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02303.html#NLNET_1_1CBufSockr6">_TriggerTime</a></td></tr>
+
+<tr><td colspan=2><br><h2>Friends</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>class&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02303.html#NLNET_1_1CBufSockn0">CBufClient</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02303.html#NLNET_1_1CNonBlockingBufSockn1">CBufServer</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02303.html#NLNET_1_1CServerBufSockn2">CCallbackClient</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02303.html#NLNET_1_1CServerBufSockn3">CCallbackNetBase</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02303.html#NLNET_1_1CServerBufSockn4">CCallbackServer</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02303.html#NLNET_1_1CBufSockn5">CClientReceiveTask</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02303.html#NLNET_1_1CNonBlockingBufSockn6">CServerReceiveTask</a></td></tr>
+
+</table>
+<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="NLNET_1_1CBufSocka3" doxytag="NLNET::CBufSock::~CBufSock" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> NLNET::CBufSock::~<a class="el" href="a02303.html">CBufSock</a> </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Destructor.
+<p>
+
+<p>
+Definition at line <a class="el" href="a05514.html#l00081">81</a> of file <a class="el" href="a05514.html">buf_sock.cpp</a>.
+<p>
+References <a class="el" href="a05515.html#l00262">_AppId</a>, <a class="el" href="a05515.html#l00265">_ConnectedState</a>, <a class="el" href="a05515.html#l00246">_KnowConnected</a>, <a class="el" href="a05515.html#l00255">_LastFlushTime</a>, <a class="el" href="a05515.html#l00259">_ReadyToSendBuffer</a>, <a class="el" href="a05515.html#l00260">_RTSBIndex</a>, <a class="el" href="a05515.html#l00257">_TriggerSize</a>, <a class="el" href="a05515.html#l00256">_TriggerTime</a>, <a class="el" href="a05515.html#l00070">AuthorizedCallback</a>, <a class="el" href="a06116.html#l00124">NLMISC::CObjectVector&lt; uint8 &gt;::clear()</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a05515.html#l00040">nlnettrace</a>, and <a class="el" href="a05515.html#l00243">Sock</a>.
+<p>
+<div class="fragment"><pre>00082 {
+00083 <a class="code" href="a04199.html#a6">nlassert</a> (<span class="keyword">this</span> != InvalidSockId); <span class="comment">// invalid bufsock</span>
+00084
+00085 <a class="code" href="a04092.html#a0">nlnettrace</a>( <span class="stringliteral">"CBufSock::~CBufSock"</span> );
+00086
+00087 <span class="keyword">delete</span> <a class="code" href="a02303.html#NLNET_1_1CServerBufSockp4">Sock</a>; <span class="comment">// the socket disconnects automatically if needed</span>
+00088
+00089 <span class="comment">// destroy the structur to be sure that other people will not access to this anymore</span>
+00090 <a class="code" href="a02303.html#NLNET_1_1CServerBufSocko0">AuthorizedCallback</a> = <span class="stringliteral">""</span>;
+00091 <a class="code" href="a02303.html#NLNET_1_1CServerBufSockp4">Sock</a> = NULL;
+00092 <a class="code" href="a02303.html#NLNET_1_1CServerBufSockp0">_KnowConnected</a> = <span class="keyword">false</span>;
+00093 <a class="code" href="a02303.html#NLNET_1_1CBufSockr2">_LastFlushTime</a> = 0;
+00094 <a class="code" href="a02303.html#NLNET_1_1CBufSockr6">_TriggerTime</a> = 0;
+00095 <a class="code" href="a02303.html#NLNET_1_1CBufSockr5">_TriggerSize</a> = 0;
+00096 <a class="code" href="a02303.html#NLNET_1_1CBufSockr3">_ReadyToSendBuffer</a>.<a class="code" href="a03000.html#NLMISC_1_1CObjectVectorz1982_0">clear</a> ();
+00097 <a class="code" href="a02303.html#NLNET_1_1CBufSockr4">_RTSBIndex</a> = 0;
+00098 <a class="code" href="a02303.html#NLNET_1_1CBufSockr0">_AppId</a> = 0;
+00099 <a class="code" href="a02303.html#NLNET_1_1CBufSockr1">_ConnectedState</a> = <span class="keyword">false</span>;
+00100 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLNET_1_1CBufSockb2" doxytag="NLNET::CBufSock::CBufSock" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> NLNET::CBufSock::CBufSock </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a02445.html">CTcpSock</a> *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>sock</em> = NULL </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Constructor.
+<p>
+
+<p>
+Definition at line <a class="el" href="a05514.html#l00052">52</a> of file <a class="el" href="a05514.html">buf_sock.cpp</a>.
+<p>
+References <a class="el" href="a05515.html#l00255">_LastFlushTime</a>, <a class="el" href="a05515.html#l00040">nlnettrace</a>, and <a class="el" href="a05515.html#l00243">Sock</a>.
+<p>
+<div class="fragment"><pre>00052 :
+00053 <a class="code" href="a02303.html#NLNET_1_1CServerBufSocko2">SendNextValue</a>(0),
+00054 <a class="code" href="a02303.html#NLNET_1_1CServerBufSocko1">ReceiveNextValue</a>(0),
+00055 <a class="code" href="a02303.html#NLNET_1_1CServerBufSockp4">Sock</a>( sock ),
+00056 <a class="code" href="a02303.html#NLNET_1_1CServerBufSockp0">_KnowConnected</a>( <span class="keyword">false</span> ),
+00057 <a class="code" href="a02303.html#NLNET_1_1CBufSockr2">_LastFlushTime</a>( 0 ),
+00058 <a class="code" href="a02303.html#NLNET_1_1CBufSockr6">_TriggerTime</a>( 20 ),
+00059 <a class="code" href="a02303.html#NLNET_1_1CBufSockr5">_TriggerSize</a>( -1 ),
+00060 <a class="code" href="a02303.html#NLNET_1_1CBufSockr4">_RTSBIndex</a>( 0 ),
+00061 <a class="code" href="a02303.html#NLNET_1_1CBufSockr0">_AppId</a>( 0 ),
+00062 <a class="code" href="a02303.html#NLNET_1_1CBufSockr1">_ConnectedState</a>( <span class="keyword">false</span> )
+00063 {
+00064 <a class="code" href="a04092.html#a0">nlnettrace</a>( <span class="stringliteral">"CBufSock::CBufSock"</span> ); <span class="comment">// don't define a global object</span>
+00065
+00066 <span class="keywordflow">if</span> ( <a class="code" href="a02303.html#NLNET_1_1CServerBufSockp4">Sock</a> == NULL )
+00067 {
+00068 <a class="code" href="a02303.html#NLNET_1_1CServerBufSockp4">Sock</a> = <span class="keyword">new</span> CTcpSock();
+00069 }
+00070
+00071 <span class="preprocessor">#ifdef NL_DEBUG</span>
+00072 <span class="preprocessor"></span> _FlushTrigger = FTManual;
+00073 <span class="preprocessor">#endif</span>
+00074 <span class="preprocessor"></span> <a class="code" href="a02303.html#NLNET_1_1CBufSockr2">_LastFlushTime</a> = CTime::getLocalTime();
+00075 }
+
+</pre></div> </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="NLNET_1_1CServerBufSockb1" doxytag="NLNET::CBufSock::advertiseDisconnection" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool NLNET::CBufSock::advertiseDisconnection </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a02296.html">CBufNetBase</a> *&nbsp;</td>
+ <td class="mdname" nowrap> <em>bnb</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a02303.html">TSockId</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>sockid</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline, protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Pushes a disconnection message into bnb's receive queue, if it has not already been done (returns true in this case). You can either specify a sockid (for server) or InvalidSockId (for client)
+<p>
+Definition at line <a class="el" href="a05515.html#l00120">120</a> of file <a class="el" href="a05515.html">buf_sock.h</a>.
+<p>
+References <a class="el" href="a05515.html#l00246">_KnowConnected</a>, <a class="el" href="a05515.html#l00135">advertiseSystemEvent()</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, and <a class="el" href="a05511.html#l00042">NLNET::TSockId</a>.
+<p>
+Referenced by <a class="el" href="a05506.html#l00121">NLNET::CBufClient::send()</a>, and <a class="el" href="a05506.html#l00296">NLNET::CBufClient::update()</a>.
+<p>
+<div class="fragment"><pre>00121 {
+00122 <span class="preprocessor">#ifdef NL_DEBUG</span>
+00123 <span class="preprocessor"></span> <span class="keywordflow">if</span> ( sockid != InvalidSockId )
+00124 {
+00125 <a class="code" href="a04199.html#a6">nlassert</a>( sockid == <span class="keyword">this</span> );
+00126 }
+00127 <span class="preprocessor">#endif</span>
+00128 <span class="preprocessor"></span> <span class="keywordflow">return</span> <a class="code" href="a02303.html#NLNET_1_1CServerBufSockb2">advertiseSystemEvent</a>( bnb, sockid, _KnowConnected, <span class="keyword">true</span>, CBufNetBase::Disconnection );
+00129 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLNET_1_1CServerBufSockb2" doxytag="NLNET::CBufSock::advertiseSystemEvent" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool NLNET::CBufSock::advertiseSystemEvent </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a02296.html">CBufNetBase</a> *&nbsp;</td>
+ <td class="mdname" nowrap> <em>bnb</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a02303.html">TSockId</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>sockid</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>bool &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>flag</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>bool&nbsp;</td>
+ <td class="mdname" nowrap> <em>condition</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a02296.html#NLNET_1_1CCallbackServerw7">CBufNetBase::TEventType</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>event</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline, protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Pushes a system message into bnb's receive queue, if the flags meets the condition, then resets the flag and returns true. You can either specify a sockid (for server) or InvalidSockId (for client).
+<p>
+Definition at line <a class="el" href="a05515.html#l00135">135</a> of file <a class="el" href="a05515.html">buf_sock.h</a>.
+<p>
+References <a class="el" href="a05514.html#l00329">asString()</a>, <a class="el" href="a05646.html#l00649">buffer</a>, <a class="el" href="a05646.html#l00405">condition</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a05622.html#l00101">nldebug</a>, <a class="el" href="a05511.html#l00164">NLNET::CBufNetBase::pushMessageIntoReceiveQueue()</a>, and <a class="el" href="a05511.html#l00042">NLNET::TSockId</a>.
+<p>
+Referenced by <a class="el" href="a05515.html#l00359">NLNET::CServerBufSock::advertiseConnection()</a>, and <a class="el" href="a05515.html#l00120">advertiseDisconnection()</a>.
+<p>
+<div class="fragment"><pre>00137 {
+00138 <span class="preprocessor">#ifdef NL_DEBUG</span>
+00139 <span class="preprocessor"></span> <span class="keywordflow">if</span> ( sockid != InvalidSockId )
+00140 {
+00141 <a class="code" href="a04199.html#a6">nlassert</a>( sockid == <span class="keyword">this</span> );
+00142 }
+00143 <span class="preprocessor">#endif</span>
+00144 <span class="preprocessor"></span> <span class="comment">// Test flag</span>
+00145 <span class="keywordflow">if</span> ( flag==<a class="code" href="a04223.html#a584">condition</a> )
+00146 {
+00147 <a class="code" href="a04199.html#a0">nldebug</a>( <span class="stringliteral">"LNETL1: Pushing event to %s"</span>, <a class="code" href="a02303.html#NLNET_1_1CServerBufSocka1">asString</a>().c_str() );
+00148 std::vector&lt;uint8&gt; <a class="code" href="a04223.html#a589">buffer</a>;
+00149 <span class="keywordflow">if</span> ( sockid == InvalidSockId )
+00150 {
+00151 <span class="comment">// Client: event type only</span>
+00152 <a class="code" href="a04223.html#a589">buffer</a>.resize( 1 );
+00153 <a class="code" href="a04223.html#a589">buffer</a>[0] = event;
+00154 }
+00155 <span class="keywordflow">else</span>
+00156 {
+00157 <span class="comment">// Server: sockid + event type</span>
+00158 <a class="code" href="a04223.html#a589">buffer</a>.resize( <span class="keyword">sizeof</span>(TSockId) + 1 );
+00159 memcpy( &amp;*<a class="code" href="a04223.html#a589">buffer</a>.begin(), &amp;sockid, <span class="keyword">sizeof</span>(<a class="code" href="a05379.html#a74">TSockId</a>) );
+00160 <a class="code" href="a04223.html#a589">buffer</a>[<span class="keyword">sizeof</span>(<a class="code" href="a05379.html#a74">TSockId</a>)] = event;
+00161 }
+00162 <span class="comment">// Push</span>
+00163 bnb-&gt;pushMessageIntoReceiveQueue( buffer );
+00164
+00165 <span class="comment">// Reset flag</span>
+00166 flag = !<a class="code" href="a04223.html#a584">condition</a>;
+00167 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+00168 }
+00169 <span class="keywordflow">else</span>
+00170 {
+00171 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00172 }
+00173 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLNET_1_1CServerBufSocka0" doxytag="NLNET::CBufSock::appId" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a13">uint64</a> NLNET::CBufSock::appId </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns the application identifier.
+<p>
+
+<p>
+Definition at line <a class="el" href="a05515.html#l00063">63</a> of file <a class="el" href="a05515.html">buf_sock.h</a>.
+<p>
+References <a class="el" href="a05515.html#l00262">_AppId</a>, and <a class="el" href="a05981.html#l00102">uint64</a>.
+<p>
+Referenced by <a class="el" href="a06646.html#l00275">NLNET::CUnifiedNetwork::CUnifiedConnection::TConnection::getAppId()</a>.
+<p>
+<div class="fragment"><pre>00063 { <span class="keywordflow">return</span> <a class="code" href="a02303.html#NLNET_1_1CBufSockr0">_AppId</a>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLNET_1_1CServerBufSocka1" doxytag="NLNET::CBufSock::asString" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> string NLNET::CBufSock::asString </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const</td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns a string with the characteristics of the object.
+<p>
+
+<p>
+Definition at line <a class="el" href="a05514.html#l00329">329</a> of file <a class="el" href="a05514.html">buf_sock.cpp</a>.
+<p>
+References <a class="el" href="a06405.html#l00241">NLNET::CSock::descriptor()</a>, <a class="el" href="a05515.html#l00243">Sock</a>, <a class="el" href="a06229.html#l02652">NLMISC::toString()</a>, <a class="el" href="a06465.html#l00169">NLMISC::toStringPtr()</a>, and <a class="el" href="a05515.html#l00115">typeStr()</a>.
+<p>
+Referenced by <a class="el" href="a05515.html#l00135">advertiseSystemEvent()</a>, <a class="el" href="a05526.html#l00471">NLNET::CCallbackNetBase::authorizeOnly()</a>, <a class="el" href="a05512.html#l00364">NLNET::CBufServer::dataAvailable()</a>, <a class="el" href="a05514.html#l00137">flush()</a>, <a class="el" href="a05526.html#l00223">NLNET::CCallbackNetBase::processOneMessage()</a>, <a class="el" href="a05514.html#l00386">NLNET::CNonBlockingBufSock::receivePart()</a>, <a class="el" href="a05512.html#l00987">NLNET::CServerReceiveTask::run()</a>, <a class="el" href="a05512.html#l00779">NLNET::CListenTask::run()</a>, <a class="el" href="a06098.html#l00455">NLNET::CNetManager::send()</a>, and <a class="el" href="a05528.html#l00091">NLNET::CCallbackServer::sendAllMyAssociations()</a>.
+<p>
+<div class="fragment"><pre>00330 {
+00331 <span class="comment">// stringstream ss;</span>
+00332 string str;
+00333 <span class="keywordflow">if</span> (<span class="keyword">this</span> == InvalidSockId) <span class="comment">// tricky</span>
+00334 str = <span class="stringliteral">"&lt;null&gt;"</span>;
+00335 <span class="keywordflow">else</span>
+00336 {
+00337 <span class="comment">// if it crashs here, it means that the CBufSock was deleted and you try to access to the virtual table that is empty</span>
+00338 <span class="comment">// because the object is destroyed.</span>
+00339 str += <a class="code" href="a02303.html#NLNET_1_1CNonBlockingBufSockb14">typeStr</a>();
+00340 str += <a class="code" href="a05378.html#a408">NLMISC::toStringPtr</a>(<span class="keyword">this</span>) + <span class="stringliteral">" (socket "</span>;
+00341
+00342 <span class="keywordflow">if</span> (<a class="code" href="a02303.html#NLNET_1_1CServerBufSockp4">Sock</a> == NULL)
+00343 str += <span class="stringliteral">"&lt;null&gt;"</span>;
+00344 <span class="keywordflow">else</span>
+00345 str += <a class="code" href="a05378.html#a244">NLMISC::toString</a>(<a class="code" href="a02303.html#NLNET_1_1CServerBufSockp4">Sock</a>-&gt;descriptor());
+00346
+00347 str += <span class="stringliteral">")"</span>;
+00348 }
+00349 <span class="keywordflow">return</span> str;
+00350 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLNET_1_1CServerBufSockb3" doxytag="NLNET::CBufSock::connect" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NLNET::CBufSock::connect </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="a02665.html">CInetAddress</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>addr</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>bool&nbsp;</td>
+ <td class="mdname" nowrap> <em>nodelay</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>bool&nbsp;</td>
+ <td class="mdname" nowrap> <em>connectedstate</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Connects to the specified addr; set connectedstate to true if no connection advertising is needed.
+<p>
+
+<p>
+Definition at line <a class="el" href="a05514.html#l00295">295</a> of file <a class="el" href="a05514.html">buf_sock.cpp</a>.
+<p>
+References <a class="el" href="a05515.html#l00265">_ConnectedState</a>, <a class="el" href="a05515.html#l00246">_KnowConnected</a>, <a class="el" href="a05646.html#l01127">addr</a>, <a class="el" href="a06487.html#l00080">NLNET::CTcpSock::connect()</a>, <a class="el" href="a02444.html#NLNET_1_1CUdpSockz2109_0">NLNET::CSock::connected()</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a05515.html#l00074">ReceiveNextValue</a>, <a class="el" href="a05515.html#l00074">SendNextValue</a>, <a class="el" href="a06487.html#l00146">NLNET::CTcpSock::setNoDelay()</a>, and <a class="el" href="a05515.html#l00243">Sock</a>.
+<p>
+Referenced by <a class="el" href="a05524.html#l00286">NLNET::CCallbackClient::connect()</a>, and <a class="el" href="a05506.html#l00085">NLNET::CBufClient::connect()</a>.
+<p>
+<div class="fragment"><pre>00296 {
+00297 <a class="code" href="a04199.html#a6">nlassert</a> (<span class="keyword">this</span> != InvalidSockId); <span class="comment">// invalid bufsock</span>
+00298 <a class="code" href="a04199.html#a6">nlassert</a>( ! <a class="code" href="a02303.html#NLNET_1_1CServerBufSockp4">Sock</a>-&gt;connected() );
+00299
+00300 <a class="code" href="a02303.html#NLNET_1_1CServerBufSocko2">SendNextValue</a> = <a class="code" href="a02303.html#NLNET_1_1CServerBufSocko1">ReceiveNextValue</a> = 0;
+00301
+00302 <a class="code" href="a02303.html#NLNET_1_1CServerBufSockp4">Sock</a>-&gt;connect( addr );
+00303 <a class="code" href="a02303.html#NLNET_1_1CBufSockr1">_ConnectedState</a> = connectedstate;
+00304 <a class="code" href="a02303.html#NLNET_1_1CServerBufSockp0">_KnowConnected</a> = connectedstate;
+00305 <span class="keywordflow">if</span> ( nodelay )
+00306 {
+00307 <a class="code" href="a02303.html#NLNET_1_1CServerBufSockp4">Sock</a>-&gt;setNoDelay( <span class="keyword">true</span> );
+00308 }
+00309 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLNET_1_1CServerBufSockb4" doxytag="NLNET::CBufSock::connectedState" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool NLNET::CBufSock::connectedState </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline, protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns the "logically connected" state (changed when processing a connection/disconnection callback).
+<p>
+
+<p>
+Definition at line <a class="el" href="a05515.html#l00237">237</a> of file <a class="el" href="a05515.html">buf_sock.h</a>.
+<p>
+References <a class="el" href="a05515.html#l00265">_ConnectedState</a>.
+<p>
+Referenced by <a class="el" href="a05507.html#l00166">NLNET::CBufClient::connected()</a>, <a class="el" href="a05524.html#l00354">NLNET::CCallbackClient::disconnect()</a>, <a class="el" href="a05506.html#l00318">NLNET::CBufClient::disconnect()</a>, and <a class="el" href="a05506.html#l00397">NLNET::CBufClient::~CBufClient()</a>.
+<p>
+<div class="fragment"><pre>00237 { <span class="keywordflow">return</span> <a class="code" href="a02303.html#NLNET_1_1CBufSockr1">_ConnectedState</a>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLNET_1_1CServerBufSockb6" doxytag="NLNET::CBufSock::disconnect" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NLNET::CBufSock::disconnect </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">bool&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>connectedstate</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Disconnects; set connectedstate to false if no disconnection advertising is needed.
+<p>
+
+<p>
+Definition at line <a class="el" href="a05514.html#l00315">315</a> of file <a class="el" href="a05514.html">buf_sock.cpp</a>.
+<p>
+References <a class="el" href="a05515.html#l00265">_ConnectedState</a>, <a class="el" href="a05515.html#l00246">_KnowConnected</a>, <a class="el" href="a06487.html#l00101">NLNET::CTcpSock::disconnect()</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a05515.html#l00074">ReceiveNextValue</a>, <a class="el" href="a05515.html#l00074">SendNextValue</a>, and <a class="el" href="a05515.html#l00243">Sock</a>.
+<p>
+Referenced by <a class="el" href="a05506.html#l00318">NLNET::CBufClient::disconnect()</a>.
+<p>
+<div class="fragment"><pre>00316 {
+00317 <a class="code" href="a04199.html#a6">nlassert</a> (<span class="keyword">this</span> != InvalidSockId); <span class="comment">// invalid bufsock</span>
+00318 <a class="code" href="a02303.html#NLNET_1_1CServerBufSockp4">Sock</a>-&gt;disconnect();
+00319 <a class="code" href="a02303.html#NLNET_1_1CBufSockr1">_ConnectedState</a> = connectedstate;
+00320 <a class="code" href="a02303.html#NLNET_1_1CServerBufSockp0">_KnowConnected</a> = connectedstate;
+00321
+00322 <a class="code" href="a02303.html#NLNET_1_1CServerBufSocko2">SendNextValue</a> = <a class="code" href="a02303.html#NLNET_1_1CServerBufSocko1">ReceiveNextValue</a> = 0;
+00323 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLNET_1_1CServerBufSockz2081_0" doxytag="NLNET::CBufSock::flush" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool NLNET::CBufSock::flush </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Forces to send all data pending in the send queue <dl compact><dt><b>Returns:</b></dt><dd>False if an error has occured (e.g. the remote host is disconnected). To retrieve the reason of the error, call <a class="el" href="a02444.html#NLNET_1_1CUdpSocke1">CSock::getLastError()</a> and/or <a class="el" href="a02444.html#NLNET_1_1CUdpSocke0">CSock::errorString()</a></dd></dl>
+
+<p>
+Definition at line <a class="el" href="a05514.html#l00137">137</a> of file <a class="el" href="a05514.html">buf_sock.cpp</a>.
+<p>
+References <a class="el" href="a05515.html#l00259">_ReadyToSendBuffer</a>, <a class="el" href="a05515.html#l00260">_RTSBIndex</a>, <a class="el" href="a05514.html#l00329">asString()</a>, <a class="el" href="a06116.html#l00124">NLMISC::CObjectVector&lt; uint8 &gt;::clear()</a>, <a class="el" href="a05509.html#l00100">NLMISC::CBufFIFO::empty()</a>, <a class="el" href="a05508.html#l00237">NLMISC::CBufFIFO::front()</a>, <a class="el" href="a06116.html#l00195">NLMISC::CObjectVector&lt; uint8 &gt;::getPtr()</a>, <a class="el" href="a05646.html#l00235">len</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a05622.html#l00333">nlassertex</a>, <a class="el" href="a05622.html#l00101">nldebug</a>, <a class="el" href="a05508.html#l00168">NLMISC::CBufFIFO::pop()</a>, <a class="el" href="a05646.html#l01119">res</a>, <a class="el" href="a06116.html#l00142">NLMISC::CObjectVector&lt; uint8 &gt;::resize()</a>, <a class="el" href="a02444.html#NLNET_1_1CUdpSockz2107_0">NLNET::CSock::send()</a>, <a class="el" href="a05515.html#l00240">SendFifo</a>, <a class="el" href="a06116.html#l00184">NLMISC::CObjectVector&lt; uint8 &gt;::size()</a>, <a class="el" href="a05646.html#l00645">size</a>, <a class="el" href="a05515.html#l00243">Sock</a>, <a class="el" href="a05511.html#l00059">NLNET::TBlockSize</a>, <a class="el" href="a05981.html#l00105">uint</a>, <a class="el" href="a05981.html#l00100">uint32</a>, and <a class="el" href="a05981.html#l00096">uint8</a>.
+<p>
+Referenced by <a class="el" href="a05512.html#l00251">NLNET::CBufServer::disconnect()</a>, <a class="el" href="a05506.html#l00318">NLNET::CBufClient::disconnect()</a>, <a class="el" href="a05513.html#l00232">NLNET::CBufServer::flush()</a>, <a class="el" href="a05507.html#l00158">NLNET::CBufClient::flush()</a>, and <a class="el" href="a05514.html#l00247">update()</a>.
+<p>
+<div class="fragment"><pre>00138 {
+00139 <a class="code" href="a04199.html#a6">nlassert</a> (<span class="keyword">this</span> != InvalidSockId); <span class="comment">// invalid bufsock</span>
+00140 <span class="comment">//nlnettrace( "CBufSock::flush" );</span>
+00141
+00142 <span class="comment">// Copy data from the send queue to _ReadyToSendBuffer</span>
+00143 <a class="code" href="a05379.html#a80">TBlockSize</a> netlen;
+00144 <span class="comment">// vector&lt;uint8&gt; tmpbuffer;</span>
+00145
+00146 <span class="comment">// Process each element in the send queue</span>
+00147 <span class="keywordflow">while</span> ( ! <a class="code" href="a02303.html#NLNET_1_1CServerBufSockp3">SendFifo</a>.<a class="code" href="a02301.html#NLMISC_1_1CBufFIFOa4">empty</a>() )
+00148 {
+00149 <a class="code" href="a04558.html#a7">uint8</a> *tmpbuffer;
+00150 <a class="code" href="a04558.html#a11">uint32</a> <a class="code" href="a04223.html#a587">size</a>;
+00151 <a class="code" href="a02303.html#NLNET_1_1CServerBufSockp3">SendFifo</a>.<a class="code" href="a02301.html#NLMISC_1_1CBufFIFOa7">front</a>( tmpbuffer, size );
+00152
+00153 <span class="comment">// Compute the size and add it into the beginning of the buffer</span>
+00154 netlen = htonl( (TBlockSize)size );
+00155 <a class="code" href="a04558.html#a11">uint32</a> oldBufferSize = <a class="code" href="a02303.html#NLNET_1_1CBufSockr3">_ReadyToSendBuffer</a>.<a class="code" href="a03000.html#NLMISC_1_1CObjectVectorz1984_3">size</a>();
+00156 <a class="code" href="a02303.html#NLNET_1_1CBufSockr3">_ReadyToSendBuffer</a>.<a class="code" href="a03000.html#NLMISC_1_1CObjectVectorz1982_1">resize</a> (oldBufferSize+<span class="keyword">sizeof</span>(TBlockSize)+size);
+00157 *(<a class="code" href="a05379.html#a80">TBlockSize</a>*)&amp;(<a class="code" href="a02303.html#NLNET_1_1CBufSockr3">_ReadyToSendBuffer</a>[oldBufferSize])=netlen;
+00158 <span class="comment">//nldebug( "O-%u %u+L%u (0x%x)", Sock-&gt;descriptor(), oldBufferSize, size, size );</span>
+00159
+00160
+00161 <span class="comment">// Append the temporary buffer to the global buffer</span>
+00162 CFastMem::memcpy (&amp;_ReadyToSendBuffer[oldBufferSize+<span class="keyword">sizeof</span>(TBlockSize)], tmpbuffer, size);
+00163 <a class="code" href="a02303.html#NLNET_1_1CServerBufSockp3">SendFifo</a>.<a class="code" href="a02301.html#NLMISC_1_1CBufFIFOa9">pop</a>();
+00164 }
+00165
+00166 <span class="comment">// Actual sending of _ReadyToSendBuffer</span>
+00167 <span class="comment">//if ( ! _ReadyToSendBuffer.empty() )</span>
+00168 <span class="keywordflow">if</span> ( <a class="code" href="a02303.html#NLNET_1_1CBufSockr3">_ReadyToSendBuffer</a>.<a class="code" href="a03000.html#NLMISC_1_1CObjectVectorz1984_3">size</a>() != 0 )
+00169 {
+00170 <span class="comment">// Send</span>
+00171 CSock::TSockResult <a class="code" href="a04223.html#a643">res</a>;
+00172 <a class="code" href="a05379.html#a80">TBlockSize</a> <a class="code" href="a04223.html#a571">len</a> = <a class="code" href="a02303.html#NLNET_1_1CBufSockr3">_ReadyToSendBuffer</a>.<a class="code" href="a03000.html#NLMISC_1_1CObjectVectorz1984_3">size</a>() - <a class="code" href="a02303.html#NLNET_1_1CBufSockr4">_RTSBIndex</a>;
+00173
+00174 <a class="code" href="a04223.html#a643">res</a> = <a class="code" href="a02303.html#NLNET_1_1CServerBufSockp4">Sock</a>-&gt;send( <a class="code" href="a02303.html#NLNET_1_1CBufSockr3">_ReadyToSendBuffer</a>.<a class="code" href="a03000.html#NLMISC_1_1CObjectVectorz1984_1">getPtr</a>()+<a class="code" href="a02303.html#NLNET_1_1CBufSockr4">_RTSBIndex</a>, <a class="code" href="a04223.html#a571">len</a>, <span class="keyword">false</span> );
+00175
+00176 <span class="keywordflow">if</span> ( <a class="code" href="a04223.html#a643">res</a> == CSock::Ok )
+00177 {
+00178 <span class="comment">/* // Debug display</span>
+00179 <span class="comment"> switch ( _FlushTrigger )</span>
+00180 <span class="comment"> {</span>
+00181 <span class="comment"> case FTTime : nldebug( "LNETL1: Time triggered flush for %s:", asString().c_str() ); break;</span>
+00182 <span class="comment"> case FTSize : nldebug( "LNETL1: Size triggered flush for %s:", asString().c_str() ); break;</span>
+00183 <span class="comment"> default: nldebug( "LNETL1: Manual flush for %s:", asString().c_str() );</span>
+00184 <span class="comment"> }</span>
+00185 <span class="comment"> _FlushTrigger = FTManual;</span>
+00186 <span class="comment"> nldebug( "LNETL1: %s sent effectively a buffer (%d on %d B)", asString().c_str(), len, _ReadyToSendBuffer.size() );</span>
+00187 <span class="comment">*/</span>
+00188
+00189 <span class="comment">// TODO OPTIM remove the nldebug for speed</span>
+00190 <span class="comment">//commented for optimisation nldebug( "LNETL1: %s sent effectively %u/%u bytes (pos %u wantedsend %u)", asString().c_str(), len, _ReadyToSendBuffer.size(), _RTSBIndex, realLen/*, stringFromVectorPart(_ReadyToSendBuffer,_RTSBIndex,len).c_str()*/ );</span>
+00191
+00192 <span class="keywordflow">if</span> ( <a class="code" href="a02303.html#NLNET_1_1CBufSockr4">_RTSBIndex</a>+<a class="code" href="a04223.html#a571">len</a> == <a class="code" href="a02303.html#NLNET_1_1CBufSockr3">_ReadyToSendBuffer</a>.<a class="code" href="a03000.html#NLMISC_1_1CObjectVectorz1984_3">size</a>() ) <span class="comment">// for non-blocking mode</span>
+00193 {
+00194 <span class="comment">// If sending is ok, clear the global buffer</span>
+00195 <span class="comment">//nldebug( "O-%u all %u bytes (%u to %u) sent", Sock-&gt;descriptor(), len, _RTSBIndex, _ReadyToSendBuffer.size() );</span>
+00196 <a class="code" href="a02303.html#NLNET_1_1CBufSockr3">_ReadyToSendBuffer</a>.<a class="code" href="a03000.html#NLMISC_1_1CObjectVectorz1982_0">clear</a>();
+00197 <a class="code" href="a02303.html#NLNET_1_1CBufSockr4">_RTSBIndex</a> = 0;
+00198 }
+00199 <span class="keywordflow">else</span>
+00200 {
+00201 <span class="comment">// Or clear only the data that was actually sent</span>
+00202 <a class="code" href="a04199.html#a8">nlassertex</a>( _RTSBIndex+len &lt; <a class="code" href="a02303.html#NLNET_1_1CBufSockr3">_ReadyToSendBuffer</a>.<a class="code" href="a03000.html#NLMISC_1_1CObjectVectorz1984_3">size</a>(), (<span class="stringliteral">"index=%u len=%u size=%u"</span>, <a class="code" href="a02303.html#NLNET_1_1CBufSockr4">_RTSBIndex</a>, <a class="code" href="a04223.html#a571">len</a>, <a class="code" href="a02303.html#NLNET_1_1CBufSockr3">_ReadyToSendBuffer</a>.<a class="code" href="a03000.html#NLMISC_1_1CObjectVectorz1984_3">size</a>()) );
+00203 <span class="comment">//nldebug( "O-%u only %u B on %u (%u to %u) sent", Sock-&gt;descriptor(), len, _ReadyToSendBuffer.size()-_RTSBIndex, _RTSBIndex, _ReadyToSendBuffer.size() );</span>
+00204 <a class="code" href="a02303.html#NLNET_1_1CBufSockr4">_RTSBIndex</a> += <a class="code" href="a04223.html#a571">len</a>;
+00205 <span class="keywordflow">if</span> ( <a class="code" href="a02303.html#NLNET_1_1CBufSockr3">_ReadyToSendBuffer</a>.<a class="code" href="a03000.html#NLMISC_1_1CObjectVectorz1984_3">size</a>() &gt; 20480 ) <span class="comment">// if big, clear data already sent</span>
+00206 {
+00207 <a class="code" href="a04558.html#a15">uint</a> nbcpy = <a class="code" href="a02303.html#NLNET_1_1CBufSockr3">_ReadyToSendBuffer</a>.<a class="code" href="a03000.html#NLMISC_1_1CObjectVectorz1984_3">size</a>() - <a class="code" href="a02303.html#NLNET_1_1CBufSockr4">_RTSBIndex</a>;
+00208 <span class="keywordflow">for</span> (<a class="code" href="a04558.html#a15">uint</a> i = 0; i &lt; nbcpy; i++)
+00209 {
+00210 <a class="code" href="a02303.html#NLNET_1_1CBufSockr3">_ReadyToSendBuffer</a>[i] = <a class="code" href="a02303.html#NLNET_1_1CBufSockr3">_ReadyToSendBuffer</a>[i+<a class="code" href="a02303.html#NLNET_1_1CBufSockr4">_RTSBIndex</a>];
+00211 }
+00212 <a class="code" href="a02303.html#NLNET_1_1CBufSockr3">_ReadyToSendBuffer</a>.<a class="code" href="a03000.html#NLMISC_1_1CObjectVectorz1982_1">resize</a>(nbcpy);
+00213 <span class="comment">//_ReadyToSendBuffer.erase( _ReadyToSendBuffer.begin(), _ReadyToSendBuffer.begin()+_RTSBIndex );</span>
+00214 <a class="code" href="a02303.html#NLNET_1_1CBufSockr4">_RTSBIndex</a> = 0;
+00215 <span class="comment">//nldebug( "O-%u Cleared data already sent, %u B remain", Sock-&gt;descriptor(), nbcpy );</span>
+00216 }
+00217 }
+00218 }
+00219 <span class="keywordflow">else</span>
+00220 {
+00221 <span class="preprocessor">#ifdef NL_DEBUG</span>
+00222 <span class="preprocessor"></span> <span class="comment">// can happen in a normal behavior if, for example, the other side is not connected anymore</span>
+00223 <a class="code" href="a04199.html#a0">nldebug</a>( <span class="stringliteral">"LNETL1: %s failed to send effectively a buffer of %d bytes"</span>, <a class="code" href="a02303.html#NLNET_1_1CServerBufSocka1">asString</a>().c_str(), <a class="code" href="a02303.html#NLNET_1_1CBufSockr3">_ReadyToSendBuffer</a>.<a class="code" href="a03000.html#NLMISC_1_1CObjectVectorz1984_3">size</a>() );
+00224 <span class="preprocessor">#endif</span>
+00225 <span class="preprocessor"></span> <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00226 }
+00227 }
+00228
+00229 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+00230 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLNET_1_1CServerBufSockb11" doxytag="NLNET::CBufSock::pushBuffer" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool NLNET::CBufSock::pushBuffer </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="a02271.html">NLMISC::CMemStream</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>buffer</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline, protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Pushes a buffer to the send queue and update, or returns false if the socket is not physically connected the or an error occured during sending
+<p>
+Definition at line <a class="el" href="a05515.html#l00178">178</a> of file <a class="el" href="a05515.html">buf_sock.h</a>.
+<p>
+References <a class="el" href="a05646.html#l00649">buffer</a>, <a class="el" href="a02444.html#NLNET_1_1CUdpSockz2109_0">NLNET::CSock::connected()</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a05622.html#l00135">nlwarning</a>, <a class="el" href="a05509.html#l00072">NLMISC::CBufFIFO::push()</a>, <a class="el" href="a05646.html#l01119">res</a>, <a class="el" href="a05515.html#l00240">SendFifo</a>, <a class="el" href="a05515.html#l00243">Sock</a>, <a class="el" href="a05981.html#l00100">uint32</a>, and <a class="el" href="a05514.html#l00247">update()</a>.
+<p>
+Referenced by <a class="el" href="a05513.html#l00298">NLNET::CBufServer::pushBufferToHost()</a>, and <a class="el" href="a05506.html#l00121">NLNET::CBufClient::send()</a>.
+<p>
+<div class="fragment"><pre>00179 {
+00180 <a class="code" href="a04199.html#a6">nlassert</a> (<span class="keyword">this</span> != InvalidSockId); <span class="comment">// invalid bufsock</span>
+00181 <span class="comment">// nldebug( "LNETL1: Pushing buffer to %s", asString().c_str() );</span>
+00182
+00183 <span class="keyword">static</span> <a class="code" href="a04558.html#a11">uint32</a> biggerBufferSize = 64000;
+00184 <span class="keywordflow">if</span> (<a class="code" href="a04223.html#a589">buffer</a>.length() &gt; biggerBufferSize)
+00185 {
+00186 biggerBufferSize = <a class="code" href="a04223.html#a589">buffer</a>.length();
+00187 <a class="code" href="a04199.html#a2">nlwarning</a> (<span class="stringliteral">"LNETL1: new record! bigger network message pushed (sent) is %u bytes"</span>, biggerBufferSize);
+00188 }
+00189
+00190 <span class="keywordflow">if</span> ( <a class="code" href="a02303.html#NLNET_1_1CServerBufSockp4">Sock</a>-&gt;connected() )
+00191 {
+00192 <span class="comment">// Push into host's send queue</span>
+00193 <a class="code" href="a02303.html#NLNET_1_1CServerBufSockp3">SendFifo</a>.<a class="code" href="a02301.html#NLMISC_1_1CBufFIFOa13">push</a>( buffer );
+00194
+00195 <span class="comment">// Update sending</span>
+00196 <span class="keywordtype">bool</span> <a class="code" href="a04223.html#a643">res</a> = <a class="code" href="a02303.html#NLNET_1_1CServerBufSockz2081_3">update</a> ();
+00197 <span class="keywordflow">return</span> <a class="code" href="a04223.html#a643">res</a>; <span class="comment">// not checking the result as in CBufServer::update()</span>
+00198 }
+00199 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00200 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLNET_1_1CServerBufSocka2" doxytag="NLNET::CBufSock::setAppId" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NLNET::CBufSock::setAppId </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a13">uint64</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>id</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Sets the application identifier.
+<p>
+
+<p>
+Definition at line <a class="el" href="a05515.html#l00060">60</a> of file <a class="el" href="a05515.html">buf_sock.h</a>.
+<p>
+References <a class="el" href="a05515.html#l00262">_AppId</a>, and <a class="el" href="a05981.html#l00102">uint64</a>.
+<p>
+Referenced by <a class="el" href="a06645.html#l00653">NLNET::CUnifiedNetwork::addService()</a>, <a class="el" href="a06138.html#l00577">NLNET::CPacsClient::connect()</a>, and <a class="el" href="a06646.html#l00274">NLNET::CUnifiedNetwork::CUnifiedConnection::TConnection::setAppId()</a>.
+<p>
+<div class="fragment"><pre>00060 { <a class="code" href="a02303.html#NLNET_1_1CBufSockr0">_AppId</a> = <span class="keywordtype">id</span>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLNET_1_1CServerBufSockb14" doxytag="NLNET::CBufSock::setConnectedState" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NLNET::CBufSock::setConnectedState </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">bool&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>connectedstate</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline, protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Sets the "logically connected" state (changed when processing a connection/disconnection callback).
+<p>
+
+<p>
+Definition at line <a class="el" href="a05515.html#l00234">234</a> of file <a class="el" href="a05515.html">buf_sock.h</a>.
+<p>
+References <a class="el" href="a05515.html#l00265">_ConnectedState</a>.
+<p>
+Referenced by <a class="el" href="a05512.html#l00364">NLNET::CBufServer::dataAvailable()</a>, and <a class="el" href="a05506.html#l00140">NLNET::CBufClient::dataAvailable()</a>.
+<p>
+<div class="fragment"><pre>00234 { <a class="code" href="a02303.html#NLNET_1_1CBufSockr1">_ConnectedState</a> = connectedstate; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLNET_1_1CServerBufSockz2081_1" doxytag="NLNET::CBufSock::setSizeFlushTrigger" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NLNET::CBufSock::setSizeFlushTrigger </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a10">sint32</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>size</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline, protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Sets the size flush trigger. When the size of the send queue reaches or exceeds this calue, all data in the send queue is automatically sent (-1 to disable this trigger )
+<p>
+Definition at line <a class="el" href="a05515.html#l00104">104</a> of file <a class="el" href="a05515.html">buf_sock.h</a>.
+<p>
+References <a class="el" href="a05515.html#l00257">_TriggerSize</a>, <a class="el" href="a05981.html#l00099">sint32</a>, and <a class="el" href="a05646.html#l00645">size</a>.
+<p>
+Referenced by <a class="el" href="a05513.html#l00226">NLNET::CBufServer::setSizeFlushTrigger()</a>, and <a class="el" href="a05507.html#l00152">NLNET::CBufClient::setSizeFlushTrigger()</a>.
+<p>
+<div class="fragment"><pre>00104 { <a class="code" href="a02303.html#NLNET_1_1CBufSockr5">_TriggerSize</a> = <a class="code" href="a04223.html#a587">size</a>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLNET_1_1CServerBufSockz2081_2" doxytag="NLNET::CBufSock::setTimeFlushTrigger" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NLNET::CBufSock::setTimeFlushTrigger </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a10">sint32</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>ms</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Sets the time flush trigger (in millisecond). When this time is elapsed, all data in the send queue is automatically sent (-1 to disable this trigger)
+<p>
+Definition at line <a class="el" href="a05514.html#l00236">236</a> of file <a class="el" href="a05514.html">buf_sock.cpp</a>.
+<p>
+References <a class="el" href="a05515.html#l00255">_LastFlushTime</a>, <a class="el" href="a05515.html#l00256">_TriggerTime</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, and <a class="el" href="a05981.html#l00099">sint32</a>.
+<p>
+Referenced by <a class="el" href="a05513.html#l00221">NLNET::CBufServer::setTimeFlushTrigger()</a>, and <a class="el" href="a05507.html#l00147">NLNET::CBufClient::setTimeFlushTrigger()</a>.
+<p>
+<div class="fragment"><pre>00237 {
+00238 <a class="code" href="a04199.html#a6">nlassert</a> (<span class="keyword">this</span> != InvalidSockId); <span class="comment">// invalid bufsock</span>
+00239 <a class="code" href="a02303.html#NLNET_1_1CBufSockr6">_TriggerTime</a> = ms;
+00240 <a class="code" href="a02303.html#NLNET_1_1CBufSockr2">_LastFlushTime</a> = CTime::getLocalTime();
+00241 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLNET_1_1CNonBlockingBufSockb14" doxytag="NLNET::CBufSock::typeStr" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual std::string NLNET::CBufSock::typeStr </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline, protected, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns "CLT " (client).
+<p>
+
+<p>
+Reimplemented in <a class="el" href="a03365.html#NLNET_1_1CServerBufSockb18">NLNET::CServerBufSock</a>.
+<p>
+Definition at line <a class="el" href="a05515.html#l00115">115</a> of file <a class="el" href="a05515.html">buf_sock.h</a>.
+<p>
+Referenced by <a class="el" href="a05514.html#l00329">asString()</a>.
+<p>
+<div class="fragment"><pre>00115 { <span class="keywordflow">return</span> <span class="stringliteral">"CLT "</span>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLNET_1_1CServerBufSockz2081_3" doxytag="NLNET::CBufSock::update" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool NLNET::CBufSock::update </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Update the network sending (call this method evenly). Returns false if an error occured.
+<p>
+
+<p>
+Definition at line <a class="el" href="a05514.html#l00247">247</a> of file <a class="el" href="a05514.html">buf_sock.cpp</a>.
+<p>
+References <a class="el" href="a05515.html#l00255">_LastFlushTime</a>, <a class="el" href="a05515.html#l00257">_TriggerSize</a>, <a class="el" href="a05515.html#l00256">_TriggerTime</a>, <a class="el" href="a05514.html#l00137">flush()</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a05515.html#l00240">SendFifo</a>, <a class="el" href="a05981.html#l00099">sint32</a>, <a class="el" href="a05508.html#l00410">NLMISC::CBufFIFO::size()</a>, and <a class="el" href="a06553.html#l00047">NLMISC::TTime</a>.
+<p>
+Referenced by <a class="el" href="a05515.html#l00178">pushBuffer()</a>, and <a class="el" href="a05506.html#l00296">NLNET::CBufClient::update()</a>.
+<p>
+<div class="fragment"><pre>00248 {
+00249 <a class="code" href="a04199.html#a6">nlassert</a> (<span class="keyword">this</span> != InvalidSockId); <span class="comment">// invalid bufsock</span>
+00250 <span class="comment">// nlnettrace( "CBufSock::update-BEGIN" );</span>
+00251 <span class="comment">// Time trigger</span>
+00252
+00253 <span class="keywordflow">if</span> ( <a class="code" href="a02303.html#NLNET_1_1CBufSockr6">_TriggerTime</a> != -1 )
+00254 {
+00255 <a class="code" href="a05378.html#a242">TTime</a> now = CTime::getLocalTime();
+00256 <span class="keywordflow">if</span> ( (<a class="code" href="a04558.html#a10">sint32</a>)(now-<a class="code" href="a02303.html#NLNET_1_1CBufSockr2">_LastFlushTime</a>) &gt;= <a class="code" href="a02303.html#NLNET_1_1CBufSockr6">_TriggerTime</a> )
+00257 {
+00258 <span class="preprocessor">#ifdef NL_DEBUG</span>
+00259 <span class="preprocessor"></span> _FlushTrigger = FTTime;
+00260 <span class="preprocessor">#endif</span>
+00261 <span class="preprocessor"></span> <span class="keywordflow">if</span> ( <a class="code" href="a02303.html#NLNET_1_1CServerBufSockz2081_0">flush</a>() )
+00262 {
+00263 <a class="code" href="a02303.html#NLNET_1_1CBufSockr2">_LastFlushTime</a> = now;
+00264 <span class="comment">// nlnettrace ( "CBufSock::update-END time 1" );</span>
+00265 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+00266 }
+00267 <span class="keywordflow">else</span>
+00268 {
+00269 <span class="comment">// nlnettrace ( "CBufSock::update-END time 0" );</span>
+00270 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00271 }
+00272 }
+00273 }
+00274 <span class="comment">// Size trigger</span>
+00275 <span class="keywordflow">if</span> ( <a class="code" href="a02303.html#NLNET_1_1CBufSockr5">_TriggerSize</a> != -1 )
+00276 {
+00277 <span class="keywordflow">if</span> ( (<a class="code" href="a04558.html#a10">sint32</a>)<a class="code" href="a02303.html#NLNET_1_1CServerBufSockp3">SendFifo</a>.<a class="code" href="a02301.html#NLMISC_1_1CBufFIFOa15">size</a>() &gt; <a class="code" href="a02303.html#NLNET_1_1CBufSockr5">_TriggerSize</a> )
+00278 {
+00279 <span class="preprocessor">#ifdef NL_DEBUG</span>
+00280 <span class="preprocessor"></span> _FlushTrigger = FTSize;
+00281 <span class="preprocessor">#endif</span>
+00282 <span class="preprocessor"></span><span class="comment">// nlnettrace( "CBufSock::update-END size" );</span>
+00283 <span class="keywordflow">return</span> <a class="code" href="a02303.html#NLNET_1_1CServerBufSockz2081_0">flush</a>();
+00284 }
+00285 }
+00286 <span class="comment">// nlnettrace( "CBufSock::update-END nosend" );</span>
+00287 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+00288 }
+</pre></div> </td>
+ </tr>
+</table>
+<hr><h2>Friends And Related Function Documentation</h2>
+<a class="anchor" name="NLNET_1_1CBufSockn0" doxytag="NLNET::CBufSock::CBufClient" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> friend class <a class="el" href="a02295.html">CBufClient</a><code> [friend]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Reimplemented in <a class="el" href="a02991.html#NLNET_1_1CServerBufSockn0">NLNET::CNonBlockingBufSock</a>.
+<p>
+Definition at line <a class="el" href="a05515.html#l00078">78</a> of file <a class="el" href="a05515.html">buf_sock.h</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NLNET_1_1CNonBlockingBufSockn1" doxytag="NLNET::CBufSock::CBufServer" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> friend class <a class="el" href="a02302.html">CBufServer</a><code> [friend]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Reimplemented in <a class="el" href="a03365.html#NLNET_1_1CServerBufSockn1">NLNET::CServerBufSock</a>.
+<p>
+Definition at line <a class="el" href="a05515.html#l00079">79</a> of file <a class="el" href="a05515.html">buf_sock.h</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NLNET_1_1CServerBufSockn2" doxytag="NLNET::CBufSock::CCallbackClient" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> friend class <a class="el" href="a02305.html">CCallbackClient</a><code> [friend]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05515.html#l00083">83</a> of file <a class="el" href="a05515.html">buf_sock.h</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NLNET_1_1CServerBufSockn3" doxytag="NLNET::CBufSock::CCallbackNetBase" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> friend class <a class="el" href="a02306.html">CCallbackNetBase</a><code> [friend]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05515.html#l00085">85</a> of file <a class="el" href="a05515.html">buf_sock.h</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NLNET_1_1CServerBufSockn4" doxytag="NLNET::CBufSock::CCallbackServer" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> friend class <a class="el" href="a02307.html">CCallbackServer</a><code> [friend]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05515.html#l00084">84</a> of file <a class="el" href="a05515.html">buf_sock.h</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NLNET_1_1CBufSockn5" doxytag="NLNET::CBufSock::CClientReceiveTask" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> friend class <a class="el" href="a02352.html">CClientReceiveTask</a><code> [friend]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Reimplemented in <a class="el" href="a02991.html#NLNET_1_1CServerBufSockn5">NLNET::CNonBlockingBufSock</a>.
+<p>
+Definition at line <a class="el" href="a05515.html#l00080">80</a> of file <a class="el" href="a05515.html">buf_sock.h</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NLNET_1_1CNonBlockingBufSockn6" doxytag="NLNET::CBufSock::CServerReceiveTask" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> friend class <a class="el" href="a03366.html">CServerReceiveTask</a><code> [friend]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Reimplemented in <a class="el" href="a03365.html#NLNET_1_1CServerBufSockn7">NLNET::CServerBufSock</a>.
+<p>
+Definition at line <a class="el" href="a05515.html#l00081">81</a> of file <a class="el" href="a05515.html">buf_sock.h</a>. </td>
+ </tr>
+</table>
+<hr><h2>Field Documentation</h2>
+<a class="anchor" name="NLNET_1_1CBufSockr0" doxytag="NLNET::CBufSock::_AppId" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a13">uint64</a> <a class="el" href="a02303.html#NLNET_1_1CBufSockr0">NLNET::CBufSock::_AppId</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05515.html#l00262">262</a> of file <a class="el" href="a05515.html">buf_sock.h</a>.
+<p>
+Referenced by <a class="el" href="a05515.html#l00063">appId()</a>, <a class="el" href="a05515.html#l00060">setAppId()</a>, and <a class="el" href="a05514.html#l00081">~CBufSock()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NLNET_1_1CBufSockr1" doxytag="NLNET::CBufSock::_ConnectedState" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool <a class="el" href="a02303.html#NLNET_1_1CBufSockr1">NLNET::CBufSock::_ConnectedState</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05515.html#l00265">265</a> of file <a class="el" href="a05515.html">buf_sock.h</a>.
+<p>
+Referenced by <a class="el" href="a05514.html#l00295">connect()</a>, <a class="el" href="a05515.html#l00237">connectedState()</a>, <a class="el" href="a05514.html#l00315">disconnect()</a>, <a class="el" href="a05515.html#l00234">setConnectedState()</a>, and <a class="el" href="a05514.html#l00081">~CBufSock()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NLNET_1_1CServerBufSockp0" doxytag="NLNET::CBufSock::_KnowConnected" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool <a class="el" href="a02303.html#NLNET_1_1CServerBufSockp0">NLNET::CBufSock::_KnowConnected</a><code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05515.html#l00246">246</a> of file <a class="el" href="a05515.html">buf_sock.h</a>.
+<p>
+Referenced by <a class="el" href="a05515.html#l00120">advertiseDisconnection()</a>, <a class="el" href="a05514.html#l00295">connect()</a>, <a class="el" href="a05514.html#l00315">disconnect()</a>, and <a class="el" href="a05514.html#l00081">~CBufSock()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NLNET_1_1CBufSockr2" doxytag="NLNET::CBufSock::_LastFlushTime" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a05378.html#a242">NLMISC::TTime</a> <a class="el" href="a02303.html#NLNET_1_1CBufSockr2">NLNET::CBufSock::_LastFlushTime</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05515.html#l00255">255</a> of file <a class="el" href="a05515.html">buf_sock.h</a>.
+<p>
+Referenced by <a class="el" href="a05514.html#l00052">CBufSock()</a>, <a class="el" href="a05514.html#l00236">setTimeFlushTrigger()</a>, <a class="el" href="a05514.html#l00247">update()</a>, and <a class="el" href="a05514.html#l00081">~CBufSock()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NLNET_1_1CBufSockr3" doxytag="NLNET::CBufSock::_ReadyToSendBuffer" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03000.html">NLMISC::CObjectVector</a>&lt;<a class="el" href="a04558.html#a7">uint8</a>&gt; <a class="el" href="a02303.html#NLNET_1_1CBufSockr3">NLNET::CBufSock::_ReadyToSendBuffer</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05515.html#l00259">259</a> of file <a class="el" href="a05515.html">buf_sock.h</a>.
+<p>
+Referenced by <a class="el" href="a05514.html#l00137">flush()</a>, and <a class="el" href="a05514.html#l00081">~CBufSock()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NLNET_1_1CBufSockr4" doxytag="NLNET::CBufSock::_RTSBIndex" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a05379.html#a80">TBlockSize</a> <a class="el" href="a02303.html#NLNET_1_1CBufSockr4">NLNET::CBufSock::_RTSBIndex</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05515.html#l00260">260</a> of file <a class="el" href="a05515.html">buf_sock.h</a>.
+<p>
+Referenced by <a class="el" href="a05514.html#l00137">flush()</a>, and <a class="el" href="a05514.html#l00081">~CBufSock()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NLNET_1_1CBufSockr5" doxytag="NLNET::CBufSock::_TriggerSize" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a10">sint32</a> <a class="el" href="a02303.html#NLNET_1_1CBufSockr5">NLNET::CBufSock::_TriggerSize</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05515.html#l00257">257</a> of file <a class="el" href="a05515.html">buf_sock.h</a>.
+<p>
+Referenced by <a class="el" href="a05515.html#l00104">setSizeFlushTrigger()</a>, <a class="el" href="a05514.html#l00247">update()</a>, and <a class="el" href="a05514.html#l00081">~CBufSock()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NLNET_1_1CBufSockr6" doxytag="NLNET::CBufSock::_TriggerTime" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a05378.html#a242">NLMISC::TTime</a> <a class="el" href="a02303.html#NLNET_1_1CBufSockr6">NLNET::CBufSock::_TriggerTime</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05515.html#l00256">256</a> of file <a class="el" href="a05515.html">buf_sock.h</a>.
+<p>
+Referenced by <a class="el" href="a05514.html#l00236">setTimeFlushTrigger()</a>, <a class="el" href="a05514.html#l00247">update()</a>, and <a class="el" href="a05514.html#l00081">~CBufSock()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NLNET_1_1CServerBufSocko0" doxytag="NLNET::CBufSock::AuthorizedCallback" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> std::string <a class="el" href="a02303.html#NLNET_1_1CServerBufSocko0">NLNET::CBufSock::AuthorizedCallback</a>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Little tricky but this string is used by Layer4 to know which callback is authorized. This is empty when all callback are authorized.
+<p>
+Definition at line <a class="el" href="a05515.html#l00070">70</a> of file <a class="el" href="a05515.html">buf_sock.h</a>.
+<p>
+Referenced by <a class="el" href="a05526.html#l00471">NLNET::CCallbackNetBase::authorizeOnly()</a>, <a class="el" href="a05526.html#l00223">NLNET::CCallbackNetBase::processOneMessage()</a>, and <a class="el" href="a05514.html#l00081">~CBufSock()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NLNET_1_1CServerBufSocko1" doxytag="NLNET::CBufSock::ReceiveNextValue" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a11">uint32</a> <a class="el" href="a02303.html#NLNET_1_1CServerBufSocko1">NLNET::CBufSock::ReceiveNextValue</a>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05515.html#l00074">74</a> of file <a class="el" href="a05515.html">buf_sock.h</a>.
+<p>
+Referenced by <a class="el" href="a05514.html#l00295">connect()</a>, and <a class="el" href="a05514.html#l00315">disconnect()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NLNET_1_1CServerBufSockp3" doxytag="NLNET::CBufSock::SendFifo" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a02301.html">NLMISC::CBufFIFO</a> <a class="el" href="a02303.html#NLNET_1_1CServerBufSockp3">NLNET::CBufSock::SendFifo</a><code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05515.html#l00240">240</a> of file <a class="el" href="a05515.html">buf_sock.h</a>.
+<p>
+Referenced by <a class="el" href="a05512.html#l00713">NLNET::CBufServer::displaySendQueueStat()</a>, <a class="el" href="a05507.html#l00137">NLNET::CBufClient::displaySendQueueStat()</a>, <a class="el" href="a05514.html#l00137">flush()</a>, <a class="el" href="a05512.html#l00660">NLNET::CBufServer::getSendQueueSize()</a>, <a class="el" href="a05507.html#l00135">NLNET::CBufClient::getSendQueueSize()</a>, <a class="el" href="a05515.html#l00178">pushBuffer()</a>, and <a class="el" href="a05514.html#l00247">update()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NLNET_1_1CServerBufSocko2" doxytag="NLNET::CBufSock::SendNextValue" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a11">uint32</a> <a class="el" href="a02303.html#NLNET_1_1CServerBufSocko2">NLNET::CBufSock::SendNextValue</a>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05515.html#l00074">74</a> of file <a class="el" href="a05515.html">buf_sock.h</a>.
+<p>
+Referenced by <a class="el" href="a05514.html#l00295">connect()</a>, <a class="el" href="a05514.html#l00315">disconnect()</a>, and <a class="el" href="a05512.html#l00299">NLNET::CBufServer::send()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NLNET_1_1CServerBufSockp4" doxytag="NLNET::CBufSock::Sock" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a02445.html">CTcpSock</a>* <a class="el" href="a02303.html#NLNET_1_1CServerBufSockp4">NLNET::CBufSock::Sock</a><code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05515.html#l00243">243</a> of file <a class="el" href="a05515.html">buf_sock.h</a>.
+<p>
+Referenced by <a class="el" href="a05514.html#l00329">asString()</a>, <a class="el" href="a05507.html#l00172">NLNET::CBufClient::bytesDownloaded()</a>, <a class="el" href="a05507.html#l00175">NLNET::CBufClient::bytesUploaded()</a>, <a class="el" href="a05514.html#l00052">CBufSock()</a>, <a class="el" href="a05524.html#l00286">NLNET::CCallbackClient::connect()</a>, <a class="el" href="a05514.html#l00295">connect()</a>, <a class="el" href="a05506.html#l00085">NLNET::CBufClient::connect()</a>, <a class="el" href="a05514.html#l00315">disconnect()</a>, <a class="el" href="a05512.html#l00251">NLNET::CBufServer::disconnect()</a>, <a class="el" href="a05506.html#l00318">NLNET::CBufClient::disconnect()</a>, <a class="el" href="a05514.html#l00137">flush()</a>, <a class="el" href="a05513.html#l00241">NLNET::CBufServer::hostAddress()</a>, <a class="el" href="a05515.html#l00178">pushBuffer()</a>, <a class="el" href="a05507.html#l00169">NLNET::CBufClient::remoteAddress()</a>, <a class="el" href="a05512.html#l00779">NLNET::CListenTask::run()</a>, <a class="el" href="a05506.html#l00437">NLNET::CClientReceiveTask::run()</a>, <a class="el" href="a05506.html#l00296">NLNET::CBufClient::update()</a>, <a class="el" href="a05506.html#l00397">NLNET::CBufClient::~CBufClient()</a>, and <a class="el" href="a05514.html#l00081">~CBufSock()</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="a05515.html">buf_sock.h</a><li><a class="el" href="a05514.html">buf_sock.cpp</a></ul>
+<hr size="1"><address style="align: right;"><small>Generated on Tue Mar 16 13:53:53 2004 for NeL by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
+</a>1.3.6 </small></address>
+</body>
+</html>