aboutsummaryrefslogtreecommitdiff
path: root/docs/doxygen/nel/a03627.html
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--docs/doxygen/nel/a03627.html1013
1 files changed, 1013 insertions, 0 deletions
diff --git a/docs/doxygen/nel/a03627.html b/docs/doxygen/nel/a03627.html
new file mode 100644
index 00000000..43e91743
--- /dev/null
+++ b/docs/doxygen/nel/a03627.html
@@ -0,0 +1,1013 @@
+<!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::CUdpSimSock 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::CUdpSimSock Class Reference</h1><code>#include &lt;<a class="el" href="a06642.html">udp_sim_sock.h</a>&gt;</code>
+<p>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<a class="el" href="a03627.html">CUdpSimSock</a>: Unreliable datagram socket via UDP but packet lost, lag simulation. See class <a class="el" href="a03628.html">CUdpSock</a>.<p>
+Notes: InLag must be &gt;0 to use the InPacketLoss variable<p>
+<dl compact><dt><b>Author:</b></dt><dd>Vianney Lecroart <p>
+Nevrax France </dd></dl>
+<dl compact><dt><b>Date:</b></dt><dd>2002 </dd></dl>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06642.html#l00049">49</a> of file <a class="el" href="a06642.html">udp_sim_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>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03627.html#NLNET_1_1CUdpSimSocka0">close</a> ()</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03627.html#NLNET_1_1CUdpSimSocka1">connect</a> (const <a class="el" href="a02665.html">CInetAddress</a> &amp;<a class="el" href="a04223.html#a657">addr</a>)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03627.html#NLNET_1_1CUdpSimSocka2">connected</a> ()</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03627.html#NLNET_1_1CUdpSimSocka3">CUdpSimSock</a> (bool logging=true)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03627.html#NLNET_1_1CUdpSimSocka4">dataAvailable</a> ()</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a02665.html">CInetAddress</a> &amp;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03627.html#NLNET_1_1CUdpSimSocka5">localAddr</a> () const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03627.html#NLNET_1_1CUdpSimSocka6">receive</a> (<a class="el" href="a04558.html#a7">uint8</a> *<a class="el" href="a04223.html#a589">buffer</a>, <a class="el" href="a04558.html#a11">uint32</a> &amp;<a class="el" href="a04223.html#a571">len</a>, bool throw_exception=true)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02444.html#NLNET_1_1CUdpSockw3">CSock::TSockResult</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03627.html#NLNET_1_1CUdpSimSocka7">send</a> (const <a class="el" href="a04558.html#a7">uint8</a> *<a class="el" href="a04223.html#a589">buffer</a>, <a class="el" href="a04558.html#a11">uint32</a> &amp;<a class="el" href="a04223.html#a571">len</a>, bool throw_exception=true)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03627.html#NLNET_1_1CUdpSimSocka8">sendTo</a> (const <a class="el" href="a04558.html#a7">uint8</a> *<a class="el" href="a04223.html#a589">buffer</a>, <a class="el" href="a04558.html#a11">uint32</a> &amp;<a class="el" href="a04223.html#a571">len</a>, const <a class="el" href="a02665.html">CInetAddress</a> &amp;<a class="el" href="a04223.html#a657">addr</a>)</td></tr>
+
+<tr><td colspan=2><br><h2>Static Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03627.html#NLNET_1_1CUdpSimSocke0">setSimValues</a> (<a class="el" href="a02401.html">NLMISC::CConfigFile</a> &amp;cf)</td></tr>
+
+<tr><td colspan=2><br><h2>Data Fields</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03628.html">CUdpSock</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03627.html#NLNET_1_1CUdpSimSocko0">UdpSock</a></td></tr>
+
+<tr><td colspan=2><br><h2>Private Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03627.html#NLNET_1_1CUdpSimSockd0">sendUDP</a> (const <a class="el" href="a04558.html#a7">uint8</a> *<a class="el" href="a04223.html#a589">buffer</a>, <a class="el" href="a04558.html#a11">uint32</a> &amp;<a class="el" href="a04223.html#a571">len</a>, const <a class="el" href="a02665.html">CInetAddress</a> *<a class="el" href="a04223.html#a657">addr</a>=NULL)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03627.html#NLNET_1_1CUdpSimSockd1">sendUDPNow</a> (const <a class="el" href="a04558.html#a7">uint8</a> *<a class="el" href="a04223.html#a589">buffer</a>, <a class="el" href="a04558.html#a11">uint32</a> <a class="el" href="a04223.html#a571">len</a>, const <a class="el" href="a02665.html">CInetAddress</a> *<a class="el" href="a04223.html#a657">addr</a>=NULL)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03627.html#NLNET_1_1CUdpSimSockd2">updateBufferizedPackets</a> ()</td></tr>
+
+<tr><td colspan=2><br><h2>Static Private Attributes</h2></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="a03627.html#NLNET_1_1CUdpSimSockv0">_InLag</a> = 0</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a7">uint8</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03627.html#NLNET_1_1CUdpSimSockv1">_InPacketLoss</a> = 0</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="a03627.html#NLNET_1_1CUdpSimSockv2">_OutLag</a> = 0</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a7">uint8</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03627.html#NLNET_1_1CUdpSimSockv3">_OutPacketDisordering</a> = 0</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a7">uint8</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03627.html#NLNET_1_1CUdpSimSockv4">_OutPacketDuplication</a> = 0</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a7">uint8</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03627.html#NLNET_1_1CUdpSimSockv5">_OutPacketLoss</a> = 0</td></tr>
+
+<tr><td colspan=2><br><h2>Friends</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03627.html#NLNET_1_1CUdpSimSockn0">cbSimVar</a> (<a class="el" href="a02402.html">NLMISC::CConfigFile::CVar</a> &amp;var)</td></tr>
+
+</table>
+<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="NLNET_1_1CUdpSimSocka3" doxytag="NLNET::CUdpSimSock::CUdpSimSock" ></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::CUdpSimSock::CUdpSimSock </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">bool&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>logging</em> = true </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06642.html#l00053">53</a> of file <a class="el" href="a06642.html">udp_sim_sock.h</a>.
+<p>
+References <a class="el" href="a06642.html#l00069">UdpSock</a>.
+<p>
+<div class="fragment"><pre>00053 : <a class="code" href="a03627.html#NLNET_1_1CUdpSimSocko0">UdpSock</a>(logging) { }
+</pre></div> </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="NLNET_1_1CUdpSimSocka0" doxytag="NLNET::CUdpSimSock::close" ></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::CUdpSimSock::close </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></td>
+ </tr>
+
+ </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="a06641.html#l00231">231</a> of file <a class="el" href="a06641.html">udp_sim_sock.cpp</a>.
+<p>
+References <a class="el" href="a02444.html#NLNET_1_1CUdpSockz2103_0">NLNET::CSock::close()</a>, and <a class="el" href="a06642.html#l00069">UdpSock</a>.
+<p>
+<div class="fragment"><pre>00232 {
+00233 <a class="code" href="a03627.html#NLNET_1_1CUdpSimSocko0">UdpSock</a>.close ();
+00234 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLNET_1_1CUdpSimSocka1" doxytag="NLNET::CUdpSimSock::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::CUdpSimSock::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="mdname1" valign="top" nowrap> <em>addr</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </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="a06641.html#l00226">226</a> of file <a class="el" href="a06641.html">udp_sim_sock.cpp</a>.
+<p>
+References <a class="el" href="a05646.html#l01127">addr</a>, <a class="el" href="a02444.html#NLNET_1_1CUdpSockz2103_1">NLNET::CSock::connect()</a>, and <a class="el" href="a06642.html#l00069">UdpSock</a>.
+<p>
+Referenced by <a class="el" href="a05958.html#l00125">NLNET::CLoginClient::connectToShard()</a>.
+<p>
+<div class="fragment"><pre>00227 {
+00228 <a class="code" href="a03627.html#NLNET_1_1CUdpSimSocko0">UdpSock</a>.connect (addr);
+00229 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLNET_1_1CUdpSimSocka2" doxytag="NLNET::CUdpSimSock::connected" ></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::CUdpSimSock::connected </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></td>
+ </tr>
+
+ </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="a06641.html#l00306">306</a> of file <a class="el" href="a06641.html">udp_sim_sock.cpp</a>.
+<p>
+References <a class="el" href="a02444.html#NLNET_1_1CUdpSockz2109_0">NLNET::CSock::connected()</a>, and <a class="el" href="a06642.html#l00069">UdpSock</a>.
+<p>
+Referenced by <a class="el" href="a05958.html#l00125">NLNET::CLoginClient::connectToShard()</a>.
+<p>
+<div class="fragment"><pre>00307 {
+00308 <span class="keywordflow">return</span> <a class="code" href="a03627.html#NLNET_1_1CUdpSimSocko0">UdpSock</a>.connected ();
+00309 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLNET_1_1CUdpSimSocka4" doxytag="NLNET::CUdpSimSock::dataAvailable" ></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::CUdpSimSock::dataAvailable </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></td>
+ </tr>
+
+ </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="a06641.html#l00238">238</a> of file <a class="el" href="a06641.html">udp_sim_sock.cpp</a>.
+<p>
+References <a class="el" href="a06641.html#l00095">_InLag</a>, <a class="el" href="a06641.html#l00096">_InPacketLoss</a>, <a class="el" href="a05646.html#l01127">addr</a>, <a class="el" href="a05646.html#l00649">buffer</a>, <a class="el" href="a06641.html#l00093">NLNET::BufferizedInPackets</a>, <a class="el" href="a02444.html#NLNET_1_1CUdpSockz2105_0">NLNET::CSock::dataAvailable()</a>, <a class="el" href="a05646.html#l00235">len</a>, <a class="el" href="a06643.html#l00183">NLNET::CUdpSock::receivedFrom()</a>, <a class="el" href="a06553.html#l00047">NLMISC::TTime</a>, <a class="el" href="a06642.html#l00069">UdpSock</a>, <a class="el" href="a05981.html#l00105">uint</a>, and <a class="el" href="a06641.html#l00171">updateBufferizedPackets()</a>.
+<p>
+<div class="fragment"><pre>00239 {
+00240 <a class="code" href="a03627.html#NLNET_1_1CUdpSimSockd2">updateBufferizedPackets</a> ();
+00241
+00242 <span class="keywordflow">if</span> (<a class="code" href="a03627.html#NLNET_1_1CUdpSimSockv0">_InLag</a> &gt; 0)
+00243 {
+00244 <span class="keywordflow">while</span> (<a class="code" href="a03627.html#NLNET_1_1CUdpSimSocko0">UdpSock</a>.dataAvailable ())
+00245 {
+00246 <a class="code" href="a02665.html">CInetAddress</a> <a class="code" href="a04223.html#a657">addr</a>;
+00247 <a class="code" href="a04558.html#a15">uint</a> <a class="code" href="a04223.html#a571">len</a> = 10000;
+00248 <a class="code" href="a03627.html#NLNET_1_1CUdpSimSocko0">UdpSock</a>.receivedFrom (<a class="code" href="a04223.html#a589">buffer</a>, len, addr);
+00249
+00250 <span class="keywordflow">if</span> ((<span class="keywordtype">float</span>)rand()/(<span class="keywordtype">float</span>)(RAND_MAX)*100.0f &gt;= <a class="code" href="a03627.html#NLNET_1_1CUdpSimSockv1">_InPacketLoss</a>)
+00251 {
+00252 CBufferizedOutPacket *bp = <span class="keyword">new</span> CBufferizedOutPacket (&amp;UdpSock, <a class="code" href="a04223.html#a589">buffer</a>, len, _InLag, &amp;addr);
+00253 <a class="code" href="a05379.html#a59">BufferizedInPackets</a>.push (bp);
+00254 }
+00255 }
+00256
+00257 <a class="code" href="a05378.html#a242">TTime</a> ct = CTime::getLocalTime ();
+00258 <span class="keywordflow">if</span> (!<a class="code" href="a05379.html#a59">BufferizedInPackets</a>.empty() &amp;&amp; <a class="code" href="a05379.html#a59">BufferizedInPackets</a>.front ()-&gt;Time &lt;= ct)
+00259 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+00260 <span class="keywordflow">else</span>
+00261 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00262 }
+00263 <span class="keywordflow">else</span>
+00264 {
+00265 <span class="keywordflow">return</span> <a class="code" href="a03627.html#NLNET_1_1CUdpSimSocko0">UdpSock</a>.dataAvailable ();
+00266 }
+00267 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLNET_1_1CUdpSimSocka5" doxytag="NLNET::CUdpSimSock::localAddr" ></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"> const <a class="el" href="a02665.html">CInetAddress</a>&amp; NLNET::CUdpSimSock::localAddr </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>
+
+<p>
+Definition at line <a class="el" href="a06642.html#l00066">66</a> of file <a class="el" href="a06642.html">udp_sim_sock.h</a>.
+<p>
+References <a class="el" href="a06405.html#l00235">NLNET::CSock::localAddr()</a>, and <a class="el" href="a06642.html#l00069">UdpSock</a>.
+<p>
+<div class="fragment"><pre>00066 { <span class="keywordflow">return</span> <a class="code" href="a03627.html#NLNET_1_1CUdpSimSocko0">UdpSock</a>.localAddr(); }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLNET_1_1CUdpSimSocka6" doxytag="NLNET::CUdpSimSock::receive" ></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::CUdpSimSock::receive </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a7">uint8</a> *&nbsp;</td>
+ <td class="mdname" nowrap> <em>buffer</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a04558.html#a11">uint32</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>len</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>throw_exception</em> = true</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </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="a06641.html#l00269">269</a> of file <a class="el" href="a06641.html">udp_sim_sock.cpp</a>.
+<p>
+References <a class="el" href="a06641.html#l00095">_InLag</a>, <a class="el" href="a05646.html#l00649">buffer</a>, <a class="el" href="a06641.html#l00093">NLNET::BufferizedInPackets</a>, <a class="el" href="a05646.html#l00235">len</a>, <a class="el" href="a05484.html#l00038">min</a>, <a class="el" href="a06641.html#l00081">NLNET::CBufferizedOutPacket::Packet</a>, <a class="el" href="a06641.html#l00082">NLNET::CBufferizedOutPacket::PacketSize</a>, <a class="el" href="a06643.html#l00156">NLNET::CUdpSock::receive()</a>, <a class="el" href="a05646.html#l00977">s</a>, <a class="el" href="a06642.html#l00069">UdpSock</a>, <a class="el" href="a05981.html#l00100">uint32</a>, and <a class="el" href="a05981.html#l00096">uint8</a>.
+<p>
+<div class="fragment"><pre>00270 {
+00271 <span class="keywordflow">if</span> (<a class="code" href="a03627.html#NLNET_1_1CUdpSimSockv0">_InLag</a>&gt; 0)
+00272 {
+00273 <span class="keywordflow">if</span> (<a class="code" href="a05379.html#a59">BufferizedInPackets</a>.empty())
+00274 {
+00275 <span class="keywordflow">if</span> (throw_exception)
+00276 <span class="keywordflow">throw</span> <a class="code" href="a02482.html">Exception</a> (<span class="stringliteral">"no data available"</span>);
+00277 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00278 }
+00279
+00280 CBufferizedOutPacket *bp = <a class="code" href="a05379.html#a59">BufferizedInPackets</a>.front ();
+00281 <a class="code" href="a04558.html#a11">uint32</a> <a class="code" href="a04223.html#a626">s</a> = <a class="code" href="a04061.html#a0">min</a> (len, bp-&gt;PacketSize);
+00282 memcpy (buffer, bp-&gt;Packet, s);
+00283 <a class="code" href="a04223.html#a571">len</a> = <a class="code" href="a04223.html#a626">s</a>;
+00284
+00285 <span class="keyword">delete</span> bp;
+00286 <a class="code" href="a05379.html#a59">BufferizedInPackets</a>.pop ();
+00287 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+00288 }
+00289 <span class="keywordflow">else</span>
+00290 {
+00291 <span class="keywordflow">return</span> <a class="code" href="a03627.html#NLNET_1_1CUdpSimSocko0">UdpSock</a>.receive(buffer, len, throw_exception);
+00292 }
+00293 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLNET_1_1CUdpSimSocka7" doxytag="NLNET::CUdpSimSock::send" ></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="a02444.html#NLNET_1_1CUdpSockw3">CSock::TSockResult</a> NLNET::CUdpSimSock::send </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="a04558.html#a7">uint8</a> *&nbsp;</td>
+ <td class="mdname" nowrap> <em>buffer</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a04558.html#a11">uint32</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>len</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>throw_exception</em> = true</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </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="a06641.html#l00295">295</a> of file <a class="el" href="a06641.html">udp_sim_sock.cpp</a>.
+<p>
+References <a class="el" href="a05646.html#l00649">buffer</a>, <a class="el" href="a05646.html#l00235">len</a>, <a class="el" href="a06641.html#l00115">sendUDP()</a>, <a class="el" href="a05981.html#l00100">uint32</a>, and <a class="el" href="a05981.html#l00096">uint8</a>.
+<p>
+<div class="fragment"><pre>00296 {
+00297 <a class="code" href="a03627.html#NLNET_1_1CUdpSimSockd0">sendUDP</a> (buffer, len);
+00298 <span class="keywordflow">return</span> CSock::Ok;
+00299 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLNET_1_1CUdpSimSocka8" doxytag="NLNET::CUdpSimSock::sendTo" ></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::CUdpSimSock::sendTo </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="a04558.html#a7">uint8</a> *&nbsp;</td>
+ <td class="mdname" nowrap> <em>buffer</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a04558.html#a11">uint32</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>len</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const <a class="el" href="a02665.html">CInetAddress</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>addr</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </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="a06641.html#l00301">301</a> of file <a class="el" href="a06641.html">udp_sim_sock.cpp</a>.
+<p>
+References <a class="el" href="a05646.html#l01127">addr</a>, <a class="el" href="a05646.html#l00649">buffer</a>, <a class="el" href="a05646.html#l00235">len</a>, <a class="el" href="a06641.html#l00115">sendUDP()</a>, <a class="el" href="a05981.html#l00100">uint32</a>, and <a class="el" href="a05981.html#l00096">uint8</a>.
+<p>
+<div class="fragment"><pre>00302 {
+00303 <a class="code" href="a03627.html#NLNET_1_1CUdpSimSockd0">sendUDP</a> (buffer, len, &amp;addr);
+00304 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLNET_1_1CUdpSimSockd0" doxytag="NLNET::CUdpSimSock::sendUDP" ></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::CUdpSimSock::sendUDP </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="a04558.html#a7">uint8</a> *&nbsp;</td>
+ <td class="mdname" nowrap> <em>buffer</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a04558.html#a11">uint32</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>len</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const <a class="el" href="a02665.html">CInetAddress</a> *&nbsp;</td>
+ <td class="mdname" nowrap> <em>addr</em> = NULL</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [private]</code></td>
+ </tr>
+
+ </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="a06641.html#l00115">115</a> of file <a class="el" href="a06641.html">udp_sim_sock.cpp</a>.
+<p>
+References <a class="el" href="a06641.html#l00098">_OutLag</a>, <a class="el" href="a06641.html#l00101">_OutPacketDisordering</a>, <a class="el" href="a06641.html#l00100">_OutPacketDuplication</a>, <a class="el" href="a06641.html#l00099">_OutPacketLoss</a>, <a class="el" href="a05646.html#l01127">addr</a>, <a class="el" href="a05646.html#l00649">buffer</a>, <a class="el" href="a06641.html#l00092">NLNET::BufferizedOutPackets</a>, <a class="el" href="a05646.html#l00235">len</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a06641.html#l00107">sendUDPNow()</a>, <a class="el" href="a05981.html#l00099">sint32</a>, <a class="el" href="a05646.html#l00985">t</a>, <a class="el" href="a06641.html#l00083">NLNET::CBufferizedOutPacket::Time</a>, <a class="el" href="a06553.html#l00047">NLMISC::TTime</a>, <a class="el" href="a06642.html#l00069">UdpSock</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="a06641.html#l00295">send()</a>, and <a class="el" href="a06641.html#l00301">sendTo()</a>.
+<p>
+<div class="fragment"><pre>00116 {
+00117 <a class="code" href="a04199.html#a6">nlassert</a> (buffer != NULL);
+00118 <a class="code" href="a04199.html#a6">nlassert</a> (len &gt; 0);
+00119
+00120 <span class="keywordflow">if</span> ((<span class="keywordtype">float</span>)rand()/(<span class="keywordtype">float</span>)(RAND_MAX)*100.0f &gt;= <a class="code" href="a03627.html#NLNET_1_1CUdpSimSockv5">_OutPacketLoss</a>)
+00121 {
+00122 <a class="code" href="a04558.html#a10">sint32</a> lag = <a class="code" href="a03627.html#NLNET_1_1CUdpSimSockv2">_OutLag</a> <span class="comment">/*+ (rand()%40) - 20*/</span>;<span class="comment">// void disordering</span>
+00123
+00124 <span class="keywordflow">if</span> (lag &gt; 100)
+00125 {
+00126 <span class="comment">// send the packet later</span>
+00127
+00128 CBufferizedOutPacket *bp = <span class="keyword">new</span> CBufferizedOutPacket (&amp;UdpSock, buffer, len, lag, addr);
+00129
+00130 <span class="comment">// duplicate the packet</span>
+00131 <span class="keywordflow">if</span> ((<span class="keywordtype">float</span>)rand()/(<span class="keywordtype">float</span>)(RAND_MAX)*100.0f &lt; <a class="code" href="a03627.html#NLNET_1_1CUdpSimSockv3">_OutPacketDisordering</a> &amp;&amp; <a class="code" href="a05379.html#a58">BufferizedOutPackets</a>.size() &gt; 0)
+00132 {
+00133 CBufferizedOutPacket *bp2 = <a class="code" href="a05379.html#a58">BufferizedOutPackets</a>.back();
+00134
+00135 <span class="comment">// exange the time</span>
+00136 <a class="code" href="a05378.html#a242">TTime</a> <a class="code" href="a04223.html#a627">t</a> = bp-&gt;Time;
+00137 bp-&gt;Time = bp2-&gt;Time;
+00138 bp2-&gt;Time = <a class="code" href="a04223.html#a627">t</a>;
+00139
+00140 <span class="comment">// exange packet in the buffer</span>
+00141 <a class="code" href="a05379.html#a58">BufferizedOutPackets</a>.back() = bp;
+00142 bp = bp2;
+00143 }
+00144
+00145 <a class="code" href="a05379.html#a58">BufferizedOutPackets</a>.push (bp);
+00146
+00147 <span class="comment">// duplicate the packet</span>
+00148 <span class="keywordflow">if</span> ((<span class="keywordtype">float</span>)rand()/(<span class="keywordtype">float</span>)(RAND_MAX)*100.0f &lt; <a class="code" href="a03627.html#NLNET_1_1CUdpSimSockv4">_OutPacketDuplication</a>)
+00149 {
+00150 CBufferizedOutPacket *bp = <span class="keyword">new</span> CBufferizedOutPacket (&amp;UdpSock, buffer, len, lag, addr);
+00151 <a class="code" href="a05379.html#a58">BufferizedOutPackets</a>.push (bp);
+00152 }
+00153 }
+00154 <span class="keywordflow">else</span>
+00155 {
+00156 <span class="comment">// send the packet NOW</span>
+00157
+00158 <a class="code" href="a03627.html#NLNET_1_1CUdpSimSockd1">sendUDPNow</a> (buffer, len, addr);
+00159
+00160 <span class="comment">// duplicate the packet</span>
+00161 <span class="keywordflow">if</span> ((<span class="keywordtype">float</span>)rand()/(<span class="keywordtype">float</span>)(RAND_MAX)*100.0f &lt; <a class="code" href="a03627.html#NLNET_1_1CUdpSimSockv4">_OutPacketDuplication</a>)
+00162 {
+00163 <a class="code" href="a03627.html#NLNET_1_1CUdpSimSockd1">sendUDPNow</a> (buffer, len, addr);
+00164 }
+00165 }
+00166 }
+00167 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLNET_1_1CUdpSimSockd1" doxytag="NLNET::CUdpSimSock::sendUDPNow" ></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::CUdpSimSock::sendUDPNow </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="a04558.html#a7">uint8</a> *&nbsp;</td>
+ <td class="mdname" nowrap> <em>buffer</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>len</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const <a class="el" href="a02665.html">CInetAddress</a> *&nbsp;</td>
+ <td class="mdname" nowrap> <em>addr</em> = NULL</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [private]</code></td>
+ </tr>
+
+ </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="a06641.html#l00107">107</a> of file <a class="el" href="a06641.html">udp_sim_sock.cpp</a>.
+<p>
+References <a class="el" href="a05646.html#l01127">addr</a>, <a class="el" href="a05646.html#l00649">buffer</a>, <a class="el" href="a05646.html#l00235">len</a>, <a class="el" href="a02444.html#NLNET_1_1CUdpSockz2107_0">NLNET::CSock::send()</a>, <a class="el" href="a06643.html#l00115">NLNET::CUdpSock::sendTo()</a>, <a class="el" href="a06642.html#l00069">UdpSock</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="a06641.html#l00115">sendUDP()</a>, and <a class="el" href="a06641.html#l00171">updateBufferizedPackets()</a>.
+<p>
+<div class="fragment"><pre>00108 {
+00109 <span class="keywordflow">if</span> (<a class="code" href="a04223.html#a657">addr</a> == NULL)
+00110 <a class="code" href="a03627.html#NLNET_1_1CUdpSimSocko0">UdpSock</a>.send (buffer, len);
+00111 <span class="keywordflow">else</span>
+00112 <a class="code" href="a03627.html#NLNET_1_1CUdpSimSocko0">UdpSock</a>.sendTo (buffer, len, *addr);
+00113 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLNET_1_1CUdpSimSocke0" doxytag="NLNET::CUdpSimSock::setSimValues" ></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::CUdpSimSock::setSimValues </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a02401.html">NLMISC::CConfigFile</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>cf</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [static]</code></td>
+ </tr>
+
+ </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="a06641.html#l00202">202</a> of file <a class="el" href="a06641.html">udp_sim_sock.cpp</a>.
+<p>
+References <a class="el" href="a06641.html#l00191">cbSimVar</a>, <a class="el" href="a06641.html#l00191">NLNET::cbSimVar()</a>, <a class="el" href="a05597.html#l00431">NLMISC::CConfigFile::getVar()</a>, <a class="el" href="a05622.html#l00135">nlwarning</a>, and <a class="el" href="a05597.html#l00647">NLMISC::CConfigFile::setCallback()</a>.
+<p>
+<div class="fragment"><pre>00203 {
+00204 cf.<a class="code" href="a02401.html#NLMISC_1_1CConfigFilea17">setCallback</a> (<span class="stringliteral">"SimInLag"</span>, cbSimVar);
+00205 cf.<a class="code" href="a02401.html#NLMISC_1_1CConfigFilea17">setCallback</a> (<span class="stringliteral">"SimInPacketLost"</span>, cbSimVar);
+00206 cf.<a class="code" href="a02401.html#NLMISC_1_1CConfigFilea17">setCallback</a> (<span class="stringliteral">"SimOutLag"</span>, cbSimVar);
+00207 cf.<a class="code" href="a02401.html#NLMISC_1_1CConfigFilea17">setCallback</a> (<span class="stringliteral">"SimOutPacketLost"</span>, cbSimVar);
+00208 cf.<a class="code" href="a02401.html#NLMISC_1_1CConfigFilea17">setCallback</a> (<span class="stringliteral">"SimOutPacketDuplication"</span>, cbSimVar);
+00209 cf.<a class="code" href="a02401.html#NLMISC_1_1CConfigFilea17">setCallback</a> (<span class="stringliteral">"SimOutPacketDisordering"</span>, cbSimVar);
+00210
+00211 <span class="keywordflow">try</span>
+00212 {
+00213 <a class="code" href="a03627.html#NLNET_1_1CUdpSimSockn0">cbSimVar</a> (cf.<a class="code" href="a02401.html#NLMISC_1_1CConfigFilea9">getVar</a>(<span class="stringliteral">"SimInLag"</span>));
+00214 <a class="code" href="a03627.html#NLNET_1_1CUdpSimSockn0">cbSimVar</a> (cf.<a class="code" href="a02401.html#NLMISC_1_1CConfigFilea9">getVar</a>(<span class="stringliteral">"SimInPacketLost"</span>));
+00215 <a class="code" href="a03627.html#NLNET_1_1CUdpSimSockn0">cbSimVar</a> (cf.<a class="code" href="a02401.html#NLMISC_1_1CConfigFilea9">getVar</a>(<span class="stringliteral">"SimOutLag"</span>));
+00216 <a class="code" href="a03627.html#NLNET_1_1CUdpSimSockn0">cbSimVar</a> (cf.<a class="code" href="a02401.html#NLMISC_1_1CConfigFilea9">getVar</a>(<span class="stringliteral">"SimOutPacketLost"</span>));
+00217 <a class="code" href="a03627.html#NLNET_1_1CUdpSimSockn0">cbSimVar</a> (cf.<a class="code" href="a02401.html#NLMISC_1_1CConfigFilea9">getVar</a>(<span class="stringliteral">"SimOutPacketDuplication"</span>));
+00218 <a class="code" href="a03627.html#NLNET_1_1CUdpSimSockn0">cbSimVar</a> (cf.<a class="code" href="a02401.html#NLMISC_1_1CConfigFilea9">getVar</a>(<span class="stringliteral">"SimOutPacketDisordering"</span>));
+00219 }
+00220 <span class="keywordflow">catch</span> (<a class="code" href="a02482.html">Exception</a> &amp;e)
+00221 {
+00222 <a class="code" href="a04199.html#a2">nlwarning</a> (<span class="stringliteral">"LNETL0: Problem during getting Sim values from config file: %s"</span>, e.what());
+00223 }
+00224 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLNET_1_1CUdpSimSockd2" doxytag="NLNET::CUdpSimSock::updateBufferizedPackets" ></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::CUdpSimSock::updateBufferizedPackets </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> [private]</code></td>
+ </tr>
+
+ </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="a06641.html#l00171">171</a> of file <a class="el" href="a06641.html">udp_sim_sock.cpp</a>.
+<p>
+References <a class="el" href="a06641.html#l00084">NLNET::CBufferizedOutPacket::Addr</a>, <a class="el" href="a06641.html#l00092">NLNET::BufferizedOutPackets</a>, <a class="el" href="a06641.html#l00081">NLNET::CBufferizedOutPacket::Packet</a>, <a class="el" href="a06641.html#l00082">NLNET::CBufferizedOutPacket::PacketSize</a>, <a class="el" href="a06641.html#l00107">sendUDPNow()</a>, <a class="el" href="a06641.html#l00083">NLNET::CBufferizedOutPacket::Time</a>, and <a class="el" href="a06553.html#l00047">NLMISC::TTime</a>.
+<p>
+Referenced by <a class="el" href="a06641.html#l00238">dataAvailable()</a>.
+<p>
+<div class="fragment"><pre>00172 {
+00173 <a class="code" href="a05378.html#a242">TTime</a> ct = CTime::getLocalTime ();
+00174 <span class="keywordflow">while</span> (!<a class="code" href="a05379.html#a58">BufferizedOutPackets</a>.empty())
+00175 {
+00176 CBufferizedOutPacket *bp = <a class="code" href="a05379.html#a58">BufferizedOutPackets</a>.front ();
+00177 <span class="keywordflow">if</span> (bp-&gt;Time &lt;= ct)
+00178 {
+00179 <span class="comment">// time to send the message</span>
+00180 <a class="code" href="a03627.html#NLNET_1_1CUdpSimSockd1">sendUDPNow</a> (bp-&gt;Packet, bp-&gt;PacketSize, bp-&gt;Addr);
+00181 <span class="keyword">delete</span> bp;
+00182 <a class="code" href="a05379.html#a58">BufferizedOutPackets</a>.pop ();
+00183 }
+00184 <span class="keywordflow">else</span>
+00185 {
+00186 <span class="keywordflow">break</span>;
+00187 }
+00188 }
+00189 }
+</pre></div> </td>
+ </tr>
+</table>
+<hr><h2>Friends And Related Function Documentation</h2>
+<a class="anchor" name="NLNET_1_1CUdpSimSockn0" doxytag="NLNET::CUdpSimSock::cbSimVar" ></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 cbSimVar </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a02402.html">NLMISC::CConfigFile::CVar</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>var</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [friend]</code></td>
+ </tr>
+
+ </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="a06641.html#l00191">191</a> of file <a class="el" href="a06641.html">udp_sim_sock.cpp</a>.
+<p>
+Referenced by <a class="el" href="a06641.html#l00202">setSimValues()</a>.
+<p>
+<div class="fragment"><pre>00192 {
+00193 <span class="keywordflow">if</span> (var.<a class="code" href="a02402.html#NLMISC_1_1CConfigFile_1_1CVarz1937_4">Name</a> == <span class="stringliteral">"SimInLag"</span>) CUdpSimSock::_InLag = var.<a class="code" href="a02402.html#NLMISC_1_1CConfigFile_1_1CVarz1933_2">asInt</a> ();
+00194 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (var.<a class="code" href="a02402.html#NLMISC_1_1CConfigFile_1_1CVarz1937_4">Name</a> == <span class="stringliteral">"SimInPacketLost"</span>) CUdpSimSock::_InPacketLoss = var.<a class="code" href="a02402.html#NLMISC_1_1CConfigFile_1_1CVarz1933_2">asInt</a> ();
+00195 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (var.<a class="code" href="a02402.html#NLMISC_1_1CConfigFile_1_1CVarz1937_4">Name</a> == <span class="stringliteral">"SimOutLag"</span>) CUdpSimSock::_OutLag = var.<a class="code" href="a02402.html#NLMISC_1_1CConfigFile_1_1CVarz1933_2">asInt</a> ();
+00196 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (var.<a class="code" href="a02402.html#NLMISC_1_1CConfigFile_1_1CVarz1937_4">Name</a> == <span class="stringliteral">"SimOutPacketLost"</span>) CUdpSimSock::_OutPacketLoss = var.<a class="code" href="a02402.html#NLMISC_1_1CConfigFile_1_1CVarz1933_2">asInt</a> ();
+00197 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (var.<a class="code" href="a02402.html#NLMISC_1_1CConfigFile_1_1CVarz1937_4">Name</a> == <span class="stringliteral">"SimOutPacketDuplication"</span>) CUdpSimSock::_OutPacketDuplication = var.<a class="code" href="a02402.html#NLMISC_1_1CConfigFile_1_1CVarz1933_2">asInt</a> ();
+00198 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (var.<a class="code" href="a02402.html#NLMISC_1_1CConfigFile_1_1CVarz1937_4">Name</a> == <span class="stringliteral">"SimOutPacketDisordering"</span>) CUdpSimSock::_OutPacketDisordering = var.<a class="code" href="a02402.html#NLMISC_1_1CConfigFile_1_1CVarz1933_2">asInt</a> ();
+00199 <span class="keywordflow">else</span> <a class="code" href="a04199.html#a12">nlstop</a>;
+00200 }
+</pre></div> </td>
+ </tr>
+</table>
+<hr><h2>Field Documentation</h2>
+<a class="anchor" name="NLNET_1_1CUdpSimSockv0" doxytag="NLNET::CUdpSimSock::_InLag" ></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="a03627.html#NLNET_1_1CUdpSimSockv0">NLNET::CUdpSimSock::_InLag</a> = 0<code> [static, 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="a06641.html#l00095">95</a> of file <a class="el" href="a06641.html">udp_sim_sock.cpp</a>.
+<p>
+Referenced by <a class="el" href="a06641.html#l00238">dataAvailable()</a>, and <a class="el" href="a06641.html#l00269">receive()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NLNET_1_1CUdpSimSockv1" doxytag="NLNET::CUdpSimSock::_InPacketLoss" ></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#a7">uint8</a> <a class="el" href="a03627.html#NLNET_1_1CUdpSimSockv1">NLNET::CUdpSimSock::_InPacketLoss</a> = 0<code> [static, 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="a06641.html#l00096">96</a> of file <a class="el" href="a06641.html">udp_sim_sock.cpp</a>.
+<p>
+Referenced by <a class="el" href="a06641.html#l00238">dataAvailable()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NLNET_1_1CUdpSimSockv2" doxytag="NLNET::CUdpSimSock::_OutLag" ></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="a03627.html#NLNET_1_1CUdpSimSockv2">NLNET::CUdpSimSock::_OutLag</a> = 0<code> [static, 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="a06641.html#l00098">98</a> of file <a class="el" href="a06641.html">udp_sim_sock.cpp</a>.
+<p>
+Referenced by <a class="el" href="a06641.html#l00115">sendUDP()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NLNET_1_1CUdpSimSockv3" doxytag="NLNET::CUdpSimSock::_OutPacketDisordering" ></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#a7">uint8</a> <a class="el" href="a03627.html#NLNET_1_1CUdpSimSockv3">NLNET::CUdpSimSock::_OutPacketDisordering</a> = 0<code> [static, 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="a06641.html#l00101">101</a> of file <a class="el" href="a06641.html">udp_sim_sock.cpp</a>.
+<p>
+Referenced by <a class="el" href="a06641.html#l00115">sendUDP()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NLNET_1_1CUdpSimSockv4" doxytag="NLNET::CUdpSimSock::_OutPacketDuplication" ></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#a7">uint8</a> <a class="el" href="a03627.html#NLNET_1_1CUdpSimSockv4">NLNET::CUdpSimSock::_OutPacketDuplication</a> = 0<code> [static, 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="a06641.html#l00100">100</a> of file <a class="el" href="a06641.html">udp_sim_sock.cpp</a>.
+<p>
+Referenced by <a class="el" href="a06641.html#l00115">sendUDP()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NLNET_1_1CUdpSimSockv5" doxytag="NLNET::CUdpSimSock::_OutPacketLoss" ></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#a7">uint8</a> <a class="el" href="a03627.html#NLNET_1_1CUdpSimSockv5">NLNET::CUdpSimSock::_OutPacketLoss</a> = 0<code> [static, 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="a06641.html#l00099">99</a> of file <a class="el" href="a06641.html">udp_sim_sock.cpp</a>.
+<p>
+Referenced by <a class="el" href="a06641.html#l00115">sendUDP()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NLNET_1_1CUdpSimSocko0" doxytag="NLNET::CUdpSimSock::UdpSock" ></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="a03628.html">CUdpSock</a> <a class="el" href="a03627.html#NLNET_1_1CUdpSimSocko0">NLNET::CUdpSimSock::UdpSock</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="a06642.html#l00069">69</a> of file <a class="el" href="a06642.html">udp_sim_sock.h</a>.
+<p>
+Referenced by <a class="el" href="a06641.html#l00231">close()</a>, <a class="el" href="a06641.html#l00226">connect()</a>, <a class="el" href="a06641.html#l00306">connected()</a>, <a class="el" href="a06642.html#l00053">CUdpSimSock()</a>, <a class="el" href="a06641.html#l00238">dataAvailable()</a>, <a class="el" href="a06642.html#l00066">localAddr()</a>, <a class="el" href="a06641.html#l00269">receive()</a>, <a class="el" href="a06641.html#l00115">sendUDP()</a>, and <a class="el" href="a06641.html#l00107">sendUDPNow()</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="a06642.html">udp_sim_sock.h</a><li><a class="el" href="a06641.html">udp_sim_sock.cpp</a></ul>
+<hr size="1"><address style="align: right;"><small>Generated on Tue Mar 16 14:05:27 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>