This commit is contained in:
2025-11-24 14:19:51 +05:30
commit f5c1412b28
6734 changed files with 1527575 additions and 0 deletions

View File

@ -0,0 +1,21 @@
var _packet_priority_8h =
[
[ "PacketPriority", "d7/d03/_packet_priority_8h.xhtml#a659378374e516180f93640c79f59705c", [
[ "IMMEDIATE_PRIORITY", "d7/d03/_packet_priority_8h.xhtml#a659378374e516180f93640c79f59705ca416b3a41b78a58a7a5a6ee24d628e456", null ],
[ "HIGH_PRIORITY", "d7/d03/_packet_priority_8h.xhtml#a659378374e516180f93640c79f59705cacb1785f11dd02aa7f5d164fb314c594e", null ],
[ "MEDIUM_PRIORITY", "d7/d03/_packet_priority_8h.xhtml#a659378374e516180f93640c79f59705ca06b314d863076d54942e065d90c179c4", null ],
[ "LOW_PRIORITY", "d7/d03/_packet_priority_8h.xhtml#a659378374e516180f93640c79f59705cadb8ee22a232a2787f32ba28da55c43c1", null ],
[ "NUMBER_OF_PRIORITIES", "d7/d03/_packet_priority_8h.xhtml#a659378374e516180f93640c79f59705ca619c0d06913ad9d663b086aca30f7cdc", null ]
] ],
[ "PacketReliability", "d7/d03/_packet_priority_8h.xhtml#ae41fa01235e99dced384d137fa874a7e", [
[ "UNRELIABLE", "d7/d03/_packet_priority_8h.xhtml#ae41fa01235e99dced384d137fa874a7eaeb409c363ddaeb3201fd95e9bee56696", null ],
[ "UNRELIABLE_SEQUENCED", "d7/d03/_packet_priority_8h.xhtml#ae41fa01235e99dced384d137fa874a7eab6a8eb609ec1adbd5af421cf2acbedf5", null ],
[ "RELIABLE", "d7/d03/_packet_priority_8h.xhtml#ae41fa01235e99dced384d137fa874a7eabc6ba98e9404532481e43eea39731929", null ],
[ "RELIABLE_ORDERED", "d7/d03/_packet_priority_8h.xhtml#ae41fa01235e99dced384d137fa874a7eaff2d39b163bcf3e142744962bfb0849f", null ],
[ "RELIABLE_SEQUENCED", "d7/d03/_packet_priority_8h.xhtml#ae41fa01235e99dced384d137fa874a7eae1fc3633b353730ff448e5b6675f7085", null ],
[ "UNRELIABLE_WITH_ACK_RECEIPT", "d7/d03/_packet_priority_8h.xhtml#ae41fa01235e99dced384d137fa874a7ea4a623962051043733acde3e595e1cce0", null ],
[ "RELIABLE_WITH_ACK_RECEIPT", "d7/d03/_packet_priority_8h.xhtml#ae41fa01235e99dced384d137fa874a7eacd15d4c4a2cea8b4c4459f1d3c09d95f", null ],
[ "RELIABLE_ORDERED_WITH_ACK_RECEIPT", "d7/d03/_packet_priority_8h.xhtml#ae41fa01235e99dced384d137fa874a7eae94727e3abc9217e16c1c19f1e8f850a", null ],
[ "NUMBER_OF_RELIABILITIES", "d7/d03/_packet_priority_8h.xhtml#ae41fa01235e99dced384d137fa874a7eaf49e4584ca35290efd854922f4cad6be", null ]
] ]
];

View File

@ -0,0 +1,249 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>SLikeNet: Source/include/slikenet/PacketPriority.h File Reference</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="../../index.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li class="current"><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../files.xhtml"><span>File&#160;List</span></a></li>
<li><a href="../../globals.xhtml"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('d7/d03/_packet_priority_8h.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#enum-members">Enumerations</a> </div>
<div class="headertitle">
<div class="title">PacketPriority.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>This file contains enumerations for packet priority and reliability enumerations.
<a href="#details">More...</a></p>
<p><a href="../../d7/d03/_packet_priority_8h_source.xhtml">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:a659378374e516180f93640c79f59705c"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d03/_packet_priority_8h.xhtml#a659378374e516180f93640c79f59705c">PacketPriority</a> { <br/>
&#160;&#160;<a class="el" href="../../d7/d03/_packet_priority_8h.xhtml#a659378374e516180f93640c79f59705ca416b3a41b78a58a7a5a6ee24d628e456">IMMEDIATE_PRIORITY</a>,
<a class="el" href="../../d7/d03/_packet_priority_8h.xhtml#a659378374e516180f93640c79f59705cacb1785f11dd02aa7f5d164fb314c594e">HIGH_PRIORITY</a>,
<a class="el" href="../../d7/d03/_packet_priority_8h.xhtml#a659378374e516180f93640c79f59705ca06b314d863076d54942e065d90c179c4">MEDIUM_PRIORITY</a>,
<a class="el" href="../../d7/d03/_packet_priority_8h.xhtml#a659378374e516180f93640c79f59705cadb8ee22a232a2787f32ba28da55c43c1">LOW_PRIORITY</a>,
<br/>
&#160;&#160;<a class="el" href="../../d7/d03/_packet_priority_8h.xhtml#a659378374e516180f93640c79f59705ca619c0d06913ad9d663b086aca30f7cdc">NUMBER_OF_PRIORITIES</a>
<br/>
}</td></tr>
<tr class="memdesc:a659378374e516180f93640c79f59705c"><td class="mdescLeft">&#160;</td><td class="mdescRight">These enumerations are used to describe when packets are delivered. <a href="../../d7/d03/_packet_priority_8h.xhtml#a659378374e516180f93640c79f59705c">More...</a><br/></td></tr>
<tr class="separator:a659378374e516180f93640c79f59705c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae41fa01235e99dced384d137fa874a7e"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d03/_packet_priority_8h.xhtml#ae41fa01235e99dced384d137fa874a7e">PacketReliability</a> { <br/>
&#160;&#160;<a class="el" href="../../d7/d03/_packet_priority_8h.xhtml#ae41fa01235e99dced384d137fa874a7eaeb409c363ddaeb3201fd95e9bee56696">UNRELIABLE</a>,
<a class="el" href="../../d7/d03/_packet_priority_8h.xhtml#ae41fa01235e99dced384d137fa874a7eab6a8eb609ec1adbd5af421cf2acbedf5">UNRELIABLE_SEQUENCED</a>,
<a class="el" href="../../d7/d03/_packet_priority_8h.xhtml#ae41fa01235e99dced384d137fa874a7eabc6ba98e9404532481e43eea39731929">RELIABLE</a>,
<a class="el" href="../../d7/d03/_packet_priority_8h.xhtml#ae41fa01235e99dced384d137fa874a7eaff2d39b163bcf3e142744962bfb0849f">RELIABLE_ORDERED</a>,
<br/>
&#160;&#160;<a class="el" href="../../d7/d03/_packet_priority_8h.xhtml#ae41fa01235e99dced384d137fa874a7eae1fc3633b353730ff448e5b6675f7085">RELIABLE_SEQUENCED</a>,
<a class="el" href="../../d7/d03/_packet_priority_8h.xhtml#ae41fa01235e99dced384d137fa874a7ea4a623962051043733acde3e595e1cce0">UNRELIABLE_WITH_ACK_RECEIPT</a>,
<a class="el" href="../../d7/d03/_packet_priority_8h.xhtml#ae41fa01235e99dced384d137fa874a7eacd15d4c4a2cea8b4c4459f1d3c09d95f">RELIABLE_WITH_ACK_RECEIPT</a>,
<a class="el" href="../../d7/d03/_packet_priority_8h.xhtml#ae41fa01235e99dced384d137fa874a7eae94727e3abc9217e16c1c19f1e8f850a">RELIABLE_ORDERED_WITH_ACK_RECEIPT</a>,
<br/>
&#160;&#160;<a class="el" href="../../d7/d03/_packet_priority_8h.xhtml#ae41fa01235e99dced384d137fa874a7eaf49e4584ca35290efd854922f4cad6be">NUMBER_OF_RELIABILITIES</a>
<br/>
}</td></tr>
<tr class="separator:ae41fa01235e99dced384d137fa874a7e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>This file contains enumerations for packet priority and reliability enumerations. </p>
<p>Definition in file <a class="el" href="../../d7/d03/_packet_priority_8h_source.xhtml">PacketPriority.h</a>.</p>
</div><h2 class="groupheader">Enumeration Type Documentation</h2>
<a class="anchor" id="a659378374e516180f93640c79f59705c"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="../../d7/d03/_packet_priority_8h.xhtml#a659378374e516180f93640c79f59705c">PacketPriority</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>These enumerations are used to describe when packets are delivered. </p>
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="a659378374e516180f93640c79f59705ca416b3a41b78a58a7a5a6ee24d628e456"></a>IMMEDIATE_PRIORITY</em>&nbsp;</td><td>
<p>The highest possible priority. These message trigger sends immediately, and are generally not buffered or aggregated into a single datagram. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a659378374e516180f93640c79f59705cacb1785f11dd02aa7f5d164fb314c594e"></a>HIGH_PRIORITY</em>&nbsp;</td><td>
<p>For every 2 IMMEDIATE_PRIORITY messages, 1 HIGH_PRIORITY will be sent. Messages at this priority and lower are buffered to be sent in groups at 10 millisecond intervals to reduce UDP overhead and better measure congestion control. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a659378374e516180f93640c79f59705ca06b314d863076d54942e065d90c179c4"></a>MEDIUM_PRIORITY</em>&nbsp;</td><td>
<p>For every 2 HIGH_PRIORITY messages, 1 MEDIUM_PRIORITY will be sent. Messages at this priority and lower are buffered to be sent in groups at 10 millisecond intervals to reduce UDP overhead and better measure congestion control. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a659378374e516180f93640c79f59705cadb8ee22a232a2787f32ba28da55c43c1"></a>LOW_PRIORITY</em>&nbsp;</td><td>
<p>For every 2 MEDIUM_PRIORITY messages, 1 LOW_PRIORITY will be sent. Messages at this priority and lower are buffered to be sent in groups at 10 millisecond intervals to reduce UDP overhead and better measure congestion control. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a659378374e516180f93640c79f59705ca619c0d06913ad9d663b086aca30f7cdc"></a>NUMBER_OF_PRIORITIES</em>&nbsp;</td><td>
</td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="../../d7/d03/_packet_priority_8h_source.xhtml#l00021">21</a> of file <a class="el" href="../../d7/d03/_packet_priority_8h_source.xhtml">PacketPriority.h</a>.</p>
</div>
</div>
<a class="anchor" id="ae41fa01235e99dced384d137fa874a7e"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="../../d7/d03/_packet_priority_8h.xhtml#ae41fa01235e99dced384d137fa874a7e">PacketReliability</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>These enumerations are used to describe how packets are delivered. </p>
<dl class="section note"><dt>Note</dt><dd>Note to self: I write this with 3 bits in the stream. If I add more remember to change that </dd>
<dd>
In ReliabilityLayer::WriteToBitStreamFromInternalPacket I assume there are 5 major types </dd>
<dd>
Do not reorder, I check on &gt;= UNRELIABLE_WITH_ACK_RECEIPT </dd></dl>
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="ae41fa01235e99dced384d137fa874a7eaeb409c363ddaeb3201fd95e9bee56696"></a>UNRELIABLE</em>&nbsp;</td><td>
<p>Same as regular UDP, except that it will also discard duplicate datagrams. RakNet adds (6 to 17) + 21 bits of overhead, 16 of which is used to detect duplicate packets and 6 to 17 of which is used for message length. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ae41fa01235e99dced384d137fa874a7eab6a8eb609ec1adbd5af421cf2acbedf5"></a>UNRELIABLE_SEQUENCED</em>&nbsp;</td><td>
<p>Regular UDP with a sequence counter. Out of order messages will be discarded. Sequenced and ordered messages sent on the same channel will arrive in the order sent. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ae41fa01235e99dced384d137fa874a7eabc6ba98e9404532481e43eea39731929"></a>RELIABLE</em>&nbsp;</td><td>
<p>The message is sent reliably, but not necessarily in any order. Same overhead as UNRELIABLE. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ae41fa01235e99dced384d137fa874a7eaff2d39b163bcf3e142744962bfb0849f"></a>RELIABLE_ORDERED</em>&nbsp;</td><td>
<p>This message is reliable and will arrive in the order you sent it. Messages will be delayed while waiting for out of order messages. Same overhead as UNRELIABLE_SEQUENCED. Sequenced and ordered messages sent on the same channel will arrive in the order sent. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ae41fa01235e99dced384d137fa874a7eae1fc3633b353730ff448e5b6675f7085"></a>RELIABLE_SEQUENCED</em>&nbsp;</td><td>
<p>This message is reliable and will arrive in the sequence you sent it. Out or order messages will be dropped. Same overhead as UNRELIABLE_SEQUENCED. Sequenced and ordered messages sent on the same channel will arrive in the order sent. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ae41fa01235e99dced384d137fa874a7ea4a623962051043733acde3e595e1cce0"></a>UNRELIABLE_WITH_ACK_RECEIPT</em>&nbsp;</td><td>
<p>Same as UNRELIABLE, however the user will get either ID_SND_RECEIPT_ACKED or ID_SND_RECEIPT_LOSS based on the result of sending this message when calling RakPeerInterface::Receive(). Bytes 1-4 will contain the number returned from the Send() function. On disconnect or shutdown, all messages not previously acked should be considered lost. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ae41fa01235e99dced384d137fa874a7eacd15d4c4a2cea8b4c4459f1d3c09d95f"></a>RELIABLE_WITH_ACK_RECEIPT</em>&nbsp;</td><td>
<p>Same as RELIABLE. The user will also get ID_SND_RECEIPT_ACKED after the message is delivered when calling RakPeerInterface::Receive(). ID_SND_RECEIPT_ACKED is returned when the message arrives, not necessarily the order when it was sent. Bytes 1-4 will contain the number returned from the Send() function. On disconnect or shutdown, all messages not previously acked should be considered lost. This does not return ID_SND_RECEIPT_LOSS. </p>
<p>Same as UNRELIABLE_SEQUENCED, however the user will get either ID_SND_RECEIPT_ACKED or ID_SND_RECEIPT_LOSS based on the result of sending this message when calling RakPeerInterface::Receive(). Bytes 1-4 will contain the number returned from the Send() function. On disconnect or shutdown, all messages not previously acked should be considered lost. 05/04/10 You can't have sequenced and ack receipts, because you don't know if the other system discarded the message, meaning you don't know if the message was processed </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ae41fa01235e99dced384d137fa874a7eae94727e3abc9217e16c1c19f1e8f850a"></a>RELIABLE_ORDERED_WITH_ACK_RECEIPT</em>&nbsp;</td><td>
<p>Same as RELIABLE_ORDERED_ACK_RECEIPT. The user will also get ID_SND_RECEIPT_ACKED after the message is delivered when calling RakPeerInterface::Receive(). ID_SND_RECEIPT_ACKED is returned when the message arrives, not necessarily the order when it was sent. Bytes 1-4 will contain the number returned from the Send() function. On disconnect or shutdown, all messages not previously acked should be considered lost. This does not return ID_SND_RECEIPT_LOSS. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ae41fa01235e99dced384d137fa874a7eaf49e4584ca35290efd854922f4cad6be"></a>NUMBER_OF_RELIABILITIES</em>&nbsp;</td><td>
<p>Same as RELIABLE_SEQUENCED. The user will also get ID_SND_RECEIPT_ACKED after the message is delivered when calling RakPeerInterface::Receive(). Bytes 1-4 will contain the number returned from the Send() function. On disconnect or shutdown, all messages not previously acked should be considered lost. 05/04/10 You can't have sequenced and ack receipts, because you don't know if the other system discarded the message, meaning you don't know if the message was processed </p>
</td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="../../d7/d03/_packet_priority_8h_source.xhtml#l00046">46</a> of file <a class="el" href="../../d7/d03/_packet_priority_8h_source.xhtml">PacketPriority.h</a>.</p>
</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_74389ed8173ad57b461b9d623a1f3867.xhtml">Source</a></li><li class="navelem"><a class="el" href="../../dir_bbb90e3ef9167a594ae33323139a2595.xhtml">include</a></li><li class="navelem"><a class="el" href="../../dir_88467e66686deb9d3756fe4fc298e321.xhtml">slikenet</a></li><li class="navelem"><a class="el" href="../../d7/d03/_packet_priority_8h.xhtml">PacketPriority.h</a></li>
<li class="footer">Generated on Wed Aug 14 2019 22:09:48 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,176 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>SLikeNet: Source/include/slikenet/PacketPriority.h Source File</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="../../index.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li class="current"><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../files.xhtml"><span>File&#160;List</span></a></li>
<li><a href="../../globals.xhtml"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('d7/d03/_packet_priority_8h_source.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">PacketPriority.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="../../d7/d03/_packet_priority_8h.xhtml">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> * Copyright (c) 2014, Oculus VR, Inc.</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> * All rights reserved.</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> * This source code is licensed under the BSD-style license found in the</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> * RakNet License.txt file in the licenses directory of this source tree. An additional grant </span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> * of patent rights can be found in the RakNet Patents.txt file in the same directory.</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;</div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;</div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;</div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;</div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="preprocessor">#ifndef __PACKET_PRIORITY_H</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define __PACKET_PRIORITY_H </span></div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00021"></a><span class="lineno"><a class="code" href="../../d7/d03/_packet_priority_8h.xhtml#a659378374e516180f93640c79f59705c"> 21</a></span>&#160;<span class="keyword">enum</span> <a class="code" href="../../d7/d03/_packet_priority_8h.xhtml#a659378374e516180f93640c79f59705c" title="These enumerations are used to describe when packets are delivered.">PacketPriority</a></div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;{</div>
<div class="line"><a name="l00024"></a><span class="lineno"><a class="code" href="../../d7/d03/_packet_priority_8h.xhtml#a659378374e516180f93640c79f59705ca416b3a41b78a58a7a5a6ee24d628e456"> 24</a></span>&#160; <a class="code" href="../../d7/d03/_packet_priority_8h.xhtml#a659378374e516180f93640c79f59705ca416b3a41b78a58a7a5a6ee24d628e456" title="The highest possible priority. These message trigger sends immediately, and are generally not buffere...">IMMEDIATE_PRIORITY</a>,</div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;</div>
<div class="line"><a name="l00028"></a><span class="lineno"><a class="code" href="../../d7/d03/_packet_priority_8h.xhtml#a659378374e516180f93640c79f59705cacb1785f11dd02aa7f5d164fb314c594e"> 28</a></span>&#160; <a class="code" href="../../d7/d03/_packet_priority_8h.xhtml#a659378374e516180f93640c79f59705cacb1785f11dd02aa7f5d164fb314c594e">HIGH_PRIORITY</a>,</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;</div>
<div class="line"><a name="l00032"></a><span class="lineno"><a class="code" href="../../d7/d03/_packet_priority_8h.xhtml#a659378374e516180f93640c79f59705ca06b314d863076d54942e065d90c179c4"> 32</a></span>&#160; <a class="code" href="../../d7/d03/_packet_priority_8h.xhtml#a659378374e516180f93640c79f59705ca06b314d863076d54942e065d90c179c4">MEDIUM_PRIORITY</a>, </div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;</div>
<div class="line"><a name="l00036"></a><span class="lineno"><a class="code" href="../../d7/d03/_packet_priority_8h.xhtml#a659378374e516180f93640c79f59705cadb8ee22a232a2787f32ba28da55c43c1"> 36</a></span>&#160; <a class="code" href="../../d7/d03/_packet_priority_8h.xhtml#a659378374e516180f93640c79f59705cadb8ee22a232a2787f32ba28da55c43c1">LOW_PRIORITY</a>,</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;</div>
<div class="line"><a name="l00039"></a><span class="lineno"><a class="code" href="../../d7/d03/_packet_priority_8h.xhtml#a659378374e516180f93640c79f59705ca619c0d06913ad9d663b086aca30f7cdc"> 39</a></span>&#160; <a class="code" href="../../d7/d03/_packet_priority_8h.xhtml#a659378374e516180f93640c79f59705ca619c0d06913ad9d663b086aca30f7cdc">NUMBER_OF_PRIORITIES</a></div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;};</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;</div>
<div class="line"><a name="l00046"></a><span class="lineno"><a class="code" href="../../d7/d03/_packet_priority_8h.xhtml#ae41fa01235e99dced384d137fa874a7e"> 46</a></span>&#160;<span class="keyword">enum</span> <a class="code" href="../../d7/d03/_packet_priority_8h.xhtml#ae41fa01235e99dced384d137fa874a7e">PacketReliability</a></div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;{</div>
<div class="line"><a name="l00049"></a><span class="lineno"><a class="code" href="../../d7/d03/_packet_priority_8h.xhtml#ae41fa01235e99dced384d137fa874a7eaeb409c363ddaeb3201fd95e9bee56696"> 49</a></span>&#160; <a class="code" href="../../d7/d03/_packet_priority_8h.xhtml#ae41fa01235e99dced384d137fa874a7eaeb409c363ddaeb3201fd95e9bee56696" title="Same as regular UDP, except that it will also discard duplicate datagrams. RakNet adds (6 to 17) + 21...">UNRELIABLE</a>,</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;</div>
<div class="line"><a name="l00053"></a><span class="lineno"><a class="code" href="../../d7/d03/_packet_priority_8h.xhtml#ae41fa01235e99dced384d137fa874a7eab6a8eb609ec1adbd5af421cf2acbedf5"> 53</a></span>&#160; <a class="code" href="../../d7/d03/_packet_priority_8h.xhtml#ae41fa01235e99dced384d137fa874a7eab6a8eb609ec1adbd5af421cf2acbedf5">UNRELIABLE_SEQUENCED</a>,</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;</div>
<div class="line"><a name="l00056"></a><span class="lineno"><a class="code" href="../../d7/d03/_packet_priority_8h.xhtml#ae41fa01235e99dced384d137fa874a7eabc6ba98e9404532481e43eea39731929"> 56</a></span>&#160; <a class="code" href="../../d7/d03/_packet_priority_8h.xhtml#ae41fa01235e99dced384d137fa874a7eabc6ba98e9404532481e43eea39731929" title="The message is sent reliably, but not necessarily in any order. Same overhead as UNRELIABLE.">RELIABLE</a>,</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;</div>
<div class="line"><a name="l00060"></a><span class="lineno"><a class="code" href="../../d7/d03/_packet_priority_8h.xhtml#ae41fa01235e99dced384d137fa874a7eaff2d39b163bcf3e142744962bfb0849f"> 60</a></span>&#160; <a class="code" href="../../d7/d03/_packet_priority_8h.xhtml#ae41fa01235e99dced384d137fa874a7eaff2d39b163bcf3e142744962bfb0849f">RELIABLE_ORDERED</a>,</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;</div>
<div class="line"><a name="l00064"></a><span class="lineno"><a class="code" href="../../d7/d03/_packet_priority_8h.xhtml#ae41fa01235e99dced384d137fa874a7eae1fc3633b353730ff448e5b6675f7085"> 64</a></span>&#160; <a class="code" href="../../d7/d03/_packet_priority_8h.xhtml#ae41fa01235e99dced384d137fa874a7eae1fc3633b353730ff448e5b6675f7085">RELIABLE_SEQUENCED</a>,</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;</div>
<div class="line"><a name="l00067"></a><span class="lineno"><a class="code" href="../../d7/d03/_packet_priority_8h.xhtml#ae41fa01235e99dced384d137fa874a7ea4a623962051043733acde3e595e1cce0"> 67</a></span>&#160; <a class="code" href="../../d7/d03/_packet_priority_8h.xhtml#ae41fa01235e99dced384d137fa874a7ea4a623962051043733acde3e595e1cce0" title="Same as UNRELIABLE, however the user will get either ID_SND_RECEIPT_ACKED or ID_SND_RECEIPT_LOSS base...">UNRELIABLE_WITH_ACK_RECEIPT</a>,</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <span class="comment">// UNRELIABLE_SEQUENCED_WITH_ACK_RECEIPT,</span></div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;</div>
<div class="line"><a name="l00074"></a><span class="lineno"><a class="code" href="../../d7/d03/_packet_priority_8h.xhtml#ae41fa01235e99dced384d137fa874a7eacd15d4c4a2cea8b4c4459f1d3c09d95f"> 74</a></span>&#160; <a class="code" href="../../d7/d03/_packet_priority_8h.xhtml#ae41fa01235e99dced384d137fa874a7eacd15d4c4a2cea8b4c4459f1d3c09d95f" title="Same as RELIABLE. The user will also get ID_SND_RECEIPT_ACKED after the message is delivered when cal...">RELIABLE_WITH_ACK_RECEIPT</a>,</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;</div>
<div class="line"><a name="l00077"></a><span class="lineno"><a class="code" href="../../d7/d03/_packet_priority_8h.xhtml#ae41fa01235e99dced384d137fa874a7eae94727e3abc9217e16c1c19f1e8f850a"> 77</a></span>&#160; <a class="code" href="../../d7/d03/_packet_priority_8h.xhtml#ae41fa01235e99dced384d137fa874a7eae94727e3abc9217e16c1c19f1e8f850a" title="Same as RELIABLE_ORDERED_ACK_RECEIPT. The user will also get ID_SND_RECEIPT_ACKED after the message i...">RELIABLE_ORDERED_WITH_ACK_RECEIPT</a>,</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; <span class="comment">// RELIABLE_SEQUENCED_WITH_ACK_RECEIPT,</span></div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160;</div>
<div class="line"><a name="l00084"></a><span class="lineno"><a class="code" href="../../d7/d03/_packet_priority_8h.xhtml#ae41fa01235e99dced384d137fa874a7eaf49e4584ca35290efd854922f4cad6be"> 84</a></span>&#160; <a class="code" href="../../d7/d03/_packet_priority_8h.xhtml#ae41fa01235e99dced384d137fa874a7eaf49e4584ca35290efd854922f4cad6be">NUMBER_OF_RELIABILITIES</a></div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160;};</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160;</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160;<span class="preprocessor">#endif</span></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_74389ed8173ad57b461b9d623a1f3867.xhtml">Source</a></li><li class="navelem"><a class="el" href="../../dir_bbb90e3ef9167a594ae33323139a2595.xhtml">include</a></li><li class="navelem"><a class="el" href="../../dir_88467e66686deb9d3756fe4fc298e321.xhtml">slikenet</a></li><li class="navelem"><a class="el" href="../../d7/d03/_packet_priority_8h.xhtml">PacketPriority.h</a></li>
<li class="footer">Generated on Wed Aug 14 2019 22:09:46 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,124 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>SLikeNet: Source/src/NatTypeDetectionServer.cpp File Reference</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="../../index.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li class="current"><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../files.xhtml"><span>File&#160;List</span></a></li>
<li><a href="../../globals.xhtml"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('d7/d04/_nat_type_detection_server_8cpp.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">NatTypeDetectionServer.cpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &quot;<a class="el" href="../../de/ddb/_native_feature_includes_8h_source.xhtml">slikenet/NativeFeatureIncludes.h</a>&quot;</code><br/>
</div>
<p><a href="../../d7/d04/_nat_type_detection_server_8cpp_source.xhtml">Go to the source code of this file.</a></p>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_74389ed8173ad57b461b9d623a1f3867.xhtml">Source</a></li><li class="navelem"><a class="el" href="../../dir_d1eb22c2ecfd8b50f59e9cbaf8260105.xhtml">src</a></li><li class="navelem"><a class="el" href="../../d7/d04/_nat_type_detection_server_8cpp.xhtml">NatTypeDetectionServer.cpp</a></li>
<li class="footer">Generated on Wed Aug 14 2019 22:09:48 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,566 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>SLikeNet: Source/src/NatTypeDetectionServer.cpp Source File</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="../../index.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li class="current"><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../files.xhtml"><span>File&#160;List</span></a></li>
<li><a href="../../globals.xhtml"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('d7/d04/_nat_type_detection_server_8cpp_source.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">NatTypeDetectionServer.cpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="../../d7/d04/_nat_type_detection_server_8cpp.xhtml">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> * Original work: Copyright (c) 2014, Oculus VR, Inc.</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> * All rights reserved.</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> * This source code is licensed under the BSD-style license found in the</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> * RakNet License.txt file in the licenses directory of this source tree. An additional grant </span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> * of patent rights can be found in the RakNet Patents.txt file in the same directory.</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment"> * Modified work: Copyright (c) 2016-2018, SLikeSoft UG (haftungsbeschränkt)</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> * This source code was modified by SLikeSoft. Modifications are licensed under the MIT-style</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> * license found in the license.txt file in the root directory of this source tree.</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;</div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../de/ddb/_native_feature_includes_8h.xhtml">slikenet/NativeFeatureIncludes.h</a>&quot;</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="preprocessor">#if _RAKNET_SUPPORT_NatTypeDetectionServer==1</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../d4/dd5/_nat_type_detection_server_8h.xhtml" title="Contains the NAT-type detection code for the server.">slikenet/NatTypeDetectionServer.h</a>&quot;</span></div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../d8/da4/_socket_layer_8h.xhtml" title="SocketLayer class implementation.">slikenet/SocketLayer.h</a>&quot;</span></div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../dc/df7/smartptr_8h.xhtml">slikenet/smartptr.h</a>&quot;</span></div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../d4/dc5/_socket_includes_8h.xhtml">slikenet/SocketIncludes.h</a>&quot;</span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../dd/d85/peerinterface_8h.xhtml" title="An interface for RakPeer. Simply contains all user functions as pure virtuals.">slikenet/peerinterface.h</a>&quot;</span></div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../d6/d83/_message_identifiers_8h.xhtml" title="All the message identifiers used by RakNet. Message identifiers comprise the first byte of any messag...">slikenet/MessageIdentifiers.h</a>&quot;</span></div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../d6/d76/_get_time_8h.xhtml" title="Returns the value from QueryPerformanceCounter. This is the function RakNet uses to represent time...">slikenet/GetTime.h</a>&quot;</span></div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../d7/dc3/_bit_stream_8h.xhtml" title="This class allows you to write and read native types as a string of bits.">slikenet/BitStream.h</a>&quot;</span></div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../df/ded/_socket_defines_8h.xhtml">slikenet/SocketDefines.h</a>&quot;</span></div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../d7/db2/linux__adapter_8h.xhtml">slikenet/linux_adapter.h</a>&quot;</span></div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../da/dff/osx__adapter_8h.xhtml">slikenet/osx_adapter.h</a>&quot;</span></div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="comment">// #define NTDS_VERBOSE</span></div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="keyword">using namespace </span>SLNet;</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<a class="code" href="../../db/dbd/_export_8h.xhtml#aa00165c970bdb25e1c757b432509533b">STATIC_FACTORY_DEFINITIONS</a>(<a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#dd/d27/class_s_l_net_1_1_nat_type_detection_server" title="Server code for NatTypeDetection.">NatTypeDetectionServer</a>,<a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#dd/d27/class_s_l_net_1_1_nat_type_detection_server" title="Server code for NatTypeDetection.">NatTypeDetectionServer</a>);</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#a7ab22178eac71c3616503a72c6fe7512">NatTypeDetectionServer::NatTypeDetectionServer</a>()</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;{</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; <a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#a8b789478ff2ff997bf63c3118dc5d7bb">s1p2</a>=<a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#a946407c3ea532f9e21ece21226cbd4f8">s2p3</a>=<a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#a93c831827896177792befe5a0c8c8be7">s3p4</a>=<a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#a86e2029ffffa3c8787ebd2074dd8a908">s4p5</a>=0;</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;}</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;<a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#a3f1d78821e423209d575099347392ba8">NatTypeDetectionServer::~NatTypeDetectionServer</a>()</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;{</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; <a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#a647cffe379ae9fcdb12ada5a9a527b27">Shutdown</a>();</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;}</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#abf6d35ae49a554b5a9d2a3ca07acc4e4">NatTypeDetectionServer::Startup</a>(</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; <span class="keyword">const</span> <span class="keywordtype">char</span> *nonRakNetIP2,</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; <span class="keyword">const</span> <span class="keywordtype">char</span> *nonRakNetIP3,</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; <span class="keyword">const</span> <span class="keywordtype">char</span> *nonRakNetIP4</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;#ifdef __native_client__</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; ,<a class="code" href="../../d4/dc5/_socket_includes_8h.xhtml#afb515610f39898f2d6e545fe2f2f90ff">_PP_Instance_</a> chromeInstance</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;#endif</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; )</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;{</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml">DataStructures::List&lt;RakNetSocket2* &gt;</a> sockets;</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#adac8deadf450a4e1d69c11b1db588bec">rakPeerInterface</a>-&gt;<a class="code" href="../../da/d27/class_s_l_net_1_1_rak_peer_interface.xhtml#a8cb053f3d6574b9a050dd05d92fbe5bd">GetSockets</a>(sockets);</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <span class="keywordtype">char</span> str[64];</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; sockets[0]-&gt;GetBoundAddress().ToString(<span class="keyword">false</span>,str,static_cast&lt;size_t&gt;(64));</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#a8b789478ff2ff997bf63c3118dc5d7bb">s1p2</a>=</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ac6f66c19ed46a5a757457cf568e8536e">CreateNonblockingBoundSocket</a>(str,</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;#ifdef __native_client__</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; chromeInstance, </div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;#endif</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; <span class="keyword">this</span>);</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#a946407c3ea532f9e21ece21226cbd4f8">s2p3</a>=</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ac6f66c19ed46a5a757457cf568e8536e">CreateNonblockingBoundSocket</a>(nonRakNetIP2,</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;#ifdef __native_client__</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; chromeInstance, </div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;#endif</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <span class="keyword">this</span>);</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#a93c831827896177792befe5a0c8c8be7">s3p4</a>=</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ac6f66c19ed46a5a757457cf568e8536e">CreateNonblockingBoundSocket</a>(nonRakNetIP3,</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;#ifdef __native_client__</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; chromeInstance, </div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160;#endif</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <span class="keyword">this</span>);</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#a86e2029ffffa3c8787ebd2074dd8a908">s4p5</a>=</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ac6f66c19ed46a5a757457cf568e8536e">CreateNonblockingBoundSocket</a>(nonRakNetIP4,</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160;#ifdef __native_client__</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; chromeInstance, </div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;#endif</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <span class="keyword">this</span>);</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160;</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; strcpy_s(<a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#aaa9eb51a0ce8f36abe26dd986c8cd46f">s3p4Address</a>, nonRakNetIP3);</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160;</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160;<span class="preprocessor"> #if !defined(__native_client__) &amp;&amp; !defined(WINDOWS_STORE_RT)</span></div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160;<span class="preprocessor"></span> <span class="keywordflow">if</span> (<a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#a93c831827896177792befe5a0c8c8be7">s3p4</a>-&gt;<a class="code" href="../../d1/dde/class_s_l_net_1_1_rak_net_socket2.xhtml#af605c577c5300b0599fcd6396203d685">IsBerkleySocket</a>())</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; ((<a class="code" href="../../d1/d4f/class_s_l_net_1_1_r_n_s2___berkley.xhtml">RNS2_Berkley</a>*) <a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#a93c831827896177792befe5a0c8c8be7">s3p4</a>)-&gt;CreateRecvPollingThread(0);</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160;<span class="preprocessor"> #endif</span></div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160;<span class="preprocessor"></span>}</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#a647cffe379ae9fcdb12ada5a9a527b27">NatTypeDetectionServer::Shutdown</a>()</div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160;{</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#a8b789478ff2ff997bf63c3118dc5d7bb">s1p2</a>!=0)</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; {</div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a79772d09451f784e87bec85694fad1ed">SLNet::OP_DELETE</a>(<a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#a8b789478ff2ff997bf63c3118dc5d7bb">s1p2</a>,<a class="code" href="../../d8/db0/defines_8h.xhtml#a8661ec2137eef33a8cd0cd618a748871">_FILE_AND_LINE_</a>);</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#a8b789478ff2ff997bf63c3118dc5d7bb">s1p2</a>=0;</div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; }</div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#a946407c3ea532f9e21ece21226cbd4f8">s2p3</a>!=0)</div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; {</div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a79772d09451f784e87bec85694fad1ed">SLNet::OP_DELETE</a>(<a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#a946407c3ea532f9e21ece21226cbd4f8">s2p3</a>,<a class="code" href="../../d8/db0/defines_8h.xhtml#a8661ec2137eef33a8cd0cd618a748871">_FILE_AND_LINE_</a>);</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; <a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#a946407c3ea532f9e21ece21226cbd4f8">s2p3</a>=0;</div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; }</div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#a93c831827896177792befe5a0c8c8be7">s3p4</a>!=0)</div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; {</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160;<span class="preprocessor">#if !defined(__native_client__) &amp;&amp; !defined(WINDOWS_STORE_RT)</span></div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;<span class="preprocessor"></span> <span class="keywordflow">if</span> (<a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#a93c831827896177792befe5a0c8c8be7">s3p4</a>-&gt;<a class="code" href="../../d1/dde/class_s_l_net_1_1_rak_net_socket2.xhtml#af605c577c5300b0599fcd6396203d685">IsBerkleySocket</a>())</div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; ((<a class="code" href="../../d1/d4f/class_s_l_net_1_1_r_n_s2___berkley.xhtml">RNS2_Berkley</a> *)<a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#a93c831827896177792befe5a0c8c8be7">s3p4</a>)-&gt;BlockOnStopRecvPollingThread();</div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a79772d09451f784e87bec85694fad1ed">SLNet::OP_DELETE</a>(<a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#a93c831827896177792befe5a0c8c8be7">s3p4</a>,<a class="code" href="../../d8/db0/defines_8h.xhtml#a8661ec2137eef33a8cd0cd618a748871">_FILE_AND_LINE_</a>);</div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; <a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#a93c831827896177792befe5a0c8c8be7">s3p4</a>=0;</div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; }</div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#a86e2029ffffa3c8787ebd2074dd8a908">s4p5</a>!=0)</div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; {</div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a79772d09451f784e87bec85694fad1ed">SLNet::OP_DELETE</a>(<a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#a86e2029ffffa3c8787ebd2074dd8a908">s4p5</a>,<a class="code" href="../../d8/db0/defines_8h.xhtml#a8661ec2137eef33a8cd0cd618a748871">_FILE_AND_LINE_</a>);</div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; <a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#a86e2029ffffa3c8787ebd2074dd8a908">s4p5</a>=0;</div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; }</div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; <a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#ab4bc017d5ad669ef1c0261d0d1435e09">bufferedPacketsMutex</a>.<a class="code" href="../../d9/da8/class_s_l_net_1_1_simple_mutex.xhtml#a7858bc7bc53efe7d0957ebe9d775e144">Lock</a>();</div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; <span class="keywordflow">while</span> (<a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#a6b1c48a2ff3da78e9e90bdfb5a92dbe2">bufferedPackets</a>.<a class="code" href="../../d3/d87/class_data_structures_1_1_queue.xhtml#ae2aec093c82f780558c23f8ae9f296b8">Size</a>())</div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a79772d09451f784e87bec85694fad1ed">SLNet::OP_DELETE</a>(<a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#a6b1c48a2ff3da78e9e90bdfb5a92dbe2">bufferedPackets</a>.<a class="code" href="../../d3/d87/class_data_structures_1_1_queue.xhtml#a25272370e684388afd807c5369e4ef87">Pop</a>(), <a class="code" href="../../d8/db0/defines_8h.xhtml#a8661ec2137eef33a8cd0cd618a748871">_FILE_AND_LINE_</a>);</div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#ab4bc017d5ad669ef1c0261d0d1435e09">bufferedPacketsMutex</a>.<a class="code" href="../../d9/da8/class_s_l_net_1_1_simple_mutex.xhtml#a3b5dc22cc92f6e08e4326f65be5c5e82">Unlock</a>();</div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;}</div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#a81d7bc5ca827a69762f0c466b6d42b3a" title="Update is called every time a packet is checked for .">NatTypeDetectionServer::Update</a>(<span class="keywordtype">void</span>)</div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160;{</div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; <span class="keywordtype">int</span> i=0;</div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a26b4eb1be8467562f791e3c5af4a67ae">SLNet::TimeMS</a> time = <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a4772a177cb3fcb5d9e699a6670c3fb8a">SLNet::GetTimeMS</a>();</div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; <a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a> bs;</div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; <a class="code" href="../../d8/dbe/struct_s_l_net_1_1_system_address.xhtml" title="Network address for a system.">SystemAddress</a> boundAddress;</div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;</div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#d2/ddc/struct_s_l_net_1_1_r_n_s2_recv_struct">RNS2RecvStruct</a> *recvStruct;</div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#ab4bc017d5ad669ef1c0261d0d1435e09">bufferedPacketsMutex</a>.<a class="code" href="../../d9/da8/class_s_l_net_1_1_simple_mutex.xhtml#a7858bc7bc53efe7d0957ebe9d775e144">Lock</a>();</div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#a6b1c48a2ff3da78e9e90bdfb5a92dbe2">bufferedPackets</a>.<a class="code" href="../../d3/d87/class_data_structures_1_1_queue.xhtml#ae2aec093c82f780558c23f8ae9f296b8">Size</a>()&gt;0)</div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; recvStruct=<a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#a6b1c48a2ff3da78e9e90bdfb5a92dbe2">bufferedPackets</a>.<a class="code" href="../../d3/d87/class_data_structures_1_1_queue.xhtml#a25272370e684388afd807c5369e4ef87">Pop</a>();</div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; recvStruct=0;</div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; <a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#ab4bc017d5ad669ef1c0261d0d1435e09">bufferedPacketsMutex</a>.<a class="code" href="../../d9/da8/class_s_l_net_1_1_simple_mutex.xhtml#a3b5dc22cc92f6e08e4326f65be5c5e82">Unlock</a>();</div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; <span class="keywordflow">while</span> (recvStruct)</div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; {</div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; <a class="code" href="../../d8/dbe/struct_s_l_net_1_1_system_address.xhtml" title="Network address for a system.">SystemAddress</a> senderAddr = recvStruct-&gt;<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a0dbd87aef0ad8a228e17ce82d5ea57b6">systemAddress</a>;</div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <span class="keywordtype">char</span> *data = recvStruct-&gt;<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#acbf1ce399511b9ee17cadcce0456e7e0">data</a>;</div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; <span class="keywordflow">if</span> (data[0]==<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ae62da265b44640553509a42b0f253ef6a536002ce64a090e2e558fb2e19dab257" title="Same as address-restricted cone NAT, but we had to send to both the correct remote IP address and cor...">NAT_TYPE_PORT_RESTRICTED</a> &amp;&amp; recvStruct-&gt;<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a1a90bd1a4876ce9bdefe25169344a172">socket</a>==<a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#a93c831827896177792befe5a0c8c8be7">s3p4</a>)</div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; {</div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; <a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a> bsIn((<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>*) data,recvStruct-&gt;<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a198885d66bfad6fcef6fdd0bee7d1424">bytesRead</a>,<span class="keyword">false</span>);</div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; <a class="code" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml">RakNetGUID</a> senderGuid;</div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; bsIn.IgnoreBytes(<span class="keyword">sizeof</span>(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a5b5b9eb3be9ad636af02da44b718a75f" title="First byte of a network message.">MessageID</a>));</div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; <span class="keywordtype">bool</span> readSuccess = bsIn.Read(senderGuid);</div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; <a class="code" href="../../d8/db0/defines_8h.xhtml#afaa3647d29f5960651eb23fd3d2b5368">RakAssert</a>(readSuccess);</div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; <span class="keywordflow">if</span> (readSuccess)</div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; {</div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> j = <a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#a98d24b56073d89bd44b406154efca7d1">GetDetectionAttemptIndex</a>(senderGuid);</div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; <span class="keywordflow">if</span> (j!=(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>)-1)</div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; {</div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; bs.<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#aab4381d8b4a48dbc8e2975dba894f350" title="Resets the bitstream for reuse.">Reset</a>();</div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; bs.<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a2d1187ee508dc9d231d27aed1867d201" title="Write any integral type to a bitstream.">Write</a>((<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>) <a class="code" href="../../d6/d83/_message_identifiers_8h.xhtml#ac1b471af280629f5ace02e586d5bcfd3a33c5740a8a5655b2eadd45b7e6d62fee" title="Sent to NatTypeDetectionClient. Byte 1 contains the type of NAT detected.">ID_NAT_TYPE_DETECTION_RESULT</a>);</div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; <span class="comment">// If different, then symmetric</span></div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; <span class="keywordflow">if</span> (senderAddr!=<a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#aa91d6ee1f693f7f9842b6c83c1cb08c0">natDetectionAttempts</a>[j].systemAddress)</div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; {</div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160;</div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160;<span class="preprocessor">#ifdef NTDS_VERBOSE</span></div>
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160;<span class="preprocessor"></span> printf(<span class="stringliteral">&quot;Determined client is symmetric\n&quot;</span>);</div>
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160;<span class="preprocessor"></span> bs.<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a2d1187ee508dc9d231d27aed1867d201" title="Write any integral type to a bitstream.">Write</a>((<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>) <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ae62da265b44640553509a42b0f253ef6a18544642db1d35ef27a62144dbccf513" title="A different port is chosen for every remote destination. The same source address and port to a differ...">NAT_TYPE_SYMMETRIC</a>);</div>
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; }</div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; {</div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; <span class="comment">// else port restricted</span></div>
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160;<span class="preprocessor">#ifdef NTDS_VERBOSE</span></div>
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; printf(<span class="stringliteral">&quot;Determined client is port restricted\n&quot;</span>);</div>
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160;<span class="preprocessor"></span> bs.<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a2d1187ee508dc9d231d27aed1867d201" title="Write any integral type to a bitstream.">Write</a>((<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>) <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ae62da265b44640553509a42b0f253ef6a536002ce64a090e2e558fb2e19dab257" title="Same as address-restricted cone NAT, but we had to send to both the correct remote IP address and cor...">NAT_TYPE_PORT_RESTRICTED</a>);</div>
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; }</div>
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160;</div>
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; <a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#adac8deadf450a4e1d69c11b1db588bec">rakPeerInterface</a>-&gt;<a class="code" href="../../da/d27/class_s_l_net_1_1_rak_peer_interface.xhtml#ab817d74d4aa4ff1edf593543bbf7b8fb">Send</a>(&amp;bs,<a class="code" href="../../d7/d03/_packet_priority_8h.xhtml#a659378374e516180f93640c79f59705cacb1785f11dd02aa7f5d164fb314c594e">HIGH_PRIORITY</a>,<a class="code" href="../../d7/d03/_packet_priority_8h.xhtml#ae41fa01235e99dced384d137fa874a7eabc6ba98e9404532481e43eea39731929" title="The message is sent reliably, but not necessarily in any order. Same overhead as UNRELIABLE.">RELIABLE</a>,0,<a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#aa91d6ee1f693f7f9842b6c83c1cb08c0">natDetectionAttempts</a>[j].systemAddress,<span class="keyword">false</span>);</div>
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160;</div>
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; <span class="comment">// Done</span></div>
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; <a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#aa91d6ee1f693f7f9842b6c83c1cb08c0">natDetectionAttempts</a>.<a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml#a351a647150169c71cc3f758dbb312096" title="Delete the element at position position.">RemoveAtIndexFast</a>(j);</div>
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; }</div>
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; {</div>
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; <span class="comment">// RakAssert(&quot;j==0 in Update when looking up GUID in NatTypeDetectionServer.cpp. Either a bug or a late resend&quot; &amp;&amp; 0);</span></div>
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; }</div>
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; }</div>
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; {</div>
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; <span class="comment">// RakAssert(&quot;Didn&#39;t read GUID in Update in NatTypeDetectionServer.cpp. Message format error&quot; &amp;&amp; 0);</span></div>
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; }</div>
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; }</div>
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160;</div>
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; <a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#a05b88442af31a52e7c8e8177be72d501">DeallocRNS2RecvStruct</a>(recvStruct, <a class="code" href="../../d8/db0/defines_8h.xhtml#a8661ec2137eef33a8cd0cd618a748871">_FILE_AND_LINE_</a>);</div>
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; <a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#ab4bc017d5ad669ef1c0261d0d1435e09">bufferedPacketsMutex</a>.<a class="code" href="../../d9/da8/class_s_l_net_1_1_simple_mutex.xhtml#a7858bc7bc53efe7d0957ebe9d775e144">Lock</a>();</div>
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#a6b1c48a2ff3da78e9e90bdfb5a92dbe2">bufferedPackets</a>.<a class="code" href="../../d3/d87/class_data_structures_1_1_queue.xhtml#ae2aec093c82f780558c23f8ae9f296b8">Size</a>()&gt;0)</div>
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; recvStruct=<a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#a6b1c48a2ff3da78e9e90bdfb5a92dbe2">bufferedPackets</a>.<a class="code" href="../../d3/d87/class_data_structures_1_1_queue.xhtml#a25272370e684388afd807c5369e4ef87">Pop</a>();</div>
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; recvStruct=0;</div>
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; <a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#ab4bc017d5ad669ef1c0261d0d1435e09">bufferedPacketsMutex</a>.<a class="code" href="../../d9/da8/class_s_l_net_1_1_simple_mutex.xhtml#a3b5dc22cc92f6e08e4326f65be5c5e82">Unlock</a>();</div>
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; }</div>
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160;</div>
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; <span class="comment">/*</span></div>
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160;<span class="comment"> // Only socket that receives messages is s3p4, to see if the external address is different than that of the connection to rakPeerInterface</span></div>
<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160;<span class="comment"> char data[ MAXIMUM_MTU_SIZE ];</span></div>
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160;<span class="comment"> int len;</span></div>
<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160;<span class="comment"> SystemAddress senderAddr;</span></div>
<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160;<span class="comment"> len=NatTypeRecvFrom(data, s3p4, senderAddr);</span></div>
<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160;<span class="comment"> // Client is asking us if this is port restricted. Only client requests of this type come in on s3p4</span></div>
<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160;<span class="comment"> while (len&gt;0 &amp;&amp; data[0]==NAT_TYPE_PORT_RESTRICTED)</span></div>
<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160;<span class="comment"> {</span></div>
<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160;<span class="comment"> SLNet::BitStream bsIn((unsigned char*) data,len,false);</span></div>
<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160;<span class="comment"> RakNetGUID senderGuid;</span></div>
<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160;<span class="comment"> bsIn.IgnoreBytes(sizeof(MessageID));</span></div>
<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160;<span class="comment"> bool readSuccess = bsIn.Read(senderGuid);</span></div>
<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160;<span class="comment"> RakAssert(readSuccess);</span></div>
<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160;<span class="comment"> if (readSuccess)</span></div>
<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160;<span class="comment"> {</span></div>
<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160;<span class="comment"> unsigned int i = GetDetectionAttemptIndex(senderGuid);</span></div>
<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160;<span class="comment"> if (i!=(unsigned int)-1)</span></div>
<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160;<span class="comment"> {</span></div>
<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160;<span class="comment"> bs.Reset();</span></div>
<div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160;<span class="comment"> bs.Write((unsigned char) ID_NAT_TYPE_DETECTION_RESULT);</span></div>
<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160;<span class="comment"> // If different, then symmetric</span></div>
<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160;<span class="comment"> if (senderAddr!=natDetectionAttempts[i].systemAddress)</span></div>
<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160;<span class="comment"> {</span></div>
<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160;<span class="comment"> #ifdef NTDS_VERBOSE</span></div>
<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160;<span class="comment"> printf(&quot;Determined client is symmetric\n&quot;);</span></div>
<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160;<span class="comment"> #endif</span></div>
<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160;<span class="comment"> bs.Write((unsigned char) NAT_TYPE_SYMMETRIC);</span></div>
<div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160;<span class="comment"> }</span></div>
<div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160;<span class="comment"> else</span></div>
<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160;<span class="comment"> {</span></div>
<div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160;<span class="comment"> // else port restricted</span></div>
<div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160;<span class="comment"> #ifdef NTDS_VERBOSE</span></div>
<div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;<span class="comment"> printf(&quot;Determined client is port restricted\n&quot;);</span></div>
<div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160;<span class="comment"> #endif</span></div>
<div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160;<span class="comment"> bs.Write((unsigned char) NAT_TYPE_PORT_RESTRICTED);</span></div>
<div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160;<span class="comment"> }</span></div>
<div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160;<span class="comment"> rakPeerInterface-&gt;Send(&amp;bs,HIGH_PRIORITY,RELIABLE,0,natDetectionAttempts[i].systemAddress,false);</span></div>
<div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160;<span class="comment"> // Done</span></div>
<div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160;<span class="comment"> natDetectionAttempts.RemoveAtIndexFast(i);</span></div>
<div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160;<span class="comment"> }</span></div>
<div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160;<span class="comment"> else</span></div>
<div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160;<span class="comment"> {</span></div>
<div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160;<span class="comment"> // RakAssert(&quot;i==0 in Update when looking up GUID in NatTypeDetectionServer.cpp. Either a bug or a late resend&quot; &amp;&amp; 0);</span></div>
<div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160;<span class="comment"> }</span></div>
<div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160;<span class="comment"> }</span></div>
<div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160;<span class="comment"> else</span></div>
<div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160;<span class="comment"> {</span></div>
<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160;<span class="comment"> // RakAssert(&quot;Didn&#39;t read GUID in Update in NatTypeDetectionServer.cpp. Message format error&quot; &amp;&amp; 0);</span></div>
<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160;<span class="comment"> }</span></div>
<div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160;<span class="comment"> len=NatTypeRecvFrom(data, s3p4, senderAddr);</span></div>
<div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160;<span class="comment"> }</span></div>
<div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160;</div>
<div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160;</div>
<div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; <span class="keywordflow">while</span> (i &lt; (<span class="keywordtype">int</span>) <a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#aa91d6ee1f693f7f9842b6c83c1cb08c0">natDetectionAttempts</a>.<a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml#a6f13a4519693cbd16cd13b1fe284f330">Size</a>())</div>
<div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160; {</div>
<div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; <span class="keywordflow">if</span> (time &gt; <a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#aa91d6ee1f693f7f9842b6c83c1cb08c0">natDetectionAttempts</a>[i].nextStateTime)</div>
<div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; {</div>
<div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; <a class="code" href="../../df/dc3/struct_s_l_net_1_1_r_n_s2___send_parameters.xhtml">RNS2_SendParameters</a> bsp;</div>
<div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; <a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#aa91d6ee1f693f7f9842b6c83c1cb08c0">natDetectionAttempts</a>[i].detectionState=(<a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#aa2102d81cf3a7b2e389acc0856fe3e85">NATDetectionState</a>)((<span class="keywordtype">int</span>)<a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#aa91d6ee1f693f7f9842b6c83c1cb08c0">natDetectionAttempts</a>[i].detectionState+1);</div>
<div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160; <a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#aa91d6ee1f693f7f9842b6c83c1cb08c0">natDetectionAttempts</a>[i].nextStateTime=time+<a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#aa91d6ee1f693f7f9842b6c83c1cb08c0">natDetectionAttempts</a>[i].timeBetweenAttempts;</div>
<div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; <a class="code" href="../../d8/dbe/struct_s_l_net_1_1_system_address.xhtml" title="Network address for a system.">SystemAddress</a> saOut;</div>
<div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> c;</div>
<div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; bs.<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#aab4381d8b4a48dbc8e2975dba894f350" title="Resets the bitstream for reuse.">Reset</a>();</div>
<div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; <span class="keywordflow">switch</span> (<a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#aa91d6ee1f693f7f9842b6c83c1cb08c0">natDetectionAttempts</a>[i].detectionState)</div>
<div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; {</div>
<div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; <span class="keywordflow">case</span> <a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#aa2102d81cf3a7b2e389acc0856fe3e85a89a075a313ce83f84140560aa8eaa398">STATE_TESTING_NONE_1</a>:</div>
<div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160; <span class="keywordflow">case</span> <a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#aa2102d81cf3a7b2e389acc0856fe3e85a5974dcfbb52096307f0da8dec2dc5cc5">STATE_TESTING_NONE_2</a>:</div>
<div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; c = <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ae62da265b44640553509a42b0f253ef6a373e1f23419cc1d89389e2dcca4479f2" title="Works with anyone.">NAT_TYPE_NONE</a>;</div>
<div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160;</div>
<div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160;<span class="preprocessor">#ifdef NTDS_VERBOSE</span></div>
<div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160;<span class="preprocessor"></span> printf(<span class="stringliteral">&quot;Testing NAT_TYPE_NONE\n&quot;</span>);</div>
<div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160;<span class="preprocessor"></span> <span class="comment">// S4P5 sends to C2. If arrived, no NAT. Done. (Else S4P5 potentially banned, do not use again).</span></div>
<div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; saOut=<a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#aa91d6ee1f693f7f9842b6c83c1cb08c0">natDetectionAttempts</a>[i].systemAddress;</div>
<div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; saOut.<a class="code" href="../../d8/dbe/struct_s_l_net_1_1_system_address.xhtml#a5f42b847875bcf297eda4ebadeda7abe">SetPortHostOrder</a>(<a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#aa91d6ee1f693f7f9842b6c83c1cb08c0">natDetectionAttempts</a>[i].c2Port);</div>
<div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160; <span class="comment">// SocketLayer::SendTo_PC( s4p5, (const char*) &amp;c, 1, saOut, __FILE__, __LINE__ );</span></div>
<div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160; bsp.<a class="code" href="../../df/dc3/struct_s_l_net_1_1_r_n_s2___send_parameters.xhtml#a223cad191bf08d288c46750e75c5f959">data</a> = (<span class="keywordtype">char</span>*) &amp;c;</div>
<div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160; bsp.<a class="code" href="../../df/dc3/struct_s_l_net_1_1_r_n_s2___send_parameters.xhtml#a23d46d4d1bf564a8873f477af6a29bd9">length</a> = 1;</div>
<div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; bsp.<a class="code" href="../../df/dc3/struct_s_l_net_1_1_r_n_s2___send_parameters.xhtml#a7e9bd3e902cda195cdeff08db0ddfd8c">systemAddress</a> = saOut;</div>
<div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160; <a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#a86e2029ffffa3c8787ebd2074dd8a908">s4p5</a>-&gt;<a class="code" href="../../d1/dde/class_s_l_net_1_1_rak_net_socket2.xhtml#a2b88e6864d8b42a494475deae58044a6">Send</a>(&amp;bsp, <a class="code" href="../../d8/db0/defines_8h.xhtml#a8661ec2137eef33a8cd0cd618a748871">_FILE_AND_LINE_</a>);</div>
<div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; <span class="keywordflow">case</span> <a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#aa2102d81cf3a7b2e389acc0856fe3e85a064818dcb5ceeb5c4dbf76d0c36facea">STATE_TESTING_FULL_CONE_1</a>:</div>
<div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160; <span class="keywordflow">case</span> <a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#aa2102d81cf3a7b2e389acc0856fe3e85aa916339a5ddbe6c244dc4d4164b55472">STATE_TESTING_FULL_CONE_2</a>:</div>
<div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160;</div>
<div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160;<span class="preprocessor">#ifdef NTDS_VERBOSE</span></div>
<div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160;<span class="preprocessor"></span> printf(<span class="stringliteral">&quot;Testing NAT_TYPE_FULL_CONE\n&quot;</span>);</div>
<div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160;<span class="preprocessor"></span> <a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#adac8deadf450a4e1d69c11b1db588bec">rakPeerInterface</a>-&gt;<a class="code" href="../../da/d27/class_s_l_net_1_1_rak_peer_interface.xhtml#ac72791cc636b9a08b7b6f51f29cc58a4">WriteOutOfBandHeader</a>(&amp;bs);</div>
<div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160; bs.<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a2d1187ee508dc9d231d27aed1867d201" title="Write any integral type to a bitstream.">Write</a>((<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>) <a class="code" href="../../d6/d83/_message_identifiers_8h.xhtml#adb1ee7dca645f585e453c0015fa7688dab7f4d8f8e3d05aa7193f5ff70f2624fc">ID_NAT_TYPE_DETECT</a>);</div>
<div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160; bs.<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a2d1187ee508dc9d231d27aed1867d201" title="Write any integral type to a bitstream.">Write</a>((<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>) <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ae62da265b44640553509a42b0f253ef6ab1ec422bd8c3fc821789e290d6c360d9" title="Accepts any datagrams to a port that has been previously used. Will accept the first datagram from th...">NAT_TYPE_FULL_CONE</a>);</div>
<div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160; <span class="comment">// S2P3 sends to C1 (Different address, different port, to previously used port on client). If received, Full-cone nat. Done. (Else S2P3 potentially banned, do not use again).</span></div>
<div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160; saOut=<a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#aa91d6ee1f693f7f9842b6c83c1cb08c0">natDetectionAttempts</a>[i].systemAddress;</div>
<div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160; saOut.<a class="code" href="../../d8/dbe/struct_s_l_net_1_1_system_address.xhtml#a5f42b847875bcf297eda4ebadeda7abe">SetPortHostOrder</a>(<a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#aa91d6ee1f693f7f9842b6c83c1cb08c0">natDetectionAttempts</a>[i].systemAddress.GetPort());</div>
<div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160; <span class="comment">// SocketLayer::SendTo_PC( s2p3, (const char*) bs.GetData(), bs.GetNumberOfBytesUsed(), saOut, __FILE__, __LINE__ );</span></div>
<div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; bsp.<a class="code" href="../../df/dc3/struct_s_l_net_1_1_r_n_s2___send_parameters.xhtml#a223cad191bf08d288c46750e75c5f959">data</a> = (<span class="keywordtype">char</span>*) bs.<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a7b4099386f6f116f0978b00ead160a0d">GetData</a>();</div>
<div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160; bsp.<a class="code" href="../../df/dc3/struct_s_l_net_1_1_r_n_s2___send_parameters.xhtml#a23d46d4d1bf564a8873f477af6a29bd9">length</a> = bs.<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a48740002683b46b00cbb97b8f7d0710e" title="Returns the length in bytes of the stream.">GetNumberOfBytesUsed</a>();</div>
<div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160; bsp.<a class="code" href="../../df/dc3/struct_s_l_net_1_1_r_n_s2___send_parameters.xhtml#a7e9bd3e902cda195cdeff08db0ddfd8c">systemAddress</a> = saOut;</div>
<div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160; <a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#a946407c3ea532f9e21ece21226cbd4f8">s2p3</a>-&gt;<a class="code" href="../../d1/dde/class_s_l_net_1_1_rak_net_socket2.xhtml#a2b88e6864d8b42a494475deae58044a6">Send</a>(&amp;bsp, <a class="code" href="../../d8/db0/defines_8h.xhtml#a8661ec2137eef33a8cd0cd618a748871">_FILE_AND_LINE_</a>);</div>
<div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; <span class="keywordflow">case</span> <a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#aa2102d81cf3a7b2e389acc0856fe3e85a1db166fa80fb53a38a106230c2aaf0fd">STATE_TESTING_ADDRESS_RESTRICTED_1</a>:</div>
<div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160; <span class="keywordflow">case</span> <a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#aa2102d81cf3a7b2e389acc0856fe3e85a91cb2f5e03551701cca2b80880e250b3">STATE_TESTING_ADDRESS_RESTRICTED_2</a>:</div>
<div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160;</div>
<div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160;<span class="preprocessor">#ifdef NTDS_VERBOSE</span></div>
<div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160;<span class="preprocessor"></span> printf(<span class="stringliteral">&quot;Testing NAT_TYPE_ADDRESS_RESTRICTED\n&quot;</span>);</div>
<div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160;<span class="preprocessor"></span> <a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#adac8deadf450a4e1d69c11b1db588bec">rakPeerInterface</a>-&gt;<a class="code" href="../../da/d27/class_s_l_net_1_1_rak_peer_interface.xhtml#ac72791cc636b9a08b7b6f51f29cc58a4">WriteOutOfBandHeader</a>(&amp;bs);</div>
<div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; bs.<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a2d1187ee508dc9d231d27aed1867d201" title="Write any integral type to a bitstream.">Write</a>((<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>) ID_NAT_TYPE_DETECT);</div>
<div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160; bs.<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a2d1187ee508dc9d231d27aed1867d201" title="Write any integral type to a bitstream.">Write</a>((<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>) <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ae62da265b44640553509a42b0f253ef6a5c00dbd1ef7d68d51d9c408b9d5c45ea" title="Accepts datagrams to a port as long as the datagram source IP address is a system we have already sen...">NAT_TYPE_ADDRESS_RESTRICTED</a>);</div>
<div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; <span class="comment">// S1P2 sends to C1 (Same address, different port, to previously used port on client). If received, address-restricted cone nat. Done.</span></div>
<div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160; saOut=<a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#aa91d6ee1f693f7f9842b6c83c1cb08c0">natDetectionAttempts</a>[i].systemAddress;</div>
<div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160; saOut.<a class="code" href="../../d8/dbe/struct_s_l_net_1_1_system_address.xhtml#a5f42b847875bcf297eda4ebadeda7abe">SetPortHostOrder</a>(<a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#aa91d6ee1f693f7f9842b6c83c1cb08c0">natDetectionAttempts</a>[i].systemAddress.GetPort());</div>
<div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160; <span class="comment">//SocketLayer::SendTo_PC( s1p2, (const char*) bs.GetData(), bs.GetNumberOfBytesUsed(), saOut, __FILE__, __LINE__ );</span></div>
<div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160; bsp.<a class="code" href="../../df/dc3/struct_s_l_net_1_1_r_n_s2___send_parameters.xhtml#a223cad191bf08d288c46750e75c5f959">data</a> = (<span class="keywordtype">char</span>*) bs.<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a7b4099386f6f116f0978b00ead160a0d">GetData</a>();</div>
<div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160; bsp.<a class="code" href="../../df/dc3/struct_s_l_net_1_1_r_n_s2___send_parameters.xhtml#a23d46d4d1bf564a8873f477af6a29bd9">length</a> = bs.<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a48740002683b46b00cbb97b8f7d0710e" title="Returns the length in bytes of the stream.">GetNumberOfBytesUsed</a>();</div>
<div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160; bsp.<a class="code" href="../../df/dc3/struct_s_l_net_1_1_r_n_s2___send_parameters.xhtml#a7e9bd3e902cda195cdeff08db0ddfd8c">systemAddress</a> = saOut;</div>
<div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160; <a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#a8b789478ff2ff997bf63c3118dc5d7bb">s1p2</a>-&gt;<a class="code" href="../../d1/dde/class_s_l_net_1_1_rak_net_socket2.xhtml#a2b88e6864d8b42a494475deae58044a6">Send</a>(&amp;bsp, <a class="code" href="../../d8/db0/defines_8h.xhtml#a8661ec2137eef33a8cd0cd618a748871">_FILE_AND_LINE_</a>);</div>
<div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160; <span class="keywordflow">case</span> <a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#aa2102d81cf3a7b2e389acc0856fe3e85a2158034505c602d3f41b92d448f1a820">STATE_TESTING_PORT_RESTRICTED_1</a>:</div>
<div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160; <span class="keywordflow">case</span> <a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#aa2102d81cf3a7b2e389acc0856fe3e85a4b574fe9fb14d0bdca6a6bcfe3e69d70">STATE_TESTING_PORT_RESTRICTED_2</a>:</div>
<div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160; <span class="comment">// C1 sends to S3P4. If address of C1 as seen by S3P4 is the same as the address of C1 as seen by S1P1, then port-restricted cone nat. Done</span></div>
<div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160;</div>
<div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160;<span class="preprocessor">#ifdef NTDS_VERBOSE</span></div>
<div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160;<span class="preprocessor"></span> printf(<span class="stringliteral">&quot;Testing NAT_TYPE_PORT_RESTRICTED\n&quot;</span>);</div>
<div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160;<span class="preprocessor"></span> bs.<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a2d1187ee508dc9d231d27aed1867d201" title="Write any integral type to a bitstream.">Write</a>((<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>) <a class="code" href="../../d6/d83/_message_identifiers_8h.xhtml#ac1b471af280629f5ace02e586d5bcfd3a6445b9f24f63fd0782dbebd67d963d65" title="Sent to NatTypeDetectionServer.">ID_NAT_TYPE_DETECTION_REQUEST</a>);</div>
<div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160; bs.<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a2d1187ee508dc9d231d27aed1867d201" title="Write any integral type to a bitstream.">Write</a>(<a class="code" href="../../d2/d66/class_s_l_net_1_1_rak_string.xhtml#a24a196a615ce307db4678187c08adb65">RakString::NonVariadic</a>(<a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#aaa9eb51a0ce8f36abe26dd986c8cd46f">s3p4Address</a>));</div>
<div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160; bs.<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a2d1187ee508dc9d231d27aed1867d201" title="Write any integral type to a bitstream.">Write</a>(<a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#a93c831827896177792befe5a0c8c8be7">s3p4</a>-&gt;<a class="code" href="../../d1/dde/class_s_l_net_1_1_rak_net_socket2.xhtml#a58ced3513884d5224dfa50c46fe5a64a">GetBoundAddress</a>().<a class="code" href="../../d8/dbe/struct_s_l_net_1_1_system_address.xhtml#afdd4a14b98b7e7b9f69afc30e8fe0d47" title="Returns the port in host order (this is what you normally use)">GetPort</a>());</div>
<div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160; <a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#adac8deadf450a4e1d69c11b1db588bec">rakPeerInterface</a>-&gt;<a class="code" href="../../da/d27/class_s_l_net_1_1_rak_peer_interface.xhtml#ab817d74d4aa4ff1edf593543bbf7b8fb">Send</a>(&amp;bs,<a class="code" href="../../d7/d03/_packet_priority_8h.xhtml#a659378374e516180f93640c79f59705cacb1785f11dd02aa7f5d164fb314c594e">HIGH_PRIORITY</a>,<a class="code" href="../../d7/d03/_packet_priority_8h.xhtml#ae41fa01235e99dced384d137fa874a7eabc6ba98e9404532481e43eea39731929" title="The message is sent reliably, but not necessarily in any order. Same overhead as UNRELIABLE.">RELIABLE</a>,0,<a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#aa91d6ee1f693f7f9842b6c83c1cb08c0">natDetectionAttempts</a>[i].systemAddress,<span class="keyword">false</span>);</div>
<div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; <span class="keywordflow">default</span>:</div>
<div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160;</div>
<div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160;<span class="preprocessor">#ifdef NTDS_VERBOSE</span></div>
<div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160;<span class="preprocessor"></span> printf(<span class="stringliteral">&quot;Warning, exceeded final check STATE_TESTING_PORT_RESTRICTED_2.\nExpected that client would have sent NAT_TYPE_PORT_RESTRICTED on s3p4.\nDefaulting to Symmetric\n&quot;</span>);</div>
<div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160;<span class="preprocessor"></span> bs.<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a2d1187ee508dc9d231d27aed1867d201" title="Write any integral type to a bitstream.">Write</a>((<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>) ID_NAT_TYPE_DETECTION_RESULT);</div>
<div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160; bs.<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a2d1187ee508dc9d231d27aed1867d201" title="Write any integral type to a bitstream.">Write</a>((<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>) <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ae62da265b44640553509a42b0f253ef6a18544642db1d35ef27a62144dbccf513" title="A different port is chosen for every remote destination. The same source address and port to a differ...">NAT_TYPE_SYMMETRIC</a>);</div>
<div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160; <a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#adac8deadf450a4e1d69c11b1db588bec">rakPeerInterface</a>-&gt;<a class="code" href="../../da/d27/class_s_l_net_1_1_rak_peer_interface.xhtml#ab817d74d4aa4ff1edf593543bbf7b8fb">Send</a>(&amp;bs,<a class="code" href="../../d7/d03/_packet_priority_8h.xhtml#a659378374e516180f93640c79f59705cacb1785f11dd02aa7f5d164fb314c594e">HIGH_PRIORITY</a>,<a class="code" href="../../d7/d03/_packet_priority_8h.xhtml#ae41fa01235e99dced384d137fa874a7eabc6ba98e9404532481e43eea39731929" title="The message is sent reliably, but not necessarily in any order. Same overhead as UNRELIABLE.">RELIABLE</a>,0,<a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#aa91d6ee1f693f7f9842b6c83c1cb08c0">natDetectionAttempts</a>[i].systemAddress,<span class="keyword">false</span>);</div>
<div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160; <a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#aa91d6ee1f693f7f9842b6c83c1cb08c0">natDetectionAttempts</a>.<a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml#a351a647150169c71cc3f758dbb312096" title="Delete the element at position position.">RemoveAtIndexFast</a>(i);</div>
<div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160; i--;</div>
<div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160; }</div>
<div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160;</div>
<div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160; }</div>
<div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160; i++;</div>
<div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160; }</div>
<div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160;}</div>
<div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160;<a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#ga5c8f613a7c294e0b96deccbdabc38f18">PluginReceiveResult</a> <a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#af2ad4880cccf291e1f6589bd4d6507dd">NatTypeDetectionServer::OnReceive</a>(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#d8/d23/struct_s_l_net_1_1_packet" title="This represents a user message from another system.">Packet</a> *packet)</div>
<div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160;{</div>
<div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160; <span class="keywordflow">switch</span> (packet-&gt;<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#aff6d115daef2787d582f9a20efd64fc0" title="The data from the sender.">data</a>[0])</div>
<div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160; {</div>
<div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160; <span class="keywordflow">case</span> ID_NAT_TYPE_DETECTION_REQUEST:</div>
<div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160; <a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#aba48da12af9c6babe365a5a8c3ee4cb9">OnDetectionRequest</a>(packet);</div>
<div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160; <span class="keywordflow">return</span> <a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#gga5c8f613a7c294e0b96deccbdabc38f18a9f27ed7ccb7513dceb7ed4da3d99a1bf" title="The plugin used this message and it shouldn&#39;t be given to the user.">RR_STOP_PROCESSING_AND_DEALLOCATE</a>;</div>
<div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160; }</div>
<div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160; <span class="keywordflow">return</span> <a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#gga5c8f613a7c294e0b96deccbdabc38f18a5b5a476b87be78212057efd5535345d4" title="This message will be processed by other plugins, and at last by the user.">RR_CONTINUE_PROCESSING</a>;</div>
<div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160;}</div>
<div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#a556d3b332832a4da8a456da663905e7f">NatTypeDetectionServer::OnClosedConnection</a>(<span class="keyword">const</span> <a class="code" href="../../d8/dbe/struct_s_l_net_1_1_system_address.xhtml" title="Network address for a system.">SystemAddress</a> &amp;systemAddress, <a class="code" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml">RakNetGUID</a> rakNetGUID, <a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#ga4d3ac5ca8821fadad6d22d0267e06803">PI2_LostConnectionReason</a> lostConnectionReason )</div>
<div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160;{</div>
<div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160; (void) lostConnectionReason;</div>
<div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; (void) rakNetGUID;</div>
<div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160;</div>
<div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = <a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#a98d24b56073d89bd44b406154efca7d1">GetDetectionAttemptIndex</a>(systemAddress);</div>
<div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160; <span class="keywordflow">if</span> (i==(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>)-1)</div>
<div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; <a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#aa91d6ee1f693f7f9842b6c83c1cb08c0">natDetectionAttempts</a>.<a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml#a351a647150169c71cc3f758dbb312096" title="Delete the element at position position.">RemoveAtIndexFast</a>(i);</div>
<div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160;}</div>
<div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#aba48da12af9c6babe365a5a8c3ee4cb9">NatTypeDetectionServer::OnDetectionRequest</a>(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#d8/d23/struct_s_l_net_1_1_packet" title="This represents a user message from another system.">Packet</a> *packet)</div>
<div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160;{</div>
<div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = <a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#a98d24b56073d89bd44b406154efca7d1">GetDetectionAttemptIndex</a>(packet-&gt;<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a5c9d18515892239712a5d8fcb46c4245" title="The system that send this packet.">systemAddress</a>);</div>
<div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160;</div>
<div class="line"><a name="l00381"></a><span class="lineno"> 381</span>&#160; <a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a> bsIn(packet-&gt;<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#aff6d115daef2787d582f9a20efd64fc0" title="The data from the sender.">data</a>, packet-&gt;<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a75dfd0a23cc4c14dd338caedabe19341" title="The length of the data in bytes.">length</a>, <span class="keyword">false</span>);</div>
<div class="line"><a name="l00382"></a><span class="lineno"> 382</span>&#160; bsIn.IgnoreBytes(1);</div>
<div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160; <span class="keywordtype">bool</span> isRequest=<span class="keyword">false</span>;</div>
<div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160; bsIn.Read(isRequest);</div>
<div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160; <span class="keywordflow">if</span> (isRequest)</div>
<div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160; {</div>
<div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160; <span class="keywordflow">if</span> (i!=(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>)-1)</div>
<div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160; <span class="keywordflow">return</span>; <span class="comment">// Already in progress</span></div>
<div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160;</div>
<div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160; NATDetectionAttempt nda;</div>
<div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160; nda.detectionState=<a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#aa2102d81cf3a7b2e389acc0856fe3e85a7f5088c20e42029db3e2df0297b93f8c">STATE_NONE</a>;</div>
<div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160; nda.systemAddress=packet-&gt;<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a5c9d18515892239712a5d8fcb46c4245" title="The system that send this packet.">systemAddress</a>;</div>
<div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160; nda.guid=packet-&gt;<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a4f42e82893aff6aade8a45c79d1b8fd3">guid</a>;</div>
<div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160; bsIn.Read(nda.c2Port);</div>
<div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160; nda.nextStateTime=0;</div>
<div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160; nda.timeBetweenAttempts=<a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#adac8deadf450a4e1d69c11b1db588bec">rakPeerInterface</a>-&gt;<a class="code" href="../../da/d27/class_s_l_net_1_1_rak_peer_interface.xhtml#a95131bd3e189df6f992b7daa6136ec64">GetLastPing</a>(nda.systemAddress)*3+50;</div>
<div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160; <a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#aa91d6ee1f693f7f9842b6c83c1cb08c0">natDetectionAttempts</a>.<a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml#a771fc63e3b0d892fbb605a379a78bacb" title="Push an element at the end of the stack.">Push</a>(nda, <a class="code" href="../../d8/db0/defines_8h.xhtml#a8661ec2137eef33a8cd0cd618a748871">_FILE_AND_LINE_</a>);</div>
<div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160; }</div>
<div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160; {</div>
<div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160; <span class="keywordflow">if</span> (i==(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>)-1)</div>
<div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160; <span class="keywordflow">return</span>; <span class="comment">// Unknown</span></div>
<div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160; <span class="comment">// They are done</span></div>
<div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160; <a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#aa91d6ee1f693f7f9842b6c83c1cb08c0">natDetectionAttempts</a>.<a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml#a351a647150169c71cc3f758dbb312096" title="Delete the element at position position.">RemoveAtIndexFast</a>(i);</div>
<div class="line"><a name="l00405"></a><span class="lineno"> 405</span>&#160; }</div>
<div class="line"><a name="l00406"></a><span class="lineno"> 406</span>&#160;</div>
<div class="line"><a name="l00407"></a><span class="lineno"> 407</span>&#160;}</div>
<div class="line"><a name="l00408"></a><span class="lineno"> 408</span>&#160;<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#a98d24b56073d89bd44b406154efca7d1">NatTypeDetectionServer::GetDetectionAttemptIndex</a>(<span class="keyword">const</span> <a class="code" href="../../d8/dbe/struct_s_l_net_1_1_system_address.xhtml" title="Network address for a system.">SystemAddress</a> &amp;sa)</div>
<div class="line"><a name="l00409"></a><span class="lineno"> 409</span>&#160;{</div>
<div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i=0; i &lt; <a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#aa91d6ee1f693f7f9842b6c83c1cb08c0">natDetectionAttempts</a>.<a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml#a6f13a4519693cbd16cd13b1fe284f330">Size</a>(); i++)</div>
<div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160; {</div>
<div class="line"><a name="l00412"></a><span class="lineno"> 412</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#aa91d6ee1f693f7f9842b6c83c1cb08c0">natDetectionAttempts</a>[i].systemAddress==sa)</div>
<div class="line"><a name="l00413"></a><span class="lineno"> 413</span>&#160; <span class="keywordflow">return</span> i;</div>
<div class="line"><a name="l00414"></a><span class="lineno"> 414</span>&#160; }</div>
<div class="line"><a name="l00415"></a><span class="lineno"> 415</span>&#160; <span class="keywordflow">return</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>) -1;</div>
<div class="line"><a name="l00416"></a><span class="lineno"> 416</span>&#160;}</div>
<div class="line"><a name="l00417"></a><span class="lineno"> 417</span>&#160;<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#a98d24b56073d89bd44b406154efca7d1">NatTypeDetectionServer::GetDetectionAttemptIndex</a>(<a class="code" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml">RakNetGUID</a> guid)</div>
<div class="line"><a name="l00418"></a><span class="lineno"> 418</span>&#160;{</div>
<div class="line"><a name="l00419"></a><span class="lineno"> 419</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i=0; i &lt; <a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#aa91d6ee1f693f7f9842b6c83c1cb08c0">natDetectionAttempts</a>.<a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml#a6f13a4519693cbd16cd13b1fe284f330">Size</a>(); i++)</div>
<div class="line"><a name="l00420"></a><span class="lineno"> 420</span>&#160; {</div>
<div class="line"><a name="l00421"></a><span class="lineno"> 421</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#aa91d6ee1f693f7f9842b6c83c1cb08c0">natDetectionAttempts</a>[i].guid==guid)</div>
<div class="line"><a name="l00422"></a><span class="lineno"> 422</span>&#160; <span class="keywordflow">return</span> i;</div>
<div class="line"><a name="l00423"></a><span class="lineno"> 423</span>&#160; }</div>
<div class="line"><a name="l00424"></a><span class="lineno"> 424</span>&#160; <span class="keywordflow">return</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>) -1;</div>
<div class="line"><a name="l00425"></a><span class="lineno"> 425</span>&#160;}</div>
<div class="line"><a name="l00426"></a><span class="lineno"> 426</span>&#160;</div>
<div class="line"><a name="l00427"></a><span class="lineno"> 427</span>&#160;<span class="comment">// --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00428"></a><span class="lineno"> 428</span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#a05b88442af31a52e7c8e8177be72d501">NatTypeDetectionServer::DeallocRNS2RecvStruct</a>(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#d2/ddc/struct_s_l_net_1_1_r_n_s2_recv_struct">RNS2RecvStruct</a> *s, <span class="keyword">const</span> <span class="keywordtype">char</span> *file, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> line)</div>
<div class="line"><a name="l00429"></a><span class="lineno"> 429</span>&#160;{</div>
<div class="line"><a name="l00430"></a><span class="lineno"> 430</span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a79772d09451f784e87bec85694fad1ed">SLNet::OP_DELETE</a>(s, file, line);</div>
<div class="line"><a name="l00431"></a><span class="lineno"> 431</span>&#160;}</div>
<div class="line"><a name="l00432"></a><span class="lineno"> 432</span>&#160;<span class="comment">// --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00433"></a><span class="lineno"> 433</span>&#160;<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#d2/ddc/struct_s_l_net_1_1_r_n_s2_recv_struct">RNS2RecvStruct</a> *<a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#ad15c7b1ecc0669cc50af1dadc445e8e2">NatTypeDetectionServer::AllocRNS2RecvStruct</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *file, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> line)</div>
<div class="line"><a name="l00434"></a><span class="lineno"> 434</span>&#160;{</div>
<div class="line"><a name="l00435"></a><span class="lineno"> 435</span>&#160; <span class="keywordflow">return</span> SLNet::OP_NEW&lt;RNS2RecvStruct&gt;(file,line);</div>
<div class="line"><a name="l00436"></a><span class="lineno"> 436</span>&#160;}</div>
<div class="line"><a name="l00437"></a><span class="lineno"> 437</span>&#160;</div>
<div class="line"><a name="l00438"></a><span class="lineno"> 438</span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#a922d04d16f97ab951f5fc489398128ca">NatTypeDetectionServer::OnRNS2Recv</a>(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#d2/ddc/struct_s_l_net_1_1_r_n_s2_recv_struct">RNS2RecvStruct</a> *recvStruct)</div>
<div class="line"><a name="l00439"></a><span class="lineno"> 439</span>&#160;{</div>
<div class="line"><a name="l00440"></a><span class="lineno"> 440</span>&#160; <a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#ab4bc017d5ad669ef1c0261d0d1435e09">bufferedPacketsMutex</a>.<a class="code" href="../../d9/da8/class_s_l_net_1_1_simple_mutex.xhtml#a7858bc7bc53efe7d0957ebe9d775e144">Lock</a>();</div>
<div class="line"><a name="l00441"></a><span class="lineno"> 441</span>&#160; <a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#a6b1c48a2ff3da78e9e90bdfb5a92dbe2">bufferedPackets</a>.<a class="code" href="../../d3/d87/class_data_structures_1_1_queue.xhtml#ae564a88f3367a786777694e778a4500d">Push</a>(recvStruct,<a class="code" href="../../d8/db0/defines_8h.xhtml#a8661ec2137eef33a8cd0cd618a748871">_FILE_AND_LINE_</a>);</div>
<div class="line"><a name="l00442"></a><span class="lineno"> 442</span>&#160; <a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#ab4bc017d5ad669ef1c0261d0d1435e09">bufferedPacketsMutex</a>.<a class="code" href="../../d9/da8/class_s_l_net_1_1_simple_mutex.xhtml#a3b5dc22cc92f6e08e4326f65be5c5e82">Unlock</a>();</div>
<div class="line"><a name="l00443"></a><span class="lineno"> 443</span>&#160;}</div>
<div class="line"><a name="l00444"></a><span class="lineno"> 444</span>&#160;</div>
<div class="line"><a name="l00445"></a><span class="lineno"> 445</span>&#160;<span class="preprocessor">#endif // _RAKNET_SUPPORT_*</span></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_74389ed8173ad57b461b9d623a1f3867.xhtml">Source</a></li><li class="navelem"><a class="el" href="../../dir_d1eb22c2ecfd8b50f59e9cbaf8260105.xhtml">src</a></li><li class="navelem"><a class="el" href="../../d7/d04/_nat_type_detection_server_8cpp.xhtml">NatTypeDetectionServer.cpp</a></li>
<li class="footer">Generated on Wed Aug 14 2019 22:09:47 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,3 @@
<map id="SLNet::UDPProxyCoordinator" name="SLNet::UDPProxyCoordinator">
<area shape="rect" id="node2" href="$de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#db/d5e/class_s_l_net_1_1_plugin_interface2" title="{SLNet::PluginInterface2\n|# rakPeerInterface\l# tcpInterface\l|+ PluginInterface2()\l+ ~PluginInterface2()\l+ OnAttach()\l+ OnDetach()\l+ Update()\l+ OnReceive()\l+ OnRakPeerStartup()\l+ OnRakPeerShutdown()\l+ OnClosedConnection()\l+ OnNewConnection()\land 12 more...\l# SendUnified()\l# SendUnified()\l# SendListUnified()\l# AllocatePacketUnified()\l# PushBackPacketUnified()\l# DeallocPacketUnified()\l}" alt="" coords="27,5,208,332"/>
</map>

View File

@ -0,0 +1 @@
321412b967c38c078ba34b0d6da2b11b

View File

@ -0,0 +1,150 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.38.0 (20140413.2041)
-->
<!-- Title: SLNet::UDPProxyCoordinator Pages: 1 -->
<!--zoomable 578 -->
<svg id="main" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" onload="init(evt)">
<defs>
<circle id="rim" cx="0" cy="0" r="7"/>
<circle id="rim2" cx="0" cy="0" r="3.5"/>
<g id="zoomPlus">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="zoomplus.mouseover" end="zoomplus.mouseout"/>
</use>
<path d="M-4,0h8M0,-4v8" fill="none" stroke="white" stroke-width="1.5" pointer-events="none"/>
</g>
<g id="zoomMin">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="zoomminus.mouseover" end="zoomminus.mouseout"/>
</use>
<path d="M-4,0h8" fill="none" stroke="white" stroke-width="1.5" pointer-events="none"/>
</g>
<g id="dirArrow">
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="resetDef">
<use xlink:href="#rim2" fill="#404040">
<set attributeName="fill" to="#808080" begin="reset.mouseover" end="reset.mouseout"/>
</use>
</g>
</defs>
<script type="text/javascript">
var viewWidth = 176;
var viewHeight = 578;
var sectionId = 'dynsection-8';
</script>
<script xlink:href="../../svgpan.js"/>
<svg id="graph" class="graph">
<g id="viewport">
<title>SLNet::UDPProxyCoordinator</title>
<!-- Node1 -->
<g id="node1" class="node"><title>Node1</title>
<polygon fill="#bfbfbf" stroke="black" points="0,-0.5 0,-288.5 168,-288.5 168,-0.5 0,-0.5"/>
<text text-anchor="middle" x="84" y="-276.5" font-family="Helvetica,sans-Serif" font-size="10.00">SLNet::UDPProxyCoordinator</text>
<polyline fill="none" stroke="black" points="0,-269.5 168,-269.5 "/>
<text text-anchor="start" x="8" y="-257.5" font-family="Helvetica,sans-Serif" font-size="10.00"># serverList</text>
<text text-anchor="start" x="8" y="-246.5" font-family="Helvetica,sans-Serif" font-size="10.00"># forwardingRequestList</text>
<text text-anchor="start" x="8" y="-235.5" font-family="Helvetica,sans-Serif" font-size="10.00"># remoteLoginPassword</text>
<polyline fill="none" stroke="black" points="0,-228.5 168,-228.5 "/>
<text text-anchor="start" x="8" y="-216.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ UDPProxyCoordinator()</text>
<text text-anchor="start" x="8" y="-205.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~UDPProxyCoordinator()</text>
<text text-anchor="start" x="8" y="-194.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SetRemoteLoginPassword()</text>
<text text-anchor="start" x="8" y="-183.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Update()</text>
<text text-anchor="start" x="8" y="-172.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ OnReceive()</text>
<text text-anchor="start" x="8" y="-161.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ OnClosedConnection()</text>
<text text-anchor="start" x="8" y="-150.5" font-family="Helvetica,sans-Serif" font-size="10.00"># OnForwardingRequestFromClient</text>
<text text-anchor="start" x="8" y="-139.5" font-family="Helvetica,sans-Serif" font-size="10.00">ToCoordinator()</text>
<text text-anchor="start" x="8" y="-128.5" font-family="Helvetica,sans-Serif" font-size="10.00"># OnLoginRequestFromServer</text>
<text text-anchor="start" x="8" y="-117.5" font-family="Helvetica,sans-Serif" font-size="10.00">ToCoordinator()</text>
<text text-anchor="start" x="8" y="-106.5" font-family="Helvetica,sans-Serif" font-size="10.00"># OnForwardingReplyFromServer</text>
<text text-anchor="start" x="8" y="-95.5" font-family="Helvetica,sans-Serif" font-size="10.00">ToCoordinator()</text>
<text text-anchor="start" x="8" y="-84.5" font-family="Helvetica,sans-Serif" font-size="10.00"># OnPingServersReplyFromClient</text>
<text text-anchor="start" x="8" y="-73.5" font-family="Helvetica,sans-Serif" font-size="10.00">ToCoordinator()</text>
<text text-anchor="start" x="8" y="-62.5" font-family="Helvetica,sans-Serif" font-size="10.00"># TryNextServer()</text>
<text text-anchor="start" x="8" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00"># SendAllBusy()</text>
<text text-anchor="start" x="8" y="-40.5" font-family="Helvetica,sans-Serif" font-size="10.00"># Clear()</text>
<text text-anchor="start" x="8" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00"># SendForwardingRequest()</text>
<text text-anchor="start" x="8" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00"># ServerWithPingComp()</text>
<text text-anchor="start" x="8" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00"># ForwardingRequestComp()</text>
</g>
<!-- Node2 -->
<g id="node2" class="node"><title>Node2</title>
<g id="a_node2"><a xlink:href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#db/d5e/class_s_l_net_1_1_plugin_interface2" target="_top" xlink:title="{SLNet::PluginInterface2\n|# rakPeerInterface\l# tcpInterface\l|+ PluginInterface2()\l+ ~PluginInterface2()\l+ OnAttach()\l+ OnDetach()\l+ Update()\l+ OnReceive()\l+ OnRakPeerStartup()\l+ OnRakPeerShutdown()\l+ OnClosedConnection()\l+ OnNewConnection()\land 12 more...\l# SendUnified()\l# SendUnified()\l# SendListUnified()\l# AllocatePacketUnified()\l# PushBackPacketUnified()\l# DeallocPacketUnified()\l}">
<polygon fill="none" stroke="black" points="16,-325.5 16,-569.5 152,-569.5 152,-325.5 16,-325.5"/>
<text text-anchor="middle" x="84" y="-557.5" font-family="Helvetica,sans-Serif" font-size="10.00">SLNet::PluginInterface2</text>
<polyline fill="none" stroke="black" points="16,-550.5 152,-550.5 "/>
<text text-anchor="start" x="24" y="-538.5" font-family="Helvetica,sans-Serif" font-size="10.00"># rakPeerInterface</text>
<text text-anchor="start" x="24" y="-527.5" font-family="Helvetica,sans-Serif" font-size="10.00"># tcpInterface</text>
<polyline fill="none" stroke="black" points="16,-520.5 152,-520.5 "/>
<text text-anchor="start" x="24" y="-508.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ PluginInterface2()</text>
<text text-anchor="start" x="24" y="-497.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~PluginInterface2()</text>
<text text-anchor="start" x="24" y="-486.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ OnAttach()</text>
<text text-anchor="start" x="24" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ OnDetach()</text>
<text text-anchor="start" x="24" y="-464.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Update()</text>
<text text-anchor="start" x="24" y="-453.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ OnReceive()</text>
<text text-anchor="start" x="24" y="-442.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ OnRakPeerStartup()</text>
<text text-anchor="start" x="24" y="-431.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ OnRakPeerShutdown()</text>
<text text-anchor="start" x="24" y="-420.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ OnClosedConnection()</text>
<text text-anchor="start" x="24" y="-409.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ OnNewConnection()</text>
<text text-anchor="start" x="24" y="-398.5" font-family="Helvetica,sans-Serif" font-size="10.00">and 12 more...</text>
<text text-anchor="start" x="24" y="-387.5" font-family="Helvetica,sans-Serif" font-size="10.00"># SendUnified()</text>
<text text-anchor="start" x="24" y="-376.5" font-family="Helvetica,sans-Serif" font-size="10.00"># SendUnified()</text>
<text text-anchor="start" x="24" y="-365.5" font-family="Helvetica,sans-Serif" font-size="10.00"># SendListUnified()</text>
<text text-anchor="start" x="24" y="-354.5" font-family="Helvetica,sans-Serif" font-size="10.00"># AllocatePacketUnified()</text>
<text text-anchor="start" x="24" y="-343.5" font-family="Helvetica,sans-Serif" font-size="10.00"># PushBackPacketUnified()</text>
<text text-anchor="start" x="24" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00"># DeallocPacketUnified()</text>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node1 -->
<g id="edge1" class="edge"><title>Node2&#45;&gt;Node1</title>
<path fill="none" stroke="midnightblue" d="M84,-315.118C84,-306.342 84,-297.477 84,-288.647"/>
<polygon fill="none" stroke="midnightblue" points="80.5001,-315.373 84,-325.373 87.5001,-315.373 80.5001,-315.373"/>
</g>
</g>
</svg>
<g id="navigator" transform="translate(0 0)" fill="#404254">
<rect fill="#f2f5e9" fill-opacity="0.5" stroke="#606060" stroke-width=".5" x="0" y="0" width="60" height="60"/>
<use id="zoomplus" xlink:href="#zoomPlus" x="17" y="9" onmousedown="handleZoom(evt,'in')"/>
<use id="zoomminus" xlink:href="#zoomMin" x="42" y="9" onmousedown="handleZoom(evt,'out')"/>
<use id="reset" xlink:href="#resetDef" x="30" y="36" onmousedown="handleReset()"/>
<g id="arrowUp" xlink:href="#dirArrow" transform="translate(30 24)" onmousedown="handlePan(0,-1)">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="arrowUp.mouseover" end="arrowUp.mouseout"/>
</use>
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowRight" xlink:href="#dirArrow" transform="rotate(90) translate(36 -43)" onmousedown="handlePan(1,0)">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="arrowRight.mouseover" end="arrowRight.mouseout"/>
</use>
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowDown" xlink:href="#dirArrow" transform="rotate(180) translate(-30 -48)" onmousedown="handlePan(0,1)">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="arrowDown.mouseover" end="arrowDown.mouseout"/>
</use>
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowLeft" xlink:href="#dirArrow" transform="rotate(270) translate(-36 17)" onmousedown="handlePan(-1,0)">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="arrowLeft.mouseover" end="arrowLeft.mouseout"/>
</use>
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
</g>
<svg viewBox="0 0 15 15" width="100%" height="30px" preserveAspectRatio="xMaxYMin meet">
<g id="arrow_out" transform="scale(0.3 0.3)">
<a xlink:href="class_s_l_net_1_1_u_d_p_proxy_coordinator__inherit__graph_org.svg" target="_base">
<rect id="button" ry="5" rx="5" y="6" x="6" height="38" width="38"
fill="#f2f5e9" fill-opacity="0.5" stroke="#606060" stroke-width="1.0"/>
<path id="arrow"
d="M 11.500037,31.436501 C 11.940474,20.09759 22.043105,11.32322 32.158766,21.979434 L 37.068811,17.246167 C 37.068811,17.246167 37.088388,32 37.088388,32 L 22.160133,31.978069 C 22.160133,31.978069 26.997745,27.140456 26.997745,27.140456 C 18.528582,18.264221 13.291696,25.230495 11.500037,31.436501 z"
style="fill:#404040;"/>
</a>
</g>
</svg>
</svg>

After

Width:  |  Height:  |  Size: 12 KiB

View File

@ -0,0 +1,76 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.38.0 (20140413.2041)
-->
<!-- Title: SLNet::UDPProxyCoordinator Pages: 1 -->
<svg width="176pt" height="578pt"
viewBox="0.00 0.00 176.00 578.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 574)">
<title>SLNet::UDPProxyCoordinator</title>
<!-- Node1 -->
<g id="node1" class="node"><title>Node1</title>
<polygon fill="#bfbfbf" stroke="black" points="0,-0.5 0,-288.5 168,-288.5 168,-0.5 0,-0.5"/>
<text text-anchor="middle" x="84" y="-276.5" font-family="Helvetica,sans-Serif" font-size="10.00">SLNet::UDPProxyCoordinator</text>
<polyline fill="none" stroke="black" points="0,-269.5 168,-269.5 "/>
<text text-anchor="start" x="8" y="-257.5" font-family="Helvetica,sans-Serif" font-size="10.00"># serverList</text>
<text text-anchor="start" x="8" y="-246.5" font-family="Helvetica,sans-Serif" font-size="10.00"># forwardingRequestList</text>
<text text-anchor="start" x="8" y="-235.5" font-family="Helvetica,sans-Serif" font-size="10.00"># remoteLoginPassword</text>
<polyline fill="none" stroke="black" points="0,-228.5 168,-228.5 "/>
<text text-anchor="start" x="8" y="-216.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ UDPProxyCoordinator()</text>
<text text-anchor="start" x="8" y="-205.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~UDPProxyCoordinator()</text>
<text text-anchor="start" x="8" y="-194.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SetRemoteLoginPassword()</text>
<text text-anchor="start" x="8" y="-183.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Update()</text>
<text text-anchor="start" x="8" y="-172.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ OnReceive()</text>
<text text-anchor="start" x="8" y="-161.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ OnClosedConnection()</text>
<text text-anchor="start" x="8" y="-150.5" font-family="Helvetica,sans-Serif" font-size="10.00"># OnForwardingRequestFromClient</text>
<text text-anchor="start" x="8" y="-139.5" font-family="Helvetica,sans-Serif" font-size="10.00">ToCoordinator()</text>
<text text-anchor="start" x="8" y="-128.5" font-family="Helvetica,sans-Serif" font-size="10.00"># OnLoginRequestFromServer</text>
<text text-anchor="start" x="8" y="-117.5" font-family="Helvetica,sans-Serif" font-size="10.00">ToCoordinator()</text>
<text text-anchor="start" x="8" y="-106.5" font-family="Helvetica,sans-Serif" font-size="10.00"># OnForwardingReplyFromServer</text>
<text text-anchor="start" x="8" y="-95.5" font-family="Helvetica,sans-Serif" font-size="10.00">ToCoordinator()</text>
<text text-anchor="start" x="8" y="-84.5" font-family="Helvetica,sans-Serif" font-size="10.00"># OnPingServersReplyFromClient</text>
<text text-anchor="start" x="8" y="-73.5" font-family="Helvetica,sans-Serif" font-size="10.00">ToCoordinator()</text>
<text text-anchor="start" x="8" y="-62.5" font-family="Helvetica,sans-Serif" font-size="10.00"># TryNextServer()</text>
<text text-anchor="start" x="8" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00"># SendAllBusy()</text>
<text text-anchor="start" x="8" y="-40.5" font-family="Helvetica,sans-Serif" font-size="10.00"># Clear()</text>
<text text-anchor="start" x="8" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00"># SendForwardingRequest()</text>
<text text-anchor="start" x="8" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00"># ServerWithPingComp()</text>
<text text-anchor="start" x="8" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00"># ForwardingRequestComp()</text>
</g>
<!-- Node2 -->
<g id="node2" class="node"><title>Node2</title>
<g id="a_node2"><a xlink:href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#db/d5e/class_s_l_net_1_1_plugin_interface2" target="_top" xlink:title="{SLNet::PluginInterface2\n|# rakPeerInterface\l# tcpInterface\l|+ PluginInterface2()\l+ ~PluginInterface2()\l+ OnAttach()\l+ OnDetach()\l+ Update()\l+ OnReceive()\l+ OnRakPeerStartup()\l+ OnRakPeerShutdown()\l+ OnClosedConnection()\l+ OnNewConnection()\land 12 more...\l# SendUnified()\l# SendUnified()\l# SendListUnified()\l# AllocatePacketUnified()\l# PushBackPacketUnified()\l# DeallocPacketUnified()\l}">
<polygon fill="none" stroke="black" points="16,-325.5 16,-569.5 152,-569.5 152,-325.5 16,-325.5"/>
<text text-anchor="middle" x="84" y="-557.5" font-family="Helvetica,sans-Serif" font-size="10.00">SLNet::PluginInterface2</text>
<polyline fill="none" stroke="black" points="16,-550.5 152,-550.5 "/>
<text text-anchor="start" x="24" y="-538.5" font-family="Helvetica,sans-Serif" font-size="10.00"># rakPeerInterface</text>
<text text-anchor="start" x="24" y="-527.5" font-family="Helvetica,sans-Serif" font-size="10.00"># tcpInterface</text>
<polyline fill="none" stroke="black" points="16,-520.5 152,-520.5 "/>
<text text-anchor="start" x="24" y="-508.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ PluginInterface2()</text>
<text text-anchor="start" x="24" y="-497.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~PluginInterface2()</text>
<text text-anchor="start" x="24" y="-486.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ OnAttach()</text>
<text text-anchor="start" x="24" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ OnDetach()</text>
<text text-anchor="start" x="24" y="-464.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Update()</text>
<text text-anchor="start" x="24" y="-453.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ OnReceive()</text>
<text text-anchor="start" x="24" y="-442.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ OnRakPeerStartup()</text>
<text text-anchor="start" x="24" y="-431.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ OnRakPeerShutdown()</text>
<text text-anchor="start" x="24" y="-420.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ OnClosedConnection()</text>
<text text-anchor="start" x="24" y="-409.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ OnNewConnection()</text>
<text text-anchor="start" x="24" y="-398.5" font-family="Helvetica,sans-Serif" font-size="10.00">and 12 more...</text>
<text text-anchor="start" x="24" y="-387.5" font-family="Helvetica,sans-Serif" font-size="10.00"># SendUnified()</text>
<text text-anchor="start" x="24" y="-376.5" font-family="Helvetica,sans-Serif" font-size="10.00"># SendUnified()</text>
<text text-anchor="start" x="24" y="-365.5" font-family="Helvetica,sans-Serif" font-size="10.00"># SendListUnified()</text>
<text text-anchor="start" x="24" y="-354.5" font-family="Helvetica,sans-Serif" font-size="10.00"># AllocatePacketUnified()</text>
<text text-anchor="start" x="24" y="-343.5" font-family="Helvetica,sans-Serif" font-size="10.00"># PushBackPacketUnified()</text>
<text text-anchor="start" x="24" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00"># DeallocPacketUnified()</text>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node1 -->
<g id="edge1" class="edge"><title>Node2&#45;&gt;Node1</title>
<path fill="none" stroke="midnightblue" d="M84,-315.118C84,-306.342 84,-297.477 84,-288.647"/>
<polygon fill="none" stroke="midnightblue" points="80.5001,-315.373 84,-325.373 87.5001,-315.373 80.5001,-315.373"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 7.3 KiB

View File

@ -0,0 +1,131 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>SLikeNet: Member List</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="../../index.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li class="current"><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../annotated.xhtml"><span>Class&#160;List</span></a></li>
<li><a href="../../classes.xhtml"><span>Class&#160;Index</span></a></li>
<li><a href="../../inherits.xhtml"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="../../functions.xhtml"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('d2/d84/class_s_l_net_1_1_lockless_uint32__t.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">SLNet::LocklessUint32_t Member List</div> </div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="../../d2/d84/class_s_l_net_1_1_lockless_uint32__t.xhtml">SLNet::LocklessUint32_t</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="../../d2/d84/class_s_l_net_1_1_lockless_uint32__t.xhtml#a63052a17f32014b9a7ac0fc92e1b09d8">Decrement</a>(void)</td><td class="entry"><a class="el" href="../../d2/d84/class_s_l_net_1_1_lockless_uint32__t.xhtml">SLNet::LocklessUint32_t</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d2/d84/class_s_l_net_1_1_lockless_uint32__t.xhtml#a86baed56154945eff4217fcc99e3eb1f">GetValue</a>(void) const </td><td class="entry"><a class="el" href="../../d2/d84/class_s_l_net_1_1_lockless_uint32__t.xhtml">SLNet::LocklessUint32_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d2/d84/class_s_l_net_1_1_lockless_uint32__t.xhtml#a94ff88513fdfb815d71f8fcf0957d6ba">Increment</a>(void)</td><td class="entry"><a class="el" href="../../d2/d84/class_s_l_net_1_1_lockless_uint32__t.xhtml">SLNet::LocklessUint32_t</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d2/d84/class_s_l_net_1_1_lockless_uint32__t.xhtml#a11e8621011ef05223ee409f35ec606de">LocklessUint32_t</a>()</td><td class="entry"><a class="el" href="../../d2/d84/class_s_l_net_1_1_lockless_uint32__t.xhtml">SLNet::LocklessUint32_t</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d2/d84/class_s_l_net_1_1_lockless_uint32__t.xhtml#af5346122b7375bc0e1c896564bc592c3">LocklessUint32_t</a>(uint32_t initial)</td><td class="entry"><a class="el" href="../../d2/d84/class_s_l_net_1_1_lockless_uint32__t.xhtml">SLNet::LocklessUint32_t</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d2/d84/class_s_l_net_1_1_lockless_uint32__t.xhtml#a51bb933a46a3dde1a7b7e88eb052bb0a">value</a></td><td class="entry"><a class="el" href="../../d2/d84/class_s_l_net_1_1_lockless_uint32__t.xhtml">SLNet::LocklessUint32_t</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated on Wed Aug 14 2019 22:09:49 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,9 @@
var _rand_8h =
[
[ "RakNetRandom", "df/dd4/class_s_l_net_1_1_rak_net_random.xhtml", "df/dd4/class_s_l_net_1_1_rak_net_random" ],
[ "fillBufferMT", "d7/d10/_rand_8h.xhtml#a4cb8c468a6fed51061e03bdb36f7e57d", null ],
[ "frandomMT", "d7/d10/_rand_8h.xhtml#ae7e667ae86b7729c6b86565b157085ee", null ],
[ "randomMT", "d7/d10/_rand_8h.xhtml#a98d797c74449c6e22cbffb43e123a8cc", null ],
[ "reloadMT", "d7/d10/_rand_8h.xhtml#a52b4c380a6150ce7db938d246579c781", null ],
[ "seedMT", "d7/d10/_rand_8h.xhtml#ab906455689fe29d53488741dcb85144c", null ]
];

View File

@ -0,0 +1,287 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>SLikeNet: Source/include/slikenet/Rand.h File Reference</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="../../index.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li class="current"><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../files.xhtml"><span>File&#160;List</span></a></li>
<li><a href="../../globals.xhtml"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('d7/d10/_rand_8h.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#namespaces">Namespaces</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">Rand.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><b></b>[Internal] Random number generator
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="../../db/dbd/_export_8h_source.xhtml">Export.h</a>&quot;</code><br/>
</div>
<p><a href="../../d7/d10/_rand_8h_source.xhtml">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/dd4/class_s_l_net_1_1_rak_net_random.xhtml">SLNet::RakNetRandom</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:dd/d30/namespace_s_l_net"><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d30/namespace_s_l_net.xhtml">SLNet</a></td></tr>
<tr class="memdesc:dd/d30/namespace_s_l_net"><td class="mdescLeft">&#160;</td><td class="mdescRight">Simple class to send changes between directories. In essence, a simple autopatcher that can be used for transmitting levels, skins, etc. <br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ab906455689fe29d53488741dcb85144c"><td class="memItemLeft" align="right" valign="top">void <a class="el" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d10/_rand_8h.xhtml#ab906455689fe29d53488741dcb85144c">seedMT</a> (unsigned int seed)</td></tr>
<tr class="separator:ab906455689fe29d53488741dcb85144c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a52b4c380a6150ce7db938d246579c781"><td class="memItemLeft" align="right" valign="top">unsigned int <a class="el" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d10/_rand_8h.xhtml#a52b4c380a6150ce7db938d246579c781">reloadMT</a> (void)</td></tr>
<tr class="separator:a52b4c380a6150ce7db938d246579c781"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a98d797c74449c6e22cbffb43e123a8cc"><td class="memItemLeft" align="right" valign="top">unsigned int <a class="el" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d10/_rand_8h.xhtml#a98d797c74449c6e22cbffb43e123a8cc">randomMT</a> (void)</td></tr>
<tr class="separator:a98d797c74449c6e22cbffb43e123a8cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae7e667ae86b7729c6b86565b157085ee"><td class="memItemLeft" align="right" valign="top">float <a class="el" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d10/_rand_8h.xhtml#ae7e667ae86b7729c6b86565b157085ee">frandomMT</a> (void)</td></tr>
<tr class="separator:ae7e667ae86b7729c6b86565b157085ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4cb8c468a6fed51061e03bdb36f7e57d"><td class="memItemLeft" align="right" valign="top">void <a class="el" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d10/_rand_8h.xhtml#a4cb8c468a6fed51061e03bdb36f7e57d">fillBufferMT</a> (void *buffer, unsigned int bytes)</td></tr>
<tr class="separator:a4cb8c468a6fed51061e03bdb36f7e57d"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p><b></b>[Internal] Random number generator </p>
<p>Definition in file <a class="el" href="../../d7/d10/_rand_8h_source.xhtml">Rand.h</a>.</p>
</div><h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="a4cb8c468a6fed51061e03bdb36f7e57d"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> fillBufferMT </td>
<td>(</td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>buffer</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned int&#160;</td>
<td class="paramname"><em>bytes</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Randomizes a buffer </p>
<dl class="section note"><dt>Note</dt><dd>not threadSafe, use an instance of RakNetRandom if necessary per thread </dd></dl>
<p>Definition at line <a class="el" href="../../da/d82/_rand_8cpp_source.xhtml#l00099">99</a> of file <a class="el" href="../../da/d82/_rand_8cpp_source.xhtml">Rand.cpp</a>.</p>
<p>References <a class="el" href="../../da/d82/_rand_8cpp_source.xhtml#l00072">_left</a>, <a class="el" href="../../da/d82/_rand_8cpp_source.xhtml#l00071">_next</a>, <a class="el" href="../../da/d82/_rand_8cpp_source.xhtml#l00070">_state</a>, and <a class="el" href="../../da/d82/_rand_8cpp_source.xhtml#l00213">fillBufferMT()</a>.</p>
</div>
</div>
<a class="anchor" id="ae7e667ae86b7729c6b86565b157085ee"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">float <a class="el" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> frandomMT </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Gets a random float </p>
<dl class="section note"><dt>Note</dt><dd>not threadSafe, use an instance of RakNetRandom if necessary per thread </dd></dl>
<dl class="section return"><dt>Returns</dt><dd>0 to 1.0f, inclusive </dd></dl>
<p>Definition at line <a class="el" href="../../da/d82/_rand_8cpp_source.xhtml#l00095">95</a> of file <a class="el" href="../../da/d82/_rand_8cpp_source.xhtml">Rand.cpp</a>.</p>
<p>References <a class="el" href="../../da/d82/_rand_8cpp_source.xhtml#l00072">_left</a>, <a class="el" href="../../da/d82/_rand_8cpp_source.xhtml#l00071">_next</a>, <a class="el" href="../../da/d82/_rand_8cpp_source.xhtml#l00070">_state</a>, and <a class="el" href="../../da/d82/_rand_8cpp_source.xhtml#l00228">frandomMT()</a>.</p>
</div>
</div>
<a class="anchor" id="a98d797c74449c6e22cbffb43e123a8cc"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">unsigned int <a class="el" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> randomMT </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Gets a random unsigned int </p>
<dl class="section note"><dt>Note</dt><dd>not threadSafe, use an instance of RakNetRandom if necessary per thread </dd></dl>
<dl class="section return"><dt>Returns</dt><dd>an integer random value. </dd></dl>
<p>Definition at line <a class="el" href="../../da/d82/_rand_8cpp_source.xhtml#l00091">91</a> of file <a class="el" href="../../da/d82/_rand_8cpp_source.xhtml">Rand.cpp</a>.</p>
<p>References <a class="el" href="../../da/d82/_rand_8cpp_source.xhtml#l00072">_left</a>, <a class="el" href="../../da/d82/_rand_8cpp_source.xhtml#l00071">_next</a>, <a class="el" href="../../da/d82/_rand_8cpp_source.xhtml#l00070">_state</a>, and <a class="el" href="../../da/d82/_rand_8cpp_source.xhtml#l00192">randomMT()</a>.</p>
</div>
</div>
<a class="anchor" id="a52b4c380a6150ce7db938d246579c781"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">unsigned int <a class="el" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> reloadMT </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../da/d82/_rand_8cpp_source.xhtml#l00087">87</a> of file <a class="el" href="../../da/d82/_rand_8cpp_source.xhtml">Rand.cpp</a>.</p>
<p>References <a class="el" href="../../da/d82/_rand_8cpp_source.xhtml#l00072">_left</a>, <a class="el" href="../../da/d82/_rand_8cpp_source.xhtml#l00071">_next</a>, <a class="el" href="../../da/d82/_rand_8cpp_source.xhtml#l00070">_state</a>, and <a class="el" href="../../da/d82/_rand_8cpp_source.xhtml#l00164">reloadMT()</a>.</p>
</div>
</div>
<a class="anchor" id="ab906455689fe29d53488741dcb85144c"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> seedMT </td>
<td>(</td>
<td class="paramtype">unsigned int&#160;</td>
<td class="paramname"><em>seed</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Initialise seed for Random Generator </p>
<dl class="section note"><dt>Note</dt><dd>not threadSafe, use an instance of RakNetRandom if necessary per thread </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">seed</td><td>The seed value for the random number generator. </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="../../da/d82/_rand_8cpp_source.xhtml#l00083">83</a> of file <a class="el" href="../../da/d82/_rand_8cpp_source.xhtml">Rand.cpp</a>.</p>
<p>References <a class="el" href="../../da/d82/_rand_8cpp_source.xhtml#l00072">_left</a>, <a class="el" href="../../da/d82/_rand_8cpp_source.xhtml#l00071">_next</a>, <a class="el" href="../../da/d82/_rand_8cpp_source.xhtml#l00070">_state</a>, and <a class="el" href="../../da/d82/_rand_8cpp_source.xhtml#l00104">seedMT()</a>.</p>
</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_74389ed8173ad57b461b9d623a1f3867.xhtml">Source</a></li><li class="navelem"><a class="el" href="../../dir_bbb90e3ef9167a594ae33323139a2595.xhtml">include</a></li><li class="navelem"><a class="el" href="../../dir_88467e66686deb9d3756fe4fc298e321.xhtml">slikenet</a></li><li class="navelem"><a class="el" href="../../d7/d10/_rand_8h.xhtml">Rand.h</a></li>
<li class="footer">Generated on Wed Aug 14 2019 22:09:48 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,177 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>SLikeNet: Source/include/slikenet/Rand.h Source File</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="../../index.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li class="current"><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../files.xhtml"><span>File&#160;List</span></a></li>
<li><a href="../../globals.xhtml"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('d7/d10/_rand_8h_source.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">Rand.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="../../d7/d10/_rand_8h.xhtml">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> * Original work: Copyright (c) 2014, Oculus VR, Inc.</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> * All rights reserved.</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> * This source code is licensed under the BSD-style license found in the</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> * RakNet License.txt file in the licenses directory of this source tree. An additional grant </span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> * of patent rights can be found in the RakNet Patents.txt file in the same directory.</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment"> * Modified work: Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> * This source code was modified by SLikeSoft. Modifications are licensed under the MIT-style</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> * license found in the license.txt file in the root directory of this source tree.</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;</div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;</div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;</div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;</div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="preprocessor">#ifndef __RAND_H</span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define __RAND_H </span></div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../db/dbd/_export_8h.xhtml">Export.h</a>&quot;</span></div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> <a class="code" href="../../da/d82/_rand_8cpp.xhtml#a86290618479835cad5f671ed697300d2">seedMT</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> seed );</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> <a class="code" href="../../da/d82/_rand_8cpp.xhtml#a178fd12bfa864f97ce60b0d06aff9dd8">reloadMT</a>( <span class="keywordtype">void</span> );</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> <a class="code" href="../../da/d82/_rand_8cpp.xhtml#a90046cfad3cc4ee544377abb9d435f34">randomMT</a>( <span class="keywordtype">void</span> );</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">float</span> <a class="code" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> <a class="code" href="../../da/d82/_rand_8cpp.xhtml#ae1893c71ce567b99bb84624d323368e2">frandomMT</a>( <span class="keywordtype">void</span> );</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> <a class="code" href="../../da/d82/_rand_8cpp.xhtml#ade83f21ad5a606f79932ba432d97ced7">fillBufferMT</a>( <span class="keywordtype">void</span> *buffer, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> bytes );</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;<span class="keyword">namespace </span>SLNet {</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;<span class="comment">// Same thing as above functions, but not global</span></div>
<div class="line"><a name="l00053"></a><span class="lineno"><a class="code" href="../../df/dd4/class_s_l_net_1_1_rak_net_random.xhtml"> 53</a></span>&#160;<span class="keyword">class </span><a class="code" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> <a class="code" href="../../df/dd4/class_s_l_net_1_1_rak_net_random.xhtml">RakNetRandom</a></div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;{</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <a class="code" href="../../df/dd4/class_s_l_net_1_1_rak_net_random.xhtml">RakNetRandom</a>();</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; ~<a class="code" href="../../df/dd4/class_s_l_net_1_1_rak_net_random.xhtml">RakNetRandom</a>();</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <span class="keywordtype">void</span> SeedMT( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> seed );</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> ReloadMT( <span class="keywordtype">void</span> );</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> RandomMT( <span class="keywordtype">void</span> );</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <span class="keywordtype">float</span> FrandomMT( <span class="keywordtype">void</span> );</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <span class="keywordtype">void</span> FillBufferMT( <span class="keywordtype">void</span> *buffer, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> bytes );</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;<span class="keyword">protected</span>:</div>
<div class="line"><a name="l00065"></a><span class="lineno"><a class="code" href="../../df/dd4/class_s_l_net_1_1_rak_net_random.xhtml#aba4f23edc22bef0a75c33e70382d222e"> 65</a></span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> state[ 624 + 1 ];</div>
<div class="line"><a name="l00066"></a><span class="lineno"><a class="code" href="../../df/dd4/class_s_l_net_1_1_rak_net_random.xhtml#a761ead9b3dba5d701104d3b888216afa"> 66</a></span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> *<a class="code" href="../../df/dd4/class_s_l_net_1_1_rak_net_random.xhtml#a761ead9b3dba5d701104d3b888216afa">next</a>;</div>
<div class="line"><a name="l00067"></a><span class="lineno"><a class="code" href="../../df/dd4/class_s_l_net_1_1_rak_net_random.xhtml#a834d8455dfa7dc94577bac72a987afdd"> 67</a></span>&#160; <span class="keywordtype">int</span> <a class="code" href="../../df/dd4/class_s_l_net_1_1_rak_net_random.xhtml#a834d8455dfa7dc94577bac72a987afdd">left</a>;</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;};</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;} <span class="comment">// namespace SLNet</span></div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;<span class="preprocessor">#endif</span></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_74389ed8173ad57b461b9d623a1f3867.xhtml">Source</a></li><li class="navelem"><a class="el" href="../../dir_bbb90e3ef9167a594ae33323139a2595.xhtml">include</a></li><li class="navelem"><a class="el" href="../../dir_88467e66686deb9d3756fe4fc298e321.xhtml">slikenet</a></li><li class="navelem"><a class="el" href="../../d7/d10/_rand_8h.xhtml">Rand.h</a></li>
<li class="footer">Generated on Wed Aug 14 2019 22:09:46 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,141 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>SLikeNet: Source/include/slikenet/LocklessTypes.h File Reference</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="../../index.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li class="current"><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../files.xhtml"><span>File&#160;List</span></a></li>
<li><a href="../../globals.xhtml"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('d7/d12/_lockless_types_8h.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#namespaces">Namespaces</a> </div>
<div class="headertitle">
<div class="title">LocklessTypes.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &quot;<a class="el" href="../../db/dbd/_export_8h_source.xhtml">Export.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../df/df2/_native_types_8h_source.xhtml">NativeTypes.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../db/d43/_windows_includes_8h_source.xhtml">WindowsIncludes.h</a>&quot;</code><br/>
</div>
<p><a href="../../d7/d12/_lockless_types_8h_source.xhtml">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d84/class_s_l_net_1_1_lockless_uint32__t.xhtml">SLNet::LocklessUint32_t</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:dd/d30/namespace_s_l_net"><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d30/namespace_s_l_net.xhtml">SLNet</a></td></tr>
<tr class="memdesc:dd/d30/namespace_s_l_net"><td class="mdescLeft">&#160;</td><td class="mdescRight">Simple class to send changes between directories. In essence, a simple autopatcher that can be used for transmitting levels, skins, etc. <br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_74389ed8173ad57b461b9d623a1f3867.xhtml">Source</a></li><li class="navelem"><a class="el" href="../../dir_bbb90e3ef9167a594ae33323139a2595.xhtml">include</a></li><li class="navelem"><a class="el" href="../../dir_88467e66686deb9d3756fe4fc298e321.xhtml">slikenet</a></li><li class="navelem"><a class="el" href="../../d7/d12/_lockless_types_8h.xhtml">LocklessTypes.h</a></li>
<li class="footer">Generated on Wed Aug 14 2019 22:09:48 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,176 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>SLikeNet: Source/include/slikenet/LocklessTypes.h Source File</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="../../index.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li class="current"><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../files.xhtml"><span>File&#160;List</span></a></li>
<li><a href="../../globals.xhtml"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('d7/d12/_lockless_types_8h_source.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">LocklessTypes.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="../../d7/d12/_lockless_types_8h.xhtml">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> * Original work: Copyright (c) 2014, Oculus VR, Inc.</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> * All rights reserved.</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> * This source code is licensed under the BSD-style license found in the</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> * RakNet License.txt file in the licenses directory of this source tree. An additional grant </span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> * of patent rights can be found in the RakNet Patents.txt file in the same directory.</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment"> * Modified work: Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> * This source code was modified by SLikeSoft. Modifications are licensed under the MIT-style</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> * license found in the license.txt file in the root directory of this source tree.</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;</div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="preprocessor">#ifndef __LOCKLESS_TYPES_H</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define __LOCKLESS_TYPES_H</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../db/dbd/_export_8h.xhtml">Export.h</a>&quot;</span></div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../df/df2/_native_types_8h.xhtml">NativeTypes.h</a>&quot;</span></div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../db/d43/_windows_includes_8h.xhtml">WindowsIncludes.h</a>&quot;</span></div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="preprocessor">#if defined(ANDROID) || defined(__S3E__) || defined(__APPLE__)</span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="preprocessor"></span><span class="comment">// __sync_fetch_and_add not supported apparently</span></div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../d7/ddd/_simple_mutex_8h.xhtml" title="[Internal] Encapsulates a mutex">SimpleMutex.h</a>&quot;</span></div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="keyword">namespace </span>SLNet</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;{</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;</div>
<div class="line"><a name="l00030"></a><span class="lineno"><a class="code" href="../../d2/d84/class_s_l_net_1_1_lockless_uint32__t.xhtml"> 30</a></span>&#160;<span class="keyword">class </span><a class="code" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> <a class="code" href="../../d2/d84/class_s_l_net_1_1_lockless_uint32__t.xhtml">LocklessUint32_t</a></div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;{</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; <a class="code" href="../../d2/d84/class_s_l_net_1_1_lockless_uint32__t.xhtml">LocklessUint32_t</a>();</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; <span class="keyword">explicit</span> <a class="code" href="../../d2/d84/class_s_l_net_1_1_lockless_uint32__t.xhtml">LocklessUint32_t</a>(<a class="code" href="../../df/df2/_native_types_8h.xhtml#a6eb1e68cc391dd753bc8ce896dbb8315">uint32_t</a> initial);</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; <span class="comment">// Returns variable value after changing it</span></div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; <a class="code" href="../../df/df2/_native_types_8h.xhtml#a6eb1e68cc391dd753bc8ce896dbb8315">uint32_t</a> Increment(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; <span class="comment">// Returns variable value after changing it</span></div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; <a class="code" href="../../df/df2/_native_types_8h.xhtml#a6eb1e68cc391dd753bc8ce896dbb8315">uint32_t</a> Decrement(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00039"></a><span class="lineno"><a class="code" href="../../d2/d84/class_s_l_net_1_1_lockless_uint32__t.xhtml#a86baed56154945eff4217fcc99e3eb1f"> 39</a></span>&#160; <a class="code" href="../../df/df2/_native_types_8h.xhtml#a6eb1e68cc391dd753bc8ce896dbb8315">uint32_t</a> <a class="code" href="../../d2/d84/class_s_l_net_1_1_lockless_uint32__t.xhtml#a86baed56154945eff4217fcc99e3eb1f">GetValue</a>(<span class="keywordtype">void</span>)<span class="keyword"> const </span>{<span class="keywordflow">return</span> value;}</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;<span class="keyword">protected</span>:</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;<span class="preprocessor">#ifdef _WIN32</span></div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;<span class="preprocessor"></span> <span class="keyword">volatile</span> LONG value;</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;<span class="preprocessor">#elif defined(ANDROID) || defined(__S3E__) || defined(__APPLE__)</span></div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;<span class="preprocessor"></span> <span class="comment">// __sync_fetch_and_add not supported apparently</span></div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; <a class="code" href="../../d9/da8/class_s_l_net_1_1_simple_mutex.xhtml" title="An easy to use mutex.">SimpleMutex</a> mutex;</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; <a class="code" href="../../df/df2/_native_types_8h.xhtml#a6eb1e68cc391dd753bc8ce896dbb8315">uint32_t</a> value;</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;<span class="preprocessor">#else</span></div>
<div class="line"><a name="l00049"></a><span class="lineno"><a class="code" href="../../d2/d84/class_s_l_net_1_1_lockless_uint32__t.xhtml#a51bb933a46a3dde1a7b7e88eb052bb0a"> 49</a></span>&#160;<span class="preprocessor"></span> <span class="keyword">volatile</span> <a class="code" href="../../df/df2/_native_types_8h.xhtml#a6eb1e68cc391dd753bc8ce896dbb8315">uint32_t</a> <a class="code" href="../../d2/d84/class_s_l_net_1_1_lockless_uint32__t.xhtml#a51bb933a46a3dde1a7b7e88eb052bb0a">value</a>;</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;<span class="preprocessor"></span>};</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;}</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;<span class="preprocessor">#endif</span></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_74389ed8173ad57b461b9d623a1f3867.xhtml">Source</a></li><li class="navelem"><a class="el" href="../../dir_bbb90e3ef9167a594ae33323139a2595.xhtml">include</a></li><li class="navelem"><a class="el" href="../../dir_88467e66686deb9d3756fe4fc298e321.xhtml">slikenet</a></li><li class="navelem"><a class="el" href="../../d7/d12/_lockless_types_8h.xhtml">LocklessTypes.h</a></li>
<li class="footer">Generated on Wed Aug 14 2019 22:09:46 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,127 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>SLikeNet: Source/src/DS_ByteQueue.cpp File Reference</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="../../index.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li class="current"><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../files.xhtml"><span>File&#160;List</span></a></li>
<li><a href="../../globals.xhtml"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('d7/d26/_d_s___byte_queue_8cpp.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">DS_ByteQueue.cpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &quot;<a class="el" href="../../d4/dc3/_d_s___byte_queue_8h_source.xhtml">slikenet/DS_ByteQueue.h</a>&quot;</code><br/>
<code>#include &lt;<a class="el" href="../../da/d66/string_8h_source.xhtml">string.h</a>&gt;</code><br/>
<code>#include &lt;stdlib.h&gt;</code><br/>
<code>#include &lt;stdio.h&gt;</code><br/>
</div>
<p><a href="../../d7/d26/_d_s___byte_queue_8cpp_source.xhtml">Go to the source code of this file.</a></p>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_74389ed8173ad57b461b9d623a1f3867.xhtml">Source</a></li><li class="navelem"><a class="el" href="../../dir_d1eb22c2ecfd8b50f59e9cbaf8260105.xhtml">src</a></li><li class="navelem"><a class="el" href="../../d7/d26/_d_s___byte_queue_8cpp.xhtml">DS_ByteQueue.cpp</a></li>
<li class="footer">Generated on Wed Aug 14 2019 22:09:48 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,263 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>SLikeNet: Source/src/DS_ByteQueue.cpp Source File</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="../../index.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li class="current"><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../files.xhtml"><span>File&#160;List</span></a></li>
<li><a href="../../globals.xhtml"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('d7/d26/_d_s___byte_queue_8cpp_source.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">DS_ByteQueue.cpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="../../d7/d26/_d_s___byte_queue_8cpp.xhtml">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> * Copyright (c) 2014, Oculus VR, Inc.</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> * All rights reserved.</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> * This source code is licensed under the BSD-style license found in the</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> * RakNet License.txt file in the licenses directory of this source tree. An additional grant </span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> * of patent rights can be found in the RakNet Patents.txt file in the same directory.</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment"> * Modified work: Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> * This source code was modified by SLikeSoft. Modifications are licensed under the MIT-style</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> * license found in the license.txt file in the root directory of this source tree.</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;</div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../d4/dc3/_d_s___byte_queue_8h.xhtml">slikenet/DS_ByteQueue.h</a>&quot;</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="../../da/d66/string_8h.xhtml">string.h</a>&gt;</span> <span class="comment">// Memmove</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="preprocessor">#include &lt;stdlib.h&gt;</span> <span class="comment">// realloc</span></div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="preprocessor">#include &lt;stdio.h&gt;</span></div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;</div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;</div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="keyword">using namespace </span>DataStructures;</div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;</div>
<div class="line"><a name="l00024"></a><span class="lineno"><a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#af46e9094a8848eae05dd05faa18c7cf8"> 24</a></span>&#160;<a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#af46e9094a8848eae05dd05faa18c7cf8">ByteQueue::ByteQueue</a>()</div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;{</div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160; <a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#aca87a2d80232d16183e0f3df6ac05f45">readOffset</a>=<a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#a85f8fee5b33abdd82ee1a6251adbaf58">writeOffset</a>=<a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#a58bf3cbb92ffd26a9466abb668e14f00">lengthAllocated</a>=0;</div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160; <a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#a28ba1ed7479ae358be3a59745919a75e">data</a>=0;</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;}</div>
<div class="line"><a name="l00029"></a><span class="lineno"><a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#a0c6dce34c8c4c7838f94917ed8911df6"> 29</a></span>&#160;<a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#a0c6dce34c8c4c7838f94917ed8911df6">ByteQueue::~ByteQueue</a>()</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;{</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160; <a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#ad004a0f4a6a25c3160ad53f3d7c94844">Clear</a>(<a class="code" href="../../d8/db0/defines_8h.xhtml#a8661ec2137eef33a8cd0cd618a748871">_FILE_AND_LINE_</a>);</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160; </div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;}</div>
<div class="line"><a name="l00035"></a><span class="lineno"><a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#a0db56ed238c4a8e1dcbf1a9112a4c159"> 35</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#a0db56ed238c4a8e1dcbf1a9112a4c159">ByteQueue::WriteBytes</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *in, <span class="keywordtype">unsigned</span> length, <span class="keyword">const</span> <span class="keywordtype">char</span> *file, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> line)</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;{</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; <span class="keywordtype">unsigned</span> bytesWritten;</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; bytesWritten=<a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#a27afa634c492ddbe9f53104fbe6cf273">GetBytesWritten</a>();</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#a58bf3cbb92ffd26a9466abb668e14f00">lengthAllocated</a>==0 || length &gt; <a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#a58bf3cbb92ffd26a9466abb668e14f00">lengthAllocated</a>-bytesWritten-1)</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; {</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; <span class="keywordtype">unsigned</span> oldLengthAllocated=<a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#a58bf3cbb92ffd26a9466abb668e14f00">lengthAllocated</a>;</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; <span class="comment">// Always need to waste 1 byte for the math to work, else writeoffset==readoffset</span></div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; <span class="keywordtype">unsigned</span> newAmountToAllocate=length+oldLengthAllocated+1;</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; <span class="keywordflow">if</span> (newAmountToAllocate&lt;256)</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; newAmountToAllocate=256;</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; <a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#a58bf3cbb92ffd26a9466abb668e14f00">lengthAllocated</a>=<a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#a58bf3cbb92ffd26a9466abb668e14f00">lengthAllocated</a> + newAmountToAllocate;</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; <a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#a28ba1ed7479ae358be3a59745919a75e">data</a>=(<span class="keywordtype">char</span>*)<a class="code" href="../../d9/d4c/_rak_memory_override_8cpp.xhtml#a6dca7c6bae7fe47d4e94611ba1478c0c">rakRealloc_Ex</a>(<a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#a28ba1ed7479ae358be3a59745919a75e">data</a>, <a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#a58bf3cbb92ffd26a9466abb668e14f00">lengthAllocated</a>, file, line);</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#a85f8fee5b33abdd82ee1a6251adbaf58">writeOffset</a> &lt; <a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#aca87a2d80232d16183e0f3df6ac05f45">readOffset</a>)</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; {</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#a85f8fee5b33abdd82ee1a6251adbaf58">writeOffset</a> &lt;= newAmountToAllocate)</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; {</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; memcpy(<a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#a28ba1ed7479ae358be3a59745919a75e">data</a> + oldLengthAllocated, <a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#a28ba1ed7479ae358be3a59745919a75e">data</a>, <a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#a85f8fee5b33abdd82ee1a6251adbaf58">writeOffset</a>);</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#a85f8fee5b33abdd82ee1a6251adbaf58">writeOffset</a>=<a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#aca87a2d80232d16183e0f3df6ac05f45">readOffset</a>+bytesWritten;</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; }</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; {</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; memcpy(<a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#a28ba1ed7479ae358be3a59745919a75e">data</a> + oldLengthAllocated, <a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#a28ba1ed7479ae358be3a59745919a75e">data</a>, newAmountToAllocate);</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; memmove(<a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#a28ba1ed7479ae358be3a59745919a75e">data</a>, <a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#a28ba1ed7479ae358be3a59745919a75e">data</a>+newAmountToAllocate, <a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#a85f8fee5b33abdd82ee1a6251adbaf58">writeOffset</a>-newAmountToAllocate);</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#a85f8fee5b33abdd82ee1a6251adbaf58">writeOffset</a>-=newAmountToAllocate;</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; }</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; }</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; }</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; <span class="keywordflow">if</span> (length &lt;= <a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#a58bf3cbb92ffd26a9466abb668e14f00">lengthAllocated</a>-<a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#a85f8fee5b33abdd82ee1a6251adbaf58">writeOffset</a>)</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; memcpy(<a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#a28ba1ed7479ae358be3a59745919a75e">data</a>+<a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#a85f8fee5b33abdd82ee1a6251adbaf58">writeOffset</a>, in, length);</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; {</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; <span class="comment">// Wrap</span></div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; memcpy(<a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#a28ba1ed7479ae358be3a59745919a75e">data</a>+<a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#a85f8fee5b33abdd82ee1a6251adbaf58">writeOffset</a>, in, <a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#a58bf3cbb92ffd26a9466abb668e14f00">lengthAllocated</a>-<a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#a85f8fee5b33abdd82ee1a6251adbaf58">writeOffset</a>);</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; memcpy(<a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#a28ba1ed7479ae358be3a59745919a75e">data</a>, in+(<a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#a58bf3cbb92ffd26a9466abb668e14f00">lengthAllocated</a>-<a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#a85f8fee5b33abdd82ee1a6251adbaf58">writeOffset</a>), length-(<a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#a58bf3cbb92ffd26a9466abb668e14f00">lengthAllocated</a>-<a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#a85f8fee5b33abdd82ee1a6251adbaf58">writeOffset</a>));</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; }</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#a85f8fee5b33abdd82ee1a6251adbaf58">writeOffset</a>=(<a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#a85f8fee5b33abdd82ee1a6251adbaf58">writeOffset</a>+length) % <a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#a58bf3cbb92ffd26a9466abb668e14f00">lengthAllocated</a>;</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;}</div>
<div class="line"><a name="l00074"></a><span class="lineno"><a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#ac0c658c8f766e2c6dbb02c610d31f582"> 74</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#ac0c658c8f766e2c6dbb02c610d31f582">ByteQueue::ReadBytes</a>(<span class="keywordtype">char</span> *out, <span class="keywordtype">unsigned</span> maxLengthToRead, <span class="keywordtype">bool</span> peek)</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;{</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; <span class="keywordtype">unsigned</span> bytesWritten = <a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#a27afa634c492ddbe9f53104fbe6cf273">GetBytesWritten</a>();</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <span class="keywordtype">unsigned</span> bytesToRead = bytesWritten &lt; maxLengthToRead ? bytesWritten : maxLengthToRead;</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <span class="keywordflow">if</span> (bytesToRead==0)</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#a85f8fee5b33abdd82ee1a6251adbaf58">writeOffset</a>&gt;=<a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#aca87a2d80232d16183e0f3df6ac05f45">readOffset</a>)</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; {</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; memcpy(out, <a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#a28ba1ed7479ae358be3a59745919a75e">data</a>+<a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#aca87a2d80232d16183e0f3df6ac05f45">readOffset</a>, bytesToRead);</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; }</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; {</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; <span class="keywordtype">unsigned</span> availableUntilWrap = <a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#a58bf3cbb92ffd26a9466abb668e14f00">lengthAllocated</a>-<a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#aca87a2d80232d16183e0f3df6ac05f45">readOffset</a>;</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; <span class="keywordflow">if</span> (bytesToRead &lt;= availableUntilWrap)</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; {</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; memcpy(out, <a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#a28ba1ed7479ae358be3a59745919a75e">data</a>+readOffset, bytesToRead);</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; }</div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; {</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; memcpy(out, <a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#a28ba1ed7479ae358be3a59745919a75e">data</a>+readOffset, availableUntilWrap);</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; memcpy(out+availableUntilWrap, <a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#a28ba1ed7479ae358be3a59745919a75e">data</a>, bytesToRead-availableUntilWrap);</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; }</div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; }</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160;</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; <span class="keywordflow">if</span> (peek==<span class="keyword">false</span>)</div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; <a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#ac24da4177978aa25555221945bbd2c9c">IncrementReadOffset</a>(bytesToRead);</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; </div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160;}</div>
<div class="line"><a name="l00103"></a><span class="lineno"><a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#a4177cc9da786255b1ec20fa0aefc0c54"> 103</a></span>&#160;<span class="keywordtype">char</span>* <a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#a4177cc9da786255b1ec20fa0aefc0c54">ByteQueue::PeekContiguousBytes</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> *outLength)<span class="keyword"> const</span></div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#a85f8fee5b33abdd82ee1a6251adbaf58">writeOffset</a>&gt;=<a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#aca87a2d80232d16183e0f3df6ac05f45">readOffset</a>)</div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; *outLength=<a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#a85f8fee5b33abdd82ee1a6251adbaf58">writeOffset</a>-<a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#aca87a2d80232d16183e0f3df6ac05f45">readOffset</a>;</div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; *outLength=<a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#a58bf3cbb92ffd26a9466abb668e14f00">lengthAllocated</a>-<a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#aca87a2d80232d16183e0f3df6ac05f45">readOffset</a>;</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <span class="keywordflow">return</span> <a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#a28ba1ed7479ae358be3a59745919a75e">data</a>+<a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#aca87a2d80232d16183e0f3df6ac05f45">readOffset</a>;</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;}</div>
<div class="line"><a name="l00111"></a><span class="lineno"><a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#ad004a0f4a6a25c3160ad53f3d7c94844"> 111</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#ad004a0f4a6a25c3160ad53f3d7c94844">ByteQueue::Clear</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *file, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> line)</div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;{</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#a58bf3cbb92ffd26a9466abb668e14f00">lengthAllocated</a>)</div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; <a class="code" href="../../d9/d4c/_rak_memory_override_8cpp.xhtml#ab91fbe0570bf501cd97a53c6cffcef8f">rakFree_Ex</a>(<a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#a28ba1ed7479ae358be3a59745919a75e">data</a>, file, line );</div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; <a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#aca87a2d80232d16183e0f3df6ac05f45">readOffset</a>=<a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#a85f8fee5b33abdd82ee1a6251adbaf58">writeOffset</a>=<a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#a58bf3cbb92ffd26a9466abb668e14f00">lengthAllocated</a>=0;</div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#a28ba1ed7479ae358be3a59745919a75e">data</a>=0;</div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;}</div>
<div class="line"><a name="l00118"></a><span class="lineno"><a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#a27afa634c492ddbe9f53104fbe6cf273"> 118</a></span>&#160;<span class="keywordtype">unsigned</span> <a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#a27afa634c492ddbe9f53104fbe6cf273">ByteQueue::GetBytesWritten</a>(<span class="keywordtype">void</span>)<span class="keyword"> const</span></div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#a85f8fee5b33abdd82ee1a6251adbaf58">writeOffset</a>&gt;=<a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#aca87a2d80232d16183e0f3df6ac05f45">readOffset</a>)</div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <span class="keywordflow">return</span> <a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#a85f8fee5b33abdd82ee1a6251adbaf58">writeOffset</a>-<a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#aca87a2d80232d16183e0f3df6ac05f45">readOffset</a>;</div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; <span class="keywordflow">return</span> <a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#a85f8fee5b33abdd82ee1a6251adbaf58">writeOffset</a>+(<a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#a58bf3cbb92ffd26a9466abb668e14f00">lengthAllocated</a>-<a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#aca87a2d80232d16183e0f3df6ac05f45">readOffset</a>);</div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;}</div>
<div class="line"><a name="l00125"></a><span class="lineno"><a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#ac24da4177978aa25555221945bbd2c9c"> 125</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#ac24da4177978aa25555221945bbd2c9c">ByteQueue::IncrementReadOffset</a>(<span class="keywordtype">unsigned</span> length)</div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;{</div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#aca87a2d80232d16183e0f3df6ac05f45">readOffset</a>=(<a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#aca87a2d80232d16183e0f3df6ac05f45">readOffset</a>+length) % <a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#a58bf3cbb92ffd26a9466abb668e14f00">lengthAllocated</a>;</div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160;}</div>
<div class="line"><a name="l00129"></a><span class="lineno"><a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#a08a5b33591cbc886c03151f66ce76c56"> 129</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#a08a5b33591cbc886c03151f66ce76c56">ByteQueue::DecrementReadOffset</a>(<span class="keywordtype">unsigned</span> length)</div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;{</div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; <span class="keywordflow">if</span> (length&gt;<a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#aca87a2d80232d16183e0f3df6ac05f45">readOffset</a>)</div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; <a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#aca87a2d80232d16183e0f3df6ac05f45">readOffset</a>=<a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#a58bf3cbb92ffd26a9466abb668e14f00">lengthAllocated</a>-(length-<a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#aca87a2d80232d16183e0f3df6ac05f45">readOffset</a>);</div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; <a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#aca87a2d80232d16183e0f3df6ac05f45">readOffset</a>-=length;</div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;}</div>
<div class="line"><a name="l00136"></a><span class="lineno"><a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#a91a75c2b8b9261326357f291dd241d7c"> 136</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#a91a75c2b8b9261326357f291dd241d7c">ByteQueue::Print</a>(<span class="keywordtype">void</span>)</div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160;{</div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; <span class="keywordtype">unsigned</span> i;</div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; <span class="keywordflow">for</span> (i=<a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#aca87a2d80232d16183e0f3df6ac05f45">readOffset</a>; i!=<a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#a85f8fee5b33abdd82ee1a6251adbaf58">writeOffset</a>; i++)</div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; <a class="code" href="../../d8/db0/defines_8h.xhtml#a2a5d867f7ae6521f217847a78f17ab4a">RAKNET_DEBUG_PRINTF</a>(<span class="stringliteral">&quot;%i &quot;</span>, <a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#a28ba1ed7479ae358be3a59745919a75e">data</a>[i]);</div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; <a class="code" href="../../d8/db0/defines_8h.xhtml#a2a5d867f7ae6521f217847a78f17ab4a">RAKNET_DEBUG_PRINTF</a>(<span class="stringliteral">&quot;\n&quot;</span>);</div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;}</div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_74389ed8173ad57b461b9d623a1f3867.xhtml">Source</a></li><li class="navelem"><a class="el" href="../../dir_d1eb22c2ecfd8b50f59e9cbaf8260105.xhtml">src</a></li><li class="navelem"><a class="el" href="../../d7/d26/_d_s___byte_queue_8cpp.xhtml">DS_ByteQueue.cpp</a></li>
<li class="footer">Generated on Wed Aug 14 2019 22:09:47 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,155 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>SLikeNet: Member List</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="../../index.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li class="current"><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../annotated.xhtml"><span>Class&#160;List</span></a></li>
<li><a href="../../classes.xhtml"><span>Class&#160;Index</span></a></li>
<li><a href="../../inherits.xhtml"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="../../functions.xhtml"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('d9/d9a/struct_s_l_net_1_1_internal_packet.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">SLNet::InternalPacket Member List</div> </div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="../../d9/d9a/struct_s_l_net_1_1_internal_packet.xhtml">SLNet::InternalPacket</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="../../d9/d9a/struct_s_l_net_1_1_internal_packet.xhtml#ab9f3530490f074239c783495e4d176a0">AllocationScheme</a> enum name</td><td class="entry"><a class="el" href="../../d9/d9a/struct_s_l_net_1_1_internal_packet.xhtml">SLNet::InternalPacket</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d9/d9a/struct_s_l_net_1_1_internal_packet.xhtml#a923316ee89426c1e6078d9a4c83c4061">allocationScheme</a></td><td class="entry"><a class="el" href="../../d9/d9a/struct_s_l_net_1_1_internal_packet.xhtml">SLNet::InternalPacket</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d9/d9a/struct_s_l_net_1_1_internal_packet.xhtml#a917f67e20c8cf4b48deb98beba7fbf2c">creationTime</a></td><td class="entry"><a class="el" href="../../d9/d9a/struct_s_l_net_1_1_internal_packet.xhtml">SLNet::InternalPacket</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d9/d9a/struct_s_l_net_1_1_internal_packet.xhtml#ae0124bba032baf45f71b15d7b8fda2fa">data</a></td><td class="entry"><a class="el" href="../../d9/d9a/struct_s_l_net_1_1_internal_packet.xhtml">SLNet::InternalPacket</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d4/d46/struct_s_l_net_1_1_internal_packet_fixed_size_transmission_header.xhtml#a34c93035a873e2e60f31fda6eca0510c">dataBitLength</a></td><td class="entry"><a class="el" href="../../d4/d46/struct_s_l_net_1_1_internal_packet_fixed_size_transmission_header.xhtml">SLNet::InternalPacketFixedSizeTransmissionHeader</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d9/d9a/struct_s_l_net_1_1_internal_packet.xhtml#ad8c98f322a49f5765b9960743907a750">headerLength</a></td><td class="entry"><a class="el" href="../../d9/d9a/struct_s_l_net_1_1_internal_packet.xhtml">SLNet::InternalPacket</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d9/d9a/struct_s_l_net_1_1_internal_packet.xhtml#a399a8e9109710d94c36c3dca946ce8a2">messageInternalOrder</a></td><td class="entry"><a class="el" href="../../d9/d9a/struct_s_l_net_1_1_internal_packet.xhtml">SLNet::InternalPacket</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d9/d9a/struct_s_l_net_1_1_internal_packet.xhtml#a4f7fcca56594cded46930e105e175339">messageNumberAssigned</a></td><td class="entry"><a class="el" href="../../d9/d9a/struct_s_l_net_1_1_internal_packet.xhtml">SLNet::InternalPacket</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d9/d9a/struct_s_l_net_1_1_internal_packet.xhtml#a6793b6c44191952078c40545e227c4f0">nextActionTime</a></td><td class="entry"><a class="el" href="../../d9/d9a/struct_s_l_net_1_1_internal_packet.xhtml">SLNet::InternalPacket</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d9/d9a/struct_s_l_net_1_1_internal_packet.xhtml#ab9f3530490f074239c783495e4d176a0a8a25cc0b17e6ab9242ba0e5dc9461a0b">NORMAL</a> enum value</td><td class="entry"><a class="el" href="../../d9/d9a/struct_s_l_net_1_1_internal_packet.xhtml">SLNet::InternalPacket</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d4/d46/struct_s_l_net_1_1_internal_packet_fixed_size_transmission_header.xhtml#a4f1bb12b768ec1b1814218c77e5df709">orderingChannel</a></td><td class="entry"><a class="el" href="../../d4/d46/struct_s_l_net_1_1_internal_packet_fixed_size_transmission_header.xhtml">SLNet::InternalPacketFixedSizeTransmissionHeader</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d4/d46/struct_s_l_net_1_1_internal_packet_fixed_size_transmission_header.xhtml#a1fabcef98ca0b6e15d6aca4c8ebe862b">orderingIndex</a></td><td class="entry"><a class="el" href="../../d4/d46/struct_s_l_net_1_1_internal_packet_fixed_size_transmission_header.xhtml">SLNet::InternalPacketFixedSizeTransmissionHeader</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d9/d9a/struct_s_l_net_1_1_internal_packet.xhtml#a47e8d1384096dcfbc7925b41e3e7c84e">priority</a></td><td class="entry"><a class="el" href="../../d9/d9a/struct_s_l_net_1_1_internal_packet.xhtml">SLNet::InternalPacket</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d9/d9a/struct_s_l_net_1_1_internal_packet.xhtml#ab9f3530490f074239c783495e4d176a0a7153cb6d9548b358df1f5d3777444651">REF_COUNTED</a> enum value</td><td class="entry"><a class="el" href="../../d9/d9a/struct_s_l_net_1_1_internal_packet.xhtml">SLNet::InternalPacket</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d9/d9a/struct_s_l_net_1_1_internal_packet.xhtml#a2d459505f68f0ac9d914f471625eddea">refCountedData</a></td><td class="entry"><a class="el" href="../../d9/d9a/struct_s_l_net_1_1_internal_packet.xhtml">SLNet::InternalPacket</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d4/d46/struct_s_l_net_1_1_internal_packet_fixed_size_transmission_header.xhtml#af3dfd67bcaa86ce75e39c414d59447b5">reliability</a></td><td class="entry"><a class="el" href="../../d4/d46/struct_s_l_net_1_1_internal_packet_fixed_size_transmission_header.xhtml">SLNet::InternalPacketFixedSizeTransmissionHeader</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d4/d46/struct_s_l_net_1_1_internal_packet_fixed_size_transmission_header.xhtml#a1ba0071a22897a0b50f5a414735dc542">reliableMessageNumber</a></td><td class="entry"><a class="el" href="../../d4/d46/struct_s_l_net_1_1_internal_packet_fixed_size_transmission_header.xhtml">SLNet::InternalPacketFixedSizeTransmissionHeader</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d9/d9a/struct_s_l_net_1_1_internal_packet.xhtml#a9f1943940d66b55f3fe19dd9d8751a0b">resendNext</a></td><td class="entry"><a class="el" href="../../d9/d9a/struct_s_l_net_1_1_internal_packet.xhtml">SLNet::InternalPacket</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d9/d9a/struct_s_l_net_1_1_internal_packet.xhtml#a0d6417c39f68a57f41d5bf60d666d023">resendPrev</a></td><td class="entry"><a class="el" href="../../d9/d9a/struct_s_l_net_1_1_internal_packet.xhtml">SLNet::InternalPacket</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d9/d9a/struct_s_l_net_1_1_internal_packet.xhtml#a6de6a044a98de267b994438f391556b8">retransmissionTime</a></td><td class="entry"><a class="el" href="../../d9/d9a/struct_s_l_net_1_1_internal_packet.xhtml">SLNet::InternalPacket</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d9/d9a/struct_s_l_net_1_1_internal_packet.xhtml#a218b725d7cfd3577195f5c14a401694c">sendReceiptSerial</a></td><td class="entry"><a class="el" href="../../d9/d9a/struct_s_l_net_1_1_internal_packet.xhtml">SLNet::InternalPacket</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d4/d46/struct_s_l_net_1_1_internal_packet_fixed_size_transmission_header.xhtml#a29568680a39b237528fbbf775b1f99e0">sequencingIndex</a></td><td class="entry"><a class="el" href="../../d4/d46/struct_s_l_net_1_1_internal_packet_fixed_size_transmission_header.xhtml">SLNet::InternalPacketFixedSizeTransmissionHeader</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d4/d46/struct_s_l_net_1_1_internal_packet_fixed_size_transmission_header.xhtml#a08dd401807f28ff2a8bc8b42884711cf">splitPacketCount</a></td><td class="entry"><a class="el" href="../../d4/d46/struct_s_l_net_1_1_internal_packet_fixed_size_transmission_header.xhtml">SLNet::InternalPacketFixedSizeTransmissionHeader</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d4/d46/struct_s_l_net_1_1_internal_packet_fixed_size_transmission_header.xhtml#a01f5ff1a7b5cec5925f0ec5703bfae13">splitPacketId</a></td><td class="entry"><a class="el" href="../../d4/d46/struct_s_l_net_1_1_internal_packet_fixed_size_transmission_header.xhtml">SLNet::InternalPacketFixedSizeTransmissionHeader</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d4/d46/struct_s_l_net_1_1_internal_packet_fixed_size_transmission_header.xhtml#af1e3b0024f2cbbd08d9217457c6721f3">splitPacketIndex</a></td><td class="entry"><a class="el" href="../../d4/d46/struct_s_l_net_1_1_internal_packet_fixed_size_transmission_header.xhtml">SLNet::InternalPacketFixedSizeTransmissionHeader</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d9/d9a/struct_s_l_net_1_1_internal_packet.xhtml#ab9f3530490f074239c783495e4d176a0a7f9bbca8ea2711a8729f8c0dbf5c8f58">STACK</a> enum value</td><td class="entry"><a class="el" href="../../d9/d9a/struct_s_l_net_1_1_internal_packet.xhtml">SLNet::InternalPacket</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d9/d9a/struct_s_l_net_1_1_internal_packet.xhtml#aa69c725aa9547a997f661535a740e31b">stackData</a></td><td class="entry"><a class="el" href="../../d9/d9a/struct_s_l_net_1_1_internal_packet.xhtml">SLNet::InternalPacket</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d9/d9a/struct_s_l_net_1_1_internal_packet.xhtml#adc41cae78447c4f9c20d2607c3d1617f">timesSent</a></td><td class="entry"><a class="el" href="../../d9/d9a/struct_s_l_net_1_1_internal_packet.xhtml">SLNet::InternalPacket</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d9/d9a/struct_s_l_net_1_1_internal_packet.xhtml#a283ac9e10954e8718916bb454173bead">unreliableNext</a></td><td class="entry"><a class="el" href="../../d9/d9a/struct_s_l_net_1_1_internal_packet.xhtml">SLNet::InternalPacket</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d9/d9a/struct_s_l_net_1_1_internal_packet.xhtml#a41632b2e9cd4069d8e1920dd5d53705c">unreliablePrev</a></td><td class="entry"><a class="el" href="../../d9/d9a/struct_s_l_net_1_1_internal_packet.xhtml">SLNet::InternalPacket</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated on Wed Aug 14 2019 22:09:49 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,4 @@
var _cloud_client_8h =
[
[ "__CLOUD_CLIENT_H", "d7/d3c/_cloud_client_8h.xhtml#afa8bafbed850ac06b09a9b24f4477ff0", null ]
];

View File

@ -0,0 +1,174 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>SLikeNet: Source/include/slikenet/CloudClient.h File Reference</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="../../index.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li class="current"><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../files.xhtml"><span>File&#160;List</span></a></li>
<li><a href="../../globals.xhtml"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('d7/d3c/_cloud_client_8h.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#namespaces">Namespaces</a> &#124;
<a href="#define-members">Macros</a> </div>
<div class="headertitle">
<div class="title">CloudClient.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>Queries CloudMemoryServer to download data that other clients have uploaded.
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="../../de/ddb/_native_feature_includes_8h_source.xhtml">NativeFeatureIncludes.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../d7/ddd/_plugin_interface2_8h_source.xhtml">PluginInterface2.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../d7/d6d/_cloud_common_8h_source.xhtml">CloudCommon.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../dd/dc5/memoryoverride_8h_source.xhtml">memoryoverride.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../d2/d77/_d_s___hash_8h_source.xhtml">DS_Hash.h</a>&quot;</code><br/>
</div>
<p><a href="../../d7/d3c/_cloud_client_8h_source.xhtml">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:dc/d7d/class_s_l_net_1_1_cloud_client"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#dc/d7d/class_s_l_net_1_1_cloud_client">SLNet::CloudClient</a></td></tr>
<tr class="memdesc:dc/d7d/class_s_l_net_1_1_cloud_client"><td class="mdescLeft">&#160;</td><td class="mdescRight">Performs <a class="el" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#a6250dddbb6207134d8db0bd934abb92f" title="Uploads data to the cloud.">Post()</a> and <a class="el" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#a6e5e3f760ba459512ae9df2addd433b6" title="Gets data from the cloud.">Get()</a> operations on CloudMemoryServer. <a href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#dc/d7d/class_s_l_net_1_1_cloud_client">More...</a><br/></td></tr>
<tr class="separator:dc/d7d/class_s_l_net_1_1_cloud_client"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:dc/d31/class_s_l_net_1_1_cloud_client_callback"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#dc/d31/class_s_l_net_1_1_cloud_client_callback">SLNet::CloudClientCallback</a></td></tr>
<tr class="separator:dc/d31/class_s_l_net_1_1_cloud_client_callback"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:dd/d30/namespace_s_l_net"><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d30/namespace_s_l_net.xhtml">SLNet</a></td></tr>
<tr class="memdesc:dd/d30/namespace_s_l_net"><td class="mdescLeft">&#160;</td><td class="mdescRight">Simple class to send changes between directories. In essence, a simple autopatcher that can be used for transmitting levels, skins, etc. <br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:afa8bafbed850ac06b09a9b24f4477ff0"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d3c/_cloud_client_8h.xhtml#afa8bafbed850ac06b09a9b24f4477ff0">__CLOUD_CLIENT_H</a></td></tr>
<tr class="separator:afa8bafbed850ac06b09a9b24f4477ff0"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Queries CloudMemoryServer to download data that other clients have uploaded. </p>
<p>Definition in file <a class="el" href="../../d7/d3c/_cloud_client_8h_source.xhtml">CloudClient.h</a>.</p>
</div><h2 class="groupheader">Macro Definition Documentation</h2>
<a class="anchor" id="afa8bafbed850ac06b09a9b24f4477ff0"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define __CLOUD_CLIENT_H</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d7/d3c/_cloud_client_8h_source.xhtml#l00025">25</a> of file <a class="el" href="../../d7/d3c/_cloud_client_8h_source.xhtml">CloudClient.h</a>.</p>
</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_74389ed8173ad57b461b9d623a1f3867.xhtml">Source</a></li><li class="navelem"><a class="el" href="../../dir_bbb90e3ef9167a594ae33323139a2595.xhtml">include</a></li><li class="navelem"><a class="el" href="../../dir_88467e66686deb9d3756fe4fc298e321.xhtml">slikenet</a></li><li class="navelem"><a class="el" href="../../d7/d3c/_cloud_client_8h.xhtml">CloudClient.h</a></li>
<li class="footer">Generated on Wed Aug 14 2019 22:09:48 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,215 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>SLikeNet: Source/include/slikenet/CloudClient.h Source File</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="../../index.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li class="current"><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../files.xhtml"><span>File&#160;List</span></a></li>
<li><a href="../../globals.xhtml"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('d7/d3c/_cloud_client_8h_source.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">CloudClient.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="../../d7/d3c/_cloud_client_8h.xhtml">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> * Original work: Copyright (c) 2014, Oculus VR, Inc.</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> * All rights reserved.</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> * This source code is licensed under the BSD-style license found in the</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> * RakNet License.txt file in the licenses directory of this source tree. An additional grant </span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> * of patent rights can be found in the RakNet Patents.txt file in the same directory.</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment"> * Modified work: Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> * This source code was modified by SLikeSoft. Modifications are licensed under the MIT-style</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> * license found in the license.txt file in the root directory of this source tree.</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;</div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;</div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;</div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../de/ddb/_native_feature_includes_8h.xhtml">NativeFeatureIncludes.h</a>&quot;</span></div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="preprocessor">#if _RAKNET_SUPPORT_CloudClient==1</span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="preprocessor">#ifndef __CLOUD_CLIENT_H</span></div>
<div class="line"><a name="l00025"></a><span class="lineno"><a class="code" href="../../d7/d3c/_cloud_client_8h.xhtml#afa8bafbed850ac06b09a9b24f4477ff0"> 25</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define __CLOUD_CLIENT_H</span></div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../d7/ddd/_plugin_interface2_8h.xhtml" title="RakNet&#39;s plugin functionality system, version 2. You can derive from this to create your own plugins...">PluginInterface2.h</a>&quot;</span></div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../d7/d6d/_cloud_common_8h.xhtml">CloudCommon.h</a>&quot;</span></div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../dd/dc5/memoryoverride_8h.xhtml" title="If _USE_RAK_MEMORY_OVERRIDE is defined, memory allocations go through rakMalloc, rakRealloc, and rakFree.">memoryoverride.h</a>&quot;</span></div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../d2/d77/_d_s___hash_8h.xhtml">DS_Hash.h</a>&quot;</span></div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="keyword">namespace </span>SLNet</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;{</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="keyword">class </span>RakPeerInterface;</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="keyword">class </span>CloudClientCallback;</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;</div>
<div class="line"><a name="l00046"></a><span class="lineno"><a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml"> 46</a></span>&#160;<span class="keyword">class </span><a class="code" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#dc/d7d/class_s_l_net_1_1_cloud_client" title="Performs Post() and Get() operations on CloudMemoryServer.">CloudClient</a> : <span class="keyword">public</span> <a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#db/d5e/class_s_l_net_1_1_plugin_interface2">PluginInterface2</a></div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;{</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <span class="comment">// GetInstance() and DestroyInstance(instance*)</span></div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <a class="code" href="../../db/dbd/_export_8h.xhtml#af3e49377f340027d211b2814949efc48">STATIC_FACTORY_DECLARATIONS</a>(<a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#dc/d7d/class_s_l_net_1_1_cloud_client" title="Performs Post() and Get() operations on CloudMemoryServer.">CloudClient</a>)</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#dc/d7d/class_s_l_net_1_1_cloud_client" title="Performs Post() and Get() operations on CloudMemoryServer.">CloudClient</a>();</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <span class="keyword">virtual</span> ~<a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#dc/d7d/class_s_l_net_1_1_cloud_client" title="Performs Post() and Get() operations on CloudMemoryServer.">CloudClient</a>();</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> SetDefaultCallbacks(<a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#db/de6/class_s_l_net_1_1_cloud_allocator">CloudAllocator</a> *_allocator, <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#dc/d31/class_s_l_net_1_1_cloud_client_callback">CloudClientCallback</a> *_callback);</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> Post(<a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#d9/d8c/struct_s_l_net_1_1_cloud_key">CloudKey</a> *cloudKey, <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *data, <a class="code" href="../../df/df2/_native_types_8h.xhtml#a6eb1e68cc391dd753bc8ce896dbb8315">uint32_t</a> dataLengthBytes, <a class="code" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml">RakNetGUID</a> systemIdentifier);</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> Release(<a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml">DataStructures::List&lt;CloudKey&gt;</a> &amp;keys, <a class="code" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml">RakNetGUID</a> systemIdentifier);</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> Get(<a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#da/d88/struct_s_l_net_1_1_cloud_query">CloudQuery</a> *cloudQuery, <a class="code" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml">RakNetGUID</a> systemIdentifier);</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> Get(<a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#da/d88/struct_s_l_net_1_1_cloud_query">CloudQuery</a> *cloudQuery, <a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml">DataStructures::List&lt;RakNetGUID&gt;</a> &amp;specificSystems, <a class="code" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml">RakNetGUID</a> systemIdentifier);</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> Get(<a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#da/d88/struct_s_l_net_1_1_cloud_query">CloudQuery</a> *cloudQuery, <a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml">DataStructures::List&lt;CloudQueryRow*&gt;</a> &amp;specificSystems, <a class="code" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml">RakNetGUID</a> systemIdentifier);</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160;</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> Unsubscribe(<a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml">DataStructures::List&lt;CloudKey&gt;</a> &amp;keys, <a class="code" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml">RakNetGUID</a> systemIdentifier);</div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> Unsubscribe(<a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml">DataStructures::List&lt;CloudKey&gt;</a> &amp;keys, <a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml">DataStructures::List&lt;RakNetGUID&gt;</a> &amp;specificSystems, <a class="code" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml">RakNetGUID</a> systemIdentifier);</div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> Unsubscribe(<a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml">DataStructures::List&lt;CloudKey&gt;</a> &amp;keys, <a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml">DataStructures::List&lt;CloudQueryRow*&gt;</a> &amp;specificSystems, <a class="code" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml">RakNetGUID</a> systemIdentifier);</div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> OnGetReponse(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#d8/d23/struct_s_l_net_1_1_packet" title="This represents a user message from another system.">Packet</a> *packet, <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#dc/d31/class_s_l_net_1_1_cloud_client_callback">CloudClientCallback</a> *_callback=0, <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#db/de6/class_s_l_net_1_1_cloud_allocator">CloudAllocator</a> *_allocator=0);</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;</div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> OnGetReponse(<a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#d0/d6e/struct_s_l_net_1_1_cloud_query_result">CloudQueryResult</a> *cloudQueryResult, <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#d8/d23/struct_s_l_net_1_1_packet" title="This represents a user message from another system.">Packet</a> *packet, <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#db/de6/class_s_l_net_1_1_cloud_allocator">CloudAllocator</a> *_allocator=0);</div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;</div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> OnSubscriptionNotification(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#d8/d23/struct_s_l_net_1_1_packet" title="This represents a user message from another system.">Packet</a> *packet, <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#dc/d31/class_s_l_net_1_1_cloud_client_callback">CloudClientCallback</a> *_callback=0, <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#db/de6/class_s_l_net_1_1_cloud_allocator">CloudAllocator</a> *_allocator=0);</div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;</div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> OnSubscriptionNotification(<span class="keywordtype">bool</span> *wasUpdated, <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#de/dfa/struct_s_l_net_1_1_cloud_query_row">CloudQueryRow</a> *row, <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#d8/d23/struct_s_l_net_1_1_packet" title="This represents a user message from another system.">Packet</a> *packet, <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#db/de6/class_s_l_net_1_1_cloud_allocator">CloudAllocator</a> *_allocator=0);</div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;</div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> DeallocateWithDefaultAllocator(<a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#d0/d6e/struct_s_l_net_1_1_cloud_query_result">CloudQueryResult</a> *cloudQueryResult);</div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;</div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> DeallocateWithDefaultAllocator(<a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#de/dfa/struct_s_l_net_1_1_cloud_query_row">CloudQueryRow</a> *row);</div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;</div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;<span class="keyword">protected</span>:</div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#ga5c8f613a7c294e0b96deccbdabc38f18">PluginReceiveResult</a> OnReceive(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#d8/d23/struct_s_l_net_1_1_packet" title="This represents a user message from another system.">Packet</a> *packet);</div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160;</div>
<div class="line"><a name="l00146"></a><span class="lineno"><a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#ab3645c13ffbd11137b434613dbf385c7"> 146</a></span>&#160; <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#dc/d31/class_s_l_net_1_1_cloud_client_callback">CloudClientCallback</a> *<a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#ab3645c13ffbd11137b434613dbf385c7">callback</a>;</div>
<div class="line"><a name="l00147"></a><span class="lineno"><a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#aaa6adfbbcaaa3874dae8858d1904d864"> 147</a></span>&#160; <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#db/de6/class_s_l_net_1_1_cloud_allocator">CloudAllocator</a> *<a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#aaa6adfbbcaaa3874dae8858d1904d864">allocator</a>;</div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160;</div>
<div class="line"><a name="l00149"></a><span class="lineno"><a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#aecb33a4b6d9b4e04e3a6645de32fcd0a"> 149</a></span>&#160; <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#db/de6/class_s_l_net_1_1_cloud_allocator">CloudAllocator</a> <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#aecb33a4b6d9b4e04e3a6645de32fcd0a">unsetDefaultAllocator</a>;</div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160;};</div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;</div>
<div class="line"><a name="l00154"></a><span class="lineno"><a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml"> 154</a></span>&#160;<span class="keyword">class </span><a class="code" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#dc/d31/class_s_l_net_1_1_cloud_client_callback">CloudClientCallback</a></div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;{</div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00157"></a><span class="lineno"><a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#a35f19d7b627c5a21303f9acfcb1c676a"> 157</a></span>&#160; <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#a35f19d7b627c5a21303f9acfcb1c676a">CloudClientCallback</a>() {}</div>
<div class="line"><a name="l00158"></a><span class="lineno"><a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#acaab030cb7667d94c0899e484279bc2a"> 158</a></span>&#160; <span class="keyword">virtual</span> <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#acaab030cb7667d94c0899e484279bc2a">~CloudClientCallback</a>() {}</div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160;</div>
<div class="line"><a name="l00163"></a><span class="lineno"><a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#ad4fd7aeef422354cd4d26460c6412b04"> 163</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#ad4fd7aeef422354cd4d26460c6412b04" title="Called in response to ID_CLOUD_GET_RESPONSE.">OnGet</a>(<a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#d0/d6e/struct_s_l_net_1_1_cloud_query_result">SLNet::CloudQueryResult</a> *result, <span class="keywordtype">bool</span> *deallocateRowsAfterReturn) {(void) result; (void) deallocateRowsAfterReturn;}</div>
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160;</div>
<div class="line"><a name="l00169"></a><span class="lineno"><a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#a73febf6d23167b2eff4c7631dc3e8163"> 169</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#a73febf6d23167b2eff4c7631dc3e8163" title="Called in response to ID_CLOUD_SUBSCRIPTION_NOTIFICATION.">OnSubscriptionNotification</a>(<a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#de/dfa/struct_s_l_net_1_1_cloud_query_row">SLNet::CloudQueryRow</a> *result, <span class="keywordtype">bool</span> wasUpdated, <span class="keywordtype">bool</span> *deallocateRowAfterReturn) {(void) result; (void) wasUpdated; (void) deallocateRowAfterReturn;}</div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160;};</div>
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160;</div>
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160;} <span class="comment">// namespace SLNet</span></div>
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160;</div>
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160;<span class="preprocessor">#endif // _RAKNET_SUPPORT_*</span></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_74389ed8173ad57b461b9d623a1f3867.xhtml">Source</a></li><li class="navelem"><a class="el" href="../../dir_bbb90e3ef9167a594ae33323139a2595.xhtml">include</a></li><li class="navelem"><a class="el" href="../../dir_88467e66686deb9d3756fe4fc298e321.xhtml">slikenet</a></li><li class="navelem"><a class="el" href="../../d7/d3c/_cloud_client_8h.xhtml">CloudClient.h</a></li>
<li class="footer">Generated on Wed Aug 14 2019 22:09:46 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,40 @@
var class_data_structures_1_1_b_plus_tree =
[
[ "ReturnAction", "d5/dd1/struct_data_structures_1_1_b_plus_tree_1_1_return_action.xhtml", "d5/dd1/struct_data_structures_1_1_b_plus_tree_1_1_return_action" ],
[ "BPlusTree", "d7/d58/class_data_structures_1_1_b_plus_tree.xhtml#aa4fcd5d47b25f14f3706ab5df65a9adb", null ],
[ "~BPlusTree", "d7/d58/class_data_structures_1_1_b_plus_tree.xhtml#ae36690037c364d6152bc422c75e337e4", null ],
[ "CanRotateLeft", "d7/d58/class_data_structures_1_1_b_plus_tree.xhtml#a46efd46dde7ff95cb0f5d3ddae9156e7", null ],
[ "CanRotateRight", "d7/d58/class_data_structures_1_1_b_plus_tree.xhtml#a398b17d14837d5092d2d572ed742ce51", null ],
[ "Clear", "d7/d58/class_data_structures_1_1_b_plus_tree.xhtml#abe3120d0a4822be3eca4e9835d9d2a1a", null ],
[ "Delete", "d7/d58/class_data_structures_1_1_b_plus_tree.xhtml#a93480fa15a725c118927b4348eaa3197", null ],
[ "Delete", "d7/d58/class_data_structures_1_1_b_plus_tree.xhtml#a090dbcd47c705a995e5b1c8edef2c95c", null ],
[ "DeleteFromPageAtIndex", "d7/d58/class_data_structures_1_1_b_plus_tree.xhtml#a5ff8a5876ab576982650b7fb02205a48", null ],
[ "FindDeleteRebalance", "d7/d58/class_data_structures_1_1_b_plus_tree.xhtml#a62ad6d18868d637a258a0cd0b26b5e73", null ],
[ "FixUnderflow", "d7/d58/class_data_structures_1_1_b_plus_tree.xhtml#aee940b30b35605a776913b81ebed718f", null ],
[ "ForEachData", "d7/d58/class_data_structures_1_1_b_plus_tree.xhtml#a80e720c175d3bf3612f2cb1777f90053", null ],
[ "ForEachLeaf", "d7/d58/class_data_structures_1_1_b_plus_tree.xhtml#ae9d219abdf3c1e4eb92f86386f02a155", null ],
[ "FreePages", "d7/d58/class_data_structures_1_1_b_plus_tree.xhtml#a0d8c994dbc67e9a9d23a5a829b6e84e8", null ],
[ "Get", "d7/d58/class_data_structures_1_1_b_plus_tree.xhtml#aee8a1b00f0ed25dc368dd464364a0098", null ],
[ "GetDataHead", "d7/d58/class_data_structures_1_1_b_plus_tree.xhtml#a60ae9643d4a785271617560704ad984e", null ],
[ "GetIndexOf", "d7/d58/class_data_structures_1_1_b_plus_tree.xhtml#ada2880997cd13505338358ce2c5365ac", null ],
[ "GetLeafFromKey", "d7/d58/class_data_structures_1_1_b_plus_tree.xhtml#ad061eceac63ffdc684c3b8777e36925e", null ],
[ "GetListHead", "d7/d58/class_data_structures_1_1_b_plus_tree.xhtml#ab3794a44684972dd5e2d45f7ad895ef5", null ],
[ "Insert", "d7/d58/class_data_structures_1_1_b_plus_tree.xhtml#abbfee8f6cb57f3a4b855c7b880196015", null ],
[ "InsertBranchDown", "d7/d58/class_data_structures_1_1_b_plus_tree.xhtml#ae459abd650445f328e74f11ddfa0e9fe", null ],
[ "InsertIntoNode", "d7/d58/class_data_structures_1_1_b_plus_tree.xhtml#adba3c8c7e7fb630a52ed41350dde27ea", null ],
[ "IsEmpty", "d7/d58/class_data_structures_1_1_b_plus_tree.xhtml#ac8e7b0969a81b3fffc8a8d0933bf55e8", null ],
[ "PrintGraph", "d7/d58/class_data_structures_1_1_b_plus_tree.xhtml#aa95c0d019b5d7b34b9a0c56a5b46813a", null ],
[ "PrintLeaf", "d7/d58/class_data_structures_1_1_b_plus_tree.xhtml#a020c0a1da18064a095707eaa5ce1a55e", null ],
[ "PrintLeaves", "d7/d58/class_data_structures_1_1_b_plus_tree.xhtml#a13b0bb9cfe607796ac9655531b7c8d27", null ],
[ "RotateLeft", "d7/d58/class_data_structures_1_1_b_plus_tree.xhtml#af6ac3613a87554754db36216ce3d27b0", null ],
[ "RotateRight", "d7/d58/class_data_structures_1_1_b_plus_tree.xhtml#aaa78c3ef86a10f0f403ea3145bf27dcd", null ],
[ "SetPoolPageSize", "d7/d58/class_data_structures_1_1_b_plus_tree.xhtml#aa0ecdf41d260dd15cf57dec86052f35f", null ],
[ "ShiftKeysLeft", "d7/d58/class_data_structures_1_1_b_plus_tree.xhtml#a84da41ad11bd71d28d510b9941b9ae78", null ],
[ "ShiftNodeLeft", "d7/d58/class_data_structures_1_1_b_plus_tree.xhtml#ad6f6b2ccc94f4ec8bf4e5ac5c96a5f67", null ],
[ "ShiftNodeRight", "d7/d58/class_data_structures_1_1_b_plus_tree.xhtml#ae83f0e9a65601d1eb9136fd0c38efb80", null ],
[ "Size", "d7/d58/class_data_structures_1_1_b_plus_tree.xhtml#a350138159df5e5f885a30270ef1409dc", null ],
[ "ValidateTreeRecursive", "d7/d58/class_data_structures_1_1_b_plus_tree.xhtml#af2df9815c4b1a9bda8d426c14e873bb6", null ],
[ "leftmostLeaf", "d7/d58/class_data_structures_1_1_b_plus_tree.xhtml#aa6bbdd2d1c1df48f7b41d71c2f035d03", null ],
[ "pagePool", "d7/d58/class_data_structures_1_1_b_plus_tree.xhtml#a204cdd55060f14a2e5dbbaa4768859df", null ],
[ "root", "d7/d58/class_data_structures_1_1_b_plus_tree.xhtml#a6a2002e71af1cfd4abc759c63bfc768e", null ]
];

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,123 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>SLikeNet: Source/include/slikenet/EmptyHeader.h File Reference</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="../../index.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li class="current"><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../files.xhtml"><span>File&#160;List</span></a></li>
<li><a href="../../globals.xhtml"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('d7/d5b/_empty_header_8h.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">EmptyHeader.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><a href="../../d7/d5b/_empty_header_8h_source.xhtml">Go to the source code of this file.</a></p>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_74389ed8173ad57b461b9d623a1f3867.xhtml">Source</a></li><li class="navelem"><a class="el" href="../../dir_bbb90e3ef9167a594ae33323139a2595.xhtml">include</a></li><li class="navelem"><a class="el" href="../../dir_88467e66686deb9d3756fe4fc298e321.xhtml">slikenet</a></li><li class="navelem"><a class="el" href="../../d7/d5b/_empty_header_8h.xhtml">EmptyHeader.h</a></li>
<li class="footer">Generated on Wed Aug 14 2019 22:09:48 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,127 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>SLikeNet: Source/include/slikenet/EmptyHeader.h Source File</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="../../index.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li class="current"><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../files.xhtml"><span>File&#160;List</span></a></li>
<li><a href="../../globals.xhtml"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('d7/d5b/_empty_header_8h_source.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">EmptyHeader.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="../../d7/d5b/_empty_header_8h.xhtml">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> * This file was taken from RakNet 4.082 without any modifications.</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> * Please see licenses/RakNet license.txt for the underlying license and related copyright.</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;</div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment">// This is here to remove Missing #include header? in the Unreal Engine</span></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_74389ed8173ad57b461b9d623a1f3867.xhtml">Source</a></li><li class="navelem"><a class="el" href="../../dir_bbb90e3ef9167a594ae33323139a2595.xhtml">include</a></li><li class="navelem"><a class="el" href="../../dir_88467e66686deb9d3756fe4fc298e321.xhtml">slikenet</a></li><li class="navelem"><a class="el" href="../../d7/d5b/_empty_header_8h.xhtml">EmptyHeader.h</a></li>
<li class="footer">Generated on Wed Aug 14 2019 22:09:46 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,147 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>SLikeNet: Member List</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="../../index.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li class="current"><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../annotated.xhtml"><span>Class&#160;List</span></a></li>
<li><a href="../../classes.xhtml"><span>Class&#160;Index</span></a></li>
<li><a href="../../inherits.xhtml"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="../../functions.xhtml"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('d2/d83/class_grid_sectorizer.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">GridSectorizer Member List</div> </div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="../../d2/d83/class_grid_sectorizer.xhtml">GridSectorizer</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="../../d2/d83/class_grid_sectorizer.xhtml#a17cadf0a52cfd5ca90a10f7a387f29f7">AddEntry</a>(void *entry, const float minX, const float minY, const float maxX, const float maxY)</td><td class="entry"><a class="el" href="../../d2/d83/class_grid_sectorizer.xhtml">GridSectorizer</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d2/d83/class_grid_sectorizer.xhtml#a86dbf13ff20a9dc9ac0b67ee15b8228d">cellHeight</a></td><td class="entry"><a class="el" href="../../d2/d83/class_grid_sectorizer.xhtml">GridSectorizer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d2/d83/class_grid_sectorizer.xhtml#a1840788b7be6967667d801c2043cad74">cellOriginX</a></td><td class="entry"><a class="el" href="../../d2/d83/class_grid_sectorizer.xhtml">GridSectorizer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d2/d83/class_grid_sectorizer.xhtml#aeb656d3771f63d5cf11ce897ea640033">cellOriginY</a></td><td class="entry"><a class="el" href="../../d2/d83/class_grid_sectorizer.xhtml">GridSectorizer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d2/d83/class_grid_sectorizer.xhtml#a65fa004128ea7b6080bb3b21c05e9628">cellWidth</a></td><td class="entry"><a class="el" href="../../d2/d83/class_grid_sectorizer.xhtml">GridSectorizer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d2/d83/class_grid_sectorizer.xhtml#a4e38b3a7ef50b2256203629a4f60477f">Clear</a>(void)</td><td class="entry"><a class="el" href="../../d2/d83/class_grid_sectorizer.xhtml">GridSectorizer</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d2/d83/class_grid_sectorizer.xhtml#a32087f59eb29d179b8d456afd7f85ce7">GetEntries</a>(DataStructures::List&lt; void * &gt; &amp;intersectionList, const float minX, const float minY, const float maxX, const float maxY)</td><td class="entry"><a class="el" href="../../d2/d83/class_grid_sectorizer.xhtml">GridSectorizer</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d2/d83/class_grid_sectorizer.xhtml#a6bd909d4303f6d8f1ece14bb578a6852">grid</a></td><td class="entry"><a class="el" href="../../d2/d83/class_grid_sectorizer.xhtml">GridSectorizer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d2/d83/class_grid_sectorizer.xhtml#ae485400f386b63cfc84df876258553e9">gridCellHeightCount</a></td><td class="entry"><a class="el" href="../../d2/d83/class_grid_sectorizer.xhtml">GridSectorizer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d2/d83/class_grid_sectorizer.xhtml#a6bd4be175e1f1eedf3b66f630fadb25a">gridCellWidthCount</a></td><td class="entry"><a class="el" href="../../d2/d83/class_grid_sectorizer.xhtml">GridSectorizer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d2/d83/class_grid_sectorizer.xhtml#a40f81a421aac6b512a87470ab7bf155a">gridHeight</a></td><td class="entry"><a class="el" href="../../d2/d83/class_grid_sectorizer.xhtml">GridSectorizer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d2/d83/class_grid_sectorizer.xhtml#a1c5533663c839918316b8f53709ed23c">GridSectorizer</a>()</td><td class="entry"><a class="el" href="../../d2/d83/class_grid_sectorizer.xhtml">GridSectorizer</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d2/d83/class_grid_sectorizer.xhtml#ad05468789aeeaf819a3840e350eb82a0">gridWidth</a></td><td class="entry"><a class="el" href="../../d2/d83/class_grid_sectorizer.xhtml">GridSectorizer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d2/d83/class_grid_sectorizer.xhtml#a2cb619ad8bafe27b9dd9a288af906342">Init</a>(const float _maxCellWidth, const float _maxCellHeight, const float minX, const float minY, const float maxX, const float maxY)</td><td class="entry"><a class="el" href="../../d2/d83/class_grid_sectorizer.xhtml">GridSectorizer</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d2/d83/class_grid_sectorizer.xhtml#ae54a1c1acead76fa11802f36c5cb8852">invCellHeight</a></td><td class="entry"><a class="el" href="../../d2/d83/class_grid_sectorizer.xhtml">GridSectorizer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d2/d83/class_grid_sectorizer.xhtml#a6fa06ac3f0934d77f71f9709bee393a5">invCellWidth</a></td><td class="entry"><a class="el" href="../../d2/d83/class_grid_sectorizer.xhtml">GridSectorizer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d2/d83/class_grid_sectorizer.xhtml#ae47d2bd996d1ea00fbd1fe942823ab2b">PositionCrossesCells</a>(const float originX, const float originY, const float destinationX, const float destinationY) const </td><td class="entry"><a class="el" href="../../d2/d83/class_grid_sectorizer.xhtml">GridSectorizer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d2/d83/class_grid_sectorizer.xhtml#aa5135fabe508907bda5db482de569d5c">WorldToCellX</a>(const float input) const </td><td class="entry"><a class="el" href="../../d2/d83/class_grid_sectorizer.xhtml">GridSectorizer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d2/d83/class_grid_sectorizer.xhtml#af16c1203d737a0a6727d0b018e8b0e93">WorldToCellXOffsetAndClamped</a>(const float input) const </td><td class="entry"><a class="el" href="../../d2/d83/class_grid_sectorizer.xhtml">GridSectorizer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d2/d83/class_grid_sectorizer.xhtml#a86870bedd61138c0883e7bbba67067d6">WorldToCellY</a>(const float input) const </td><td class="entry"><a class="el" href="../../d2/d83/class_grid_sectorizer.xhtml">GridSectorizer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d2/d83/class_grid_sectorizer.xhtml#a289878a66aca5e02080fdc75a004e540">WorldToCellYOffsetAndClamped</a>(const float input) const </td><td class="entry"><a class="el" href="../../d2/d83/class_grid_sectorizer.xhtml">GridSectorizer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d2/d83/class_grid_sectorizer.xhtml#a81f50e39379bcf9d1e0c1ee1a19b3351">~GridSectorizer</a>()</td><td class="entry"><a class="el" href="../../d2/d83/class_grid_sectorizer.xhtml">GridSectorizer</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated on Wed Aug 14 2019 22:09:49 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,3 @@
<map id="SLNet::RPC4" name="SLNet::RPC4">
<area shape="rect" id="node2" href="$de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#db/d5e/class_s_l_net_1_1_plugin_interface2" title="{SLNet::PluginInterface2\n|# rakPeerInterface\l# tcpInterface\l|+ PluginInterface2()\l+ ~PluginInterface2()\l+ OnAttach()\l+ OnDetach()\l+ Update()\l+ OnReceive()\l+ OnRakPeerStartup()\l+ OnRakPeerShutdown()\l+ OnClosedConnection()\l+ OnNewConnection()\land 12 more...\l# SendUnified()\l# SendUnified()\l# SendListUnified()\l# AllocatePacketUnified()\l# PushBackPacketUnified()\l# DeallocPacketUnified()\l}" alt="" coords="24,5,205,332"/>
</map>

View File

@ -0,0 +1 @@
42a938ec7b95e84eb3931532ffbda05d

View File

@ -0,0 +1,156 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.38.0 (20140413.2041)
-->
<!-- Title: SLNet::RPC4 Pages: 1 -->
<!--zoomable 644 -->
<svg id="main" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" onload="init(evt)">
<defs>
<circle id="rim" cx="0" cy="0" r="7"/>
<circle id="rim2" cx="0" cy="0" r="3.5"/>
<g id="zoomPlus">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="zoomplus.mouseover" end="zoomplus.mouseout"/>
</use>
<path d="M-4,0h8M0,-4v8" fill="none" stroke="white" stroke-width="1.5" pointer-events="none"/>
</g>
<g id="zoomMin">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="zoomminus.mouseover" end="zoomminus.mouseout"/>
</use>
<path d="M-4,0h8" fill="none" stroke="white" stroke-width="1.5" pointer-events="none"/>
</g>
<g id="dirArrow">
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="resetDef">
<use xlink:href="#rim2" fill="#404040">
<set attributeName="fill" to="#808080" begin="reset.mouseover" end="reset.mouseout"/>
</use>
</g>
</defs>
<script type="text/javascript">
var viewWidth = 172;
var viewHeight = 644;
var sectionId = 'dynsection-0';
</script>
<script xlink:href="../../svgpan.js"/>
<svg id="graph" class="graph">
<g id="viewport">
<title>SLNet::RPC4</title>
<!-- Node1 -->
<g id="node1" class="node"><title>Node1</title>
<polygon fill="#bfbfbf" stroke="black" points="0,-0.5 0,-354.5 164,-354.5 164,-0.5 0,-0.5"/>
<text text-anchor="middle" x="82" y="-342.5" font-family="Helvetica,sans-Serif" font-size="10.00">SLNet::RPC4</text>
<polyline fill="none" stroke="black" points="0,-335.5 164,-335.5 "/>
<text text-anchor="start" x="8" y="-323.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ localSlots</text>
<text text-anchor="start" x="8" y="-312.5" font-family="Helvetica,sans-Serif" font-size="10.00"># registeredNonblockingFunctions</text>
<text text-anchor="start" x="8" y="-301.5" font-family="Helvetica,sans-Serif" font-size="10.00"># registeredBlockingFunctions</text>
<text text-anchor="start" x="8" y="-290.5" font-family="Helvetica,sans-Serif" font-size="10.00"># localCallbacks</text>
<text text-anchor="start" x="8" y="-279.5" font-family="Helvetica,sans-Serif" font-size="10.00"># blockingReturnValue</text>
<text text-anchor="start" x="8" y="-268.5" font-family="Helvetica,sans-Serif" font-size="10.00"># gotBlockingReturnValue</text>
<text text-anchor="start" x="8" y="-257.5" font-family="Helvetica,sans-Serif" font-size="10.00"># nextSlotRegistrationCount</text>
<text text-anchor="start" x="8" y="-246.5" font-family="Helvetica,sans-Serif" font-size="10.00"># interruptSignal</text>
<polyline fill="none" stroke="black" points="0,-239.5 164,-239.5 "/>
<text text-anchor="start" x="8" y="-227.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ RPC4()</text>
<text text-anchor="start" x="8" y="-216.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~RPC4()</text>
<text text-anchor="start" x="8" y="-205.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ RegisterFunction()</text>
<text text-anchor="start" x="8" y="-194.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ RegisterSlot()</text>
<text text-anchor="start" x="8" y="-183.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ RegisterBlockingFunction()</text>
<text text-anchor="start" x="8" y="-172.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ RegisterLocalCallback()</text>
<text text-anchor="start" x="8" y="-161.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ UnregisterFunction()</text>
<text text-anchor="start" x="8" y="-150.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ UnregisterBlockingFunction()</text>
<text text-anchor="start" x="8" y="-139.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ UnregisterLocalCallback()</text>
<text text-anchor="start" x="8" y="-128.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ UnregisterSlot()</text>
<text text-anchor="start" x="8" y="-117.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ CallLoopback()</text>
<text text-anchor="start" x="8" y="-106.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Call()</text>
<text text-anchor="start" x="8" y="-95.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ CallBlocking()</text>
<text text-anchor="start" x="8" y="-84.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Signal()</text>
<text text-anchor="start" x="8" y="-73.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InterruptSignal()</text>
<text text-anchor="start" x="8" y="-62.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ LocalCallbackComp()</text>
<text text-anchor="start" x="8" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ LocalSlotObjectComp()</text>
<text text-anchor="start" x="8" y="-40.5" font-family="Helvetica,sans-Serif" font-size="10.00"># OnAttach()</text>
<text text-anchor="start" x="8" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00"># OnReceive()</text>
<text text-anchor="start" x="8" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00"># GetLocalSlotIndex()</text>
<text text-anchor="start" x="8" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00"># InvokeSignal()</text>
</g>
<!-- Node2 -->
<g id="node2" class="node"><title>Node2</title>
<g id="a_node2"><a xlink:href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#db/d5e/class_s_l_net_1_1_plugin_interface2" target="_top" xlink:title="{SLNet::PluginInterface2\n|# rakPeerInterface\l# tcpInterface\l|+ PluginInterface2()\l+ ~PluginInterface2()\l+ OnAttach()\l+ OnDetach()\l+ Update()\l+ OnReceive()\l+ OnRakPeerStartup()\l+ OnRakPeerShutdown()\l+ OnClosedConnection()\l+ OnNewConnection()\land 12 more...\l# SendUnified()\l# SendUnified()\l# SendListUnified()\l# AllocatePacketUnified()\l# PushBackPacketUnified()\l# DeallocPacketUnified()\l}">
<polygon fill="none" stroke="black" points="14,-391.5 14,-635.5 150,-635.5 150,-391.5 14,-391.5"/>
<text text-anchor="middle" x="82" y="-623.5" font-family="Helvetica,sans-Serif" font-size="10.00">SLNet::PluginInterface2</text>
<polyline fill="none" stroke="black" points="14,-616.5 150,-616.5 "/>
<text text-anchor="start" x="22" y="-604.5" font-family="Helvetica,sans-Serif" font-size="10.00"># rakPeerInterface</text>
<text text-anchor="start" x="22" y="-593.5" font-family="Helvetica,sans-Serif" font-size="10.00"># tcpInterface</text>
<polyline fill="none" stroke="black" points="14,-586.5 150,-586.5 "/>
<text text-anchor="start" x="22" y="-574.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ PluginInterface2()</text>
<text text-anchor="start" x="22" y="-563.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~PluginInterface2()</text>
<text text-anchor="start" x="22" y="-552.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ OnAttach()</text>
<text text-anchor="start" x="22" y="-541.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ OnDetach()</text>
<text text-anchor="start" x="22" y="-530.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Update()</text>
<text text-anchor="start" x="22" y="-519.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ OnReceive()</text>
<text text-anchor="start" x="22" y="-508.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ OnRakPeerStartup()</text>
<text text-anchor="start" x="22" y="-497.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ OnRakPeerShutdown()</text>
<text text-anchor="start" x="22" y="-486.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ OnClosedConnection()</text>
<text text-anchor="start" x="22" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ OnNewConnection()</text>
<text text-anchor="start" x="22" y="-464.5" font-family="Helvetica,sans-Serif" font-size="10.00">and 12 more...</text>
<text text-anchor="start" x="22" y="-453.5" font-family="Helvetica,sans-Serif" font-size="10.00"># SendUnified()</text>
<text text-anchor="start" x="22" y="-442.5" font-family="Helvetica,sans-Serif" font-size="10.00"># SendUnified()</text>
<text text-anchor="start" x="22" y="-431.5" font-family="Helvetica,sans-Serif" font-size="10.00"># SendListUnified()</text>
<text text-anchor="start" x="22" y="-420.5" font-family="Helvetica,sans-Serif" font-size="10.00"># AllocatePacketUnified()</text>
<text text-anchor="start" x="22" y="-409.5" font-family="Helvetica,sans-Serif" font-size="10.00"># PushBackPacketUnified()</text>
<text text-anchor="start" x="22" y="-398.5" font-family="Helvetica,sans-Serif" font-size="10.00"># DeallocPacketUnified()</text>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node1 -->
<g id="edge1" class="edge"><title>Node2&#45;&gt;Node1</title>
<path fill="none" stroke="midnightblue" d="M82,-381.21C82,-372.432 82,-363.515 82,-354.563"/>
<polygon fill="none" stroke="midnightblue" points="78.5001,-381.446 82,-391.446 85.5001,-381.446 78.5001,-381.446"/>
</g>
</g>
</svg>
<g id="navigator" transform="translate(0 0)" fill="#404254">
<rect fill="#f2f5e9" fill-opacity="0.5" stroke="#606060" stroke-width=".5" x="0" y="0" width="60" height="60"/>
<use id="zoomplus" xlink:href="#zoomPlus" x="17" y="9" onmousedown="handleZoom(evt,'in')"/>
<use id="zoomminus" xlink:href="#zoomMin" x="42" y="9" onmousedown="handleZoom(evt,'out')"/>
<use id="reset" xlink:href="#resetDef" x="30" y="36" onmousedown="handleReset()"/>
<g id="arrowUp" xlink:href="#dirArrow" transform="translate(30 24)" onmousedown="handlePan(0,-1)">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="arrowUp.mouseover" end="arrowUp.mouseout"/>
</use>
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowRight" xlink:href="#dirArrow" transform="rotate(90) translate(36 -43)" onmousedown="handlePan(1,0)">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="arrowRight.mouseover" end="arrowRight.mouseout"/>
</use>
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowDown" xlink:href="#dirArrow" transform="rotate(180) translate(-30 -48)" onmousedown="handlePan(0,1)">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="arrowDown.mouseover" end="arrowDown.mouseout"/>
</use>
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowLeft" xlink:href="#dirArrow" transform="rotate(270) translate(-36 17)" onmousedown="handlePan(-1,0)">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="arrowLeft.mouseover" end="arrowLeft.mouseout"/>
</use>
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
</g>
<svg viewBox="0 0 15 15" width="100%" height="30px" preserveAspectRatio="xMaxYMin meet">
<g id="arrow_out" transform="scale(0.3 0.3)">
<a xlink:href="class_s_l_net_1_1_r_p_c4__inherit__graph_org.svg" target="_base">
<rect id="button" ry="5" rx="5" y="6" x="6" height="38" width="38"
fill="#f2f5e9" fill-opacity="0.5" stroke="#606060" stroke-width="1.0"/>
<path id="arrow"
d="M 11.500037,31.436501 C 11.940474,20.09759 22.043105,11.32322 32.158766,21.979434 L 37.068811,17.246167 C 37.068811,17.246167 37.088388,32 37.088388,32 L 22.160133,31.978069 C 22.160133,31.978069 26.997745,27.140456 26.997745,27.140456 C 18.528582,18.264221 13.291696,25.230495 11.500037,31.436501 z"
style="fill:#404040;"/>
</a>
</g>
</svg>
</svg>

After

Width:  |  Height:  |  Size: 13 KiB

View File

@ -0,0 +1,82 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.38.0 (20140413.2041)
-->
<!-- Title: SLNet::RPC4 Pages: 1 -->
<svg width="172pt" height="644pt"
viewBox="0.00 0.00 172.00 644.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 640)">
<title>SLNet::RPC4</title>
<!-- Node1 -->
<g id="node1" class="node"><title>Node1</title>
<polygon fill="#bfbfbf" stroke="black" points="0,-0.5 0,-354.5 164,-354.5 164,-0.5 0,-0.5"/>
<text text-anchor="middle" x="82" y="-342.5" font-family="Helvetica,sans-Serif" font-size="10.00">SLNet::RPC4</text>
<polyline fill="none" stroke="black" points="0,-335.5 164,-335.5 "/>
<text text-anchor="start" x="8" y="-323.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ localSlots</text>
<text text-anchor="start" x="8" y="-312.5" font-family="Helvetica,sans-Serif" font-size="10.00"># registeredNonblockingFunctions</text>
<text text-anchor="start" x="8" y="-301.5" font-family="Helvetica,sans-Serif" font-size="10.00"># registeredBlockingFunctions</text>
<text text-anchor="start" x="8" y="-290.5" font-family="Helvetica,sans-Serif" font-size="10.00"># localCallbacks</text>
<text text-anchor="start" x="8" y="-279.5" font-family="Helvetica,sans-Serif" font-size="10.00"># blockingReturnValue</text>
<text text-anchor="start" x="8" y="-268.5" font-family="Helvetica,sans-Serif" font-size="10.00"># gotBlockingReturnValue</text>
<text text-anchor="start" x="8" y="-257.5" font-family="Helvetica,sans-Serif" font-size="10.00"># nextSlotRegistrationCount</text>
<text text-anchor="start" x="8" y="-246.5" font-family="Helvetica,sans-Serif" font-size="10.00"># interruptSignal</text>
<polyline fill="none" stroke="black" points="0,-239.5 164,-239.5 "/>
<text text-anchor="start" x="8" y="-227.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ RPC4()</text>
<text text-anchor="start" x="8" y="-216.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~RPC4()</text>
<text text-anchor="start" x="8" y="-205.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ RegisterFunction()</text>
<text text-anchor="start" x="8" y="-194.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ RegisterSlot()</text>
<text text-anchor="start" x="8" y="-183.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ RegisterBlockingFunction()</text>
<text text-anchor="start" x="8" y="-172.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ RegisterLocalCallback()</text>
<text text-anchor="start" x="8" y="-161.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ UnregisterFunction()</text>
<text text-anchor="start" x="8" y="-150.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ UnregisterBlockingFunction()</text>
<text text-anchor="start" x="8" y="-139.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ UnregisterLocalCallback()</text>
<text text-anchor="start" x="8" y="-128.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ UnregisterSlot()</text>
<text text-anchor="start" x="8" y="-117.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ CallLoopback()</text>
<text text-anchor="start" x="8" y="-106.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Call()</text>
<text text-anchor="start" x="8" y="-95.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ CallBlocking()</text>
<text text-anchor="start" x="8" y="-84.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Signal()</text>
<text text-anchor="start" x="8" y="-73.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InterruptSignal()</text>
<text text-anchor="start" x="8" y="-62.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ LocalCallbackComp()</text>
<text text-anchor="start" x="8" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ LocalSlotObjectComp()</text>
<text text-anchor="start" x="8" y="-40.5" font-family="Helvetica,sans-Serif" font-size="10.00"># OnAttach()</text>
<text text-anchor="start" x="8" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00"># OnReceive()</text>
<text text-anchor="start" x="8" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00"># GetLocalSlotIndex()</text>
<text text-anchor="start" x="8" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00"># InvokeSignal()</text>
</g>
<!-- Node2 -->
<g id="node2" class="node"><title>Node2</title>
<g id="a_node2"><a xlink:href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#db/d5e/class_s_l_net_1_1_plugin_interface2" target="_top" xlink:title="{SLNet::PluginInterface2\n|# rakPeerInterface\l# tcpInterface\l|+ PluginInterface2()\l+ ~PluginInterface2()\l+ OnAttach()\l+ OnDetach()\l+ Update()\l+ OnReceive()\l+ OnRakPeerStartup()\l+ OnRakPeerShutdown()\l+ OnClosedConnection()\l+ OnNewConnection()\land 12 more...\l# SendUnified()\l# SendUnified()\l# SendListUnified()\l# AllocatePacketUnified()\l# PushBackPacketUnified()\l# DeallocPacketUnified()\l}">
<polygon fill="none" stroke="black" points="14,-391.5 14,-635.5 150,-635.5 150,-391.5 14,-391.5"/>
<text text-anchor="middle" x="82" y="-623.5" font-family="Helvetica,sans-Serif" font-size="10.00">SLNet::PluginInterface2</text>
<polyline fill="none" stroke="black" points="14,-616.5 150,-616.5 "/>
<text text-anchor="start" x="22" y="-604.5" font-family="Helvetica,sans-Serif" font-size="10.00"># rakPeerInterface</text>
<text text-anchor="start" x="22" y="-593.5" font-family="Helvetica,sans-Serif" font-size="10.00"># tcpInterface</text>
<polyline fill="none" stroke="black" points="14,-586.5 150,-586.5 "/>
<text text-anchor="start" x="22" y="-574.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ PluginInterface2()</text>
<text text-anchor="start" x="22" y="-563.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~PluginInterface2()</text>
<text text-anchor="start" x="22" y="-552.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ OnAttach()</text>
<text text-anchor="start" x="22" y="-541.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ OnDetach()</text>
<text text-anchor="start" x="22" y="-530.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Update()</text>
<text text-anchor="start" x="22" y="-519.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ OnReceive()</text>
<text text-anchor="start" x="22" y="-508.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ OnRakPeerStartup()</text>
<text text-anchor="start" x="22" y="-497.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ OnRakPeerShutdown()</text>
<text text-anchor="start" x="22" y="-486.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ OnClosedConnection()</text>
<text text-anchor="start" x="22" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ OnNewConnection()</text>
<text text-anchor="start" x="22" y="-464.5" font-family="Helvetica,sans-Serif" font-size="10.00">and 12 more...</text>
<text text-anchor="start" x="22" y="-453.5" font-family="Helvetica,sans-Serif" font-size="10.00"># SendUnified()</text>
<text text-anchor="start" x="22" y="-442.5" font-family="Helvetica,sans-Serif" font-size="10.00"># SendUnified()</text>
<text text-anchor="start" x="22" y="-431.5" font-family="Helvetica,sans-Serif" font-size="10.00"># SendListUnified()</text>
<text text-anchor="start" x="22" y="-420.5" font-family="Helvetica,sans-Serif" font-size="10.00"># AllocatePacketUnified()</text>
<text text-anchor="start" x="22" y="-409.5" font-family="Helvetica,sans-Serif" font-size="10.00"># PushBackPacketUnified()</text>
<text text-anchor="start" x="22" y="-398.5" font-family="Helvetica,sans-Serif" font-size="10.00"># DeallocPacketUnified()</text>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node1 -->
<g id="edge1" class="edge"><title>Node2&#45;&gt;Node1</title>
<path fill="none" stroke="midnightblue" d="M82,-381.21C82,-372.432 82,-363.515 82,-354.563"/>
<polygon fill="none" stroke="midnightblue" points="78.5001,-381.446 82,-391.446 85.5001,-381.446 78.5001,-381.446"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 8.0 KiB

View File

@ -0,0 +1,5 @@
var class_s_l_net_1_1_i_r_n_s2___berkley =
[
[ "Bind", "d7/d64/class_s_l_net_1_1_i_r_n_s2___berkley.xhtml#a6cbdd1689e102114cdb564c10265fa54", null ],
[ "IsPortInUse", "d7/d64/class_s_l_net_1_1_i_r_n_s2___berkley.xhtml#a24197009cbf1a270a570465992a0e755", null ]
];

View File

@ -0,0 +1,290 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>SLikeNet: SLNet::IRNS2_Berkley Class Reference</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="../../index.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li class="current"><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../annotated.xhtml"><span>Class&#160;List</span></a></li>
<li><a href="../../classes.xhtml"><span>Class&#160;Index</span></a></li>
<li><a href="../../inherits.xhtml"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="../../functions.xhtml"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('d7/d64/class_s_l_net_1_1_i_r_n_s2___berkley.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="../../dc/d78/class_s_l_net_1_1_i_r_n_s2___berkley-members.xhtml">List of all members</a> </div>
<div class="headertitle">
<div class="title">SLNet::IRNS2_Berkley Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div> </div>
</div><!--header-->
<div class="contents">
<p><code>#include &lt;<a class="el" href="../../df/ded/socket2_8h_source.xhtml">slikenet/socket2.h</a>&gt;</code></p>
<div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
<img id="dynsection-0-trigger" src="../../closed.png" alt="+"/> Inheritance diagram for SLNet::IRNS2_Berkley:</div>
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="../../df/d0f/class_s_l_net_1_1_i_r_n_s2___berkley__inherit__graph.svg" width="100%" height="600"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a6cbdd1689e102114cdb564c10265fa54"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#a4404d95ca631c4047d0d6d10323db7c1">RNS2BindResult</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d64/class_s_l_net_1_1_i_r_n_s2___berkley.xhtml#a6cbdd1689e102114cdb564c10265fa54">Bind</a> (<a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#d8/ddf/struct_s_l_net_1_1_r_n_s2___berkley_bind_parameters">RNS2_BerkleyBindParameters</a> *bindParameters, const char *file, unsigned int line)=0</td></tr>
<tr class="separator:a6cbdd1689e102114cdb564c10265fa54"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_class_s_l_net_1_1_rak_net_socket2"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_class_s_l_net_1_1_rak_net_socket2')"><img src="../../closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="../../d1/dde/class_s_l_net_1_1_rak_net_socket2.xhtml">SLNet::RakNetSocket2</a></td></tr>
<tr class="memitem:a23f4b4d0124968fa6fbc925f5d64544e inherit pub_methods_class_s_l_net_1_1_rak_net_socket2"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/dde/class_s_l_net_1_1_rak_net_socket2.xhtml#a23f4b4d0124968fa6fbc925f5d64544e">RakNetSocket2</a> ()</td></tr>
<tr class="separator:a23f4b4d0124968fa6fbc925f5d64544e inherit pub_methods_class_s_l_net_1_1_rak_net_socket2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a30f2b8d216e01b22c9345d2c8b228e2d inherit pub_methods_class_s_l_net_1_1_rak_net_socket2"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/dde/class_s_l_net_1_1_rak_net_socket2.xhtml#a30f2b8d216e01b22c9345d2c8b228e2d">~RakNetSocket2</a> ()</td></tr>
<tr class="separator:a30f2b8d216e01b22c9345d2c8b228e2d inherit pub_methods_class_s_l_net_1_1_rak_net_socket2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aca47ecce2411a468bea8b610bfa5dedc inherit pub_methods_class_s_l_net_1_1_rak_net_socket2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/dde/class_s_l_net_1_1_rak_net_socket2.xhtml#aca47ecce2411a468bea8b610bfa5dedc">SetRecvEventHandler</a> (<a class="el" href="../../d5/da8/class_s_l_net_1_1_r_n_s2_event_handler.xhtml">RNS2EventHandler</a> *_eventHandler)</td></tr>
<tr class="separator:aca47ecce2411a468bea8b610bfa5dedc inherit pub_methods_class_s_l_net_1_1_rak_net_socket2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2b88e6864d8b42a494475deae58044a6 inherit pub_methods_class_s_l_net_1_1_rak_net_socket2"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#acaff2aa5d370e1b12e5b8ad7802d4d48">RNS2SendResult</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/dde/class_s_l_net_1_1_rak_net_socket2.xhtml#a2b88e6864d8b42a494475deae58044a6">Send</a> (<a class="el" href="../../df/dc3/struct_s_l_net_1_1_r_n_s2___send_parameters.xhtml">RNS2_SendParameters</a> *sendParameters, const char *file, unsigned int line)=0</td></tr>
<tr class="separator:a2b88e6864d8b42a494475deae58044a6 inherit pub_methods_class_s_l_net_1_1_rak_net_socket2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a51ad3d83ffc0df3430aa12d43034c560 inherit pub_methods_class_s_l_net_1_1_rak_net_socket2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#a7f7d67284e896de8dedea795f82b072f">RNS2Type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/dde/class_s_l_net_1_1_rak_net_socket2.xhtml#a51ad3d83ffc0df3430aa12d43034c560">GetSocketType</a> (void) const </td></tr>
<tr class="separator:a51ad3d83ffc0df3430aa12d43034c560 inherit pub_methods_class_s_l_net_1_1_rak_net_socket2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad58cb39895352250ce7a521f185399e0 inherit pub_methods_class_s_l_net_1_1_rak_net_socket2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/dde/class_s_l_net_1_1_rak_net_socket2.xhtml#ad58cb39895352250ce7a521f185399e0">SetSocketType</a> (<a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#a7f7d67284e896de8dedea795f82b072f">RNS2Type</a> t)</td></tr>
<tr class="separator:ad58cb39895352250ce7a521f185399e0 inherit pub_methods_class_s_l_net_1_1_rak_net_socket2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af605c577c5300b0599fcd6396203d685 inherit pub_methods_class_s_l_net_1_1_rak_net_socket2"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/dde/class_s_l_net_1_1_rak_net_socket2.xhtml#af605c577c5300b0599fcd6396203d685">IsBerkleySocket</a> (void) const </td></tr>
<tr class="separator:af605c577c5300b0599fcd6396203d685 inherit pub_methods_class_s_l_net_1_1_rak_net_socket2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a58ced3513884d5224dfa50c46fe5a64a inherit pub_methods_class_s_l_net_1_1_rak_net_socket2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d8/dbe/struct_s_l_net_1_1_system_address.xhtml">SystemAddress</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/dde/class_s_l_net_1_1_rak_net_socket2.xhtml#a58ced3513884d5224dfa50c46fe5a64a">GetBoundAddress</a> (void) const </td></tr>
<tr class="separator:a58ced3513884d5224dfa50c46fe5a64a inherit pub_methods_class_s_l_net_1_1_rak_net_socket2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a294306d2ea487206bd603c3d9b7012de inherit pub_methods_class_s_l_net_1_1_rak_net_socket2"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/dde/class_s_l_net_1_1_rak_net_socket2.xhtml#a294306d2ea487206bd603c3d9b7012de">GetUserConnectionSocketIndex</a> (void) const </td></tr>
<tr class="separator:a294306d2ea487206bd603c3d9b7012de inherit pub_methods_class_s_l_net_1_1_rak_net_socket2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0f34964b054a505ddad17e803e377b95 inherit pub_methods_class_s_l_net_1_1_rak_net_socket2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/dde/class_s_l_net_1_1_rak_net_socket2.xhtml#a0f34964b054a505ddad17e803e377b95">SetUserConnectionSocketIndex</a> (unsigned int i)</td></tr>
<tr class="separator:a0f34964b054a505ddad17e803e377b95 inherit pub_methods_class_s_l_net_1_1_rak_net_socket2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a891296b6c14a70279f90a928b5eda9d6 inherit pub_methods_class_s_l_net_1_1_rak_net_socket2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d5/da8/class_s_l_net_1_1_r_n_s2_event_handler.xhtml">RNS2EventHandler</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/dde/class_s_l_net_1_1_rak_net_socket2.xhtml#a891296b6c14a70279f90a928b5eda9d6">GetEventHandler</a> (void) const </td></tr>
<tr class="separator:a891296b6c14a70279f90a928b5eda9d6 inherit pub_methods_class_s_l_net_1_1_rak_net_socket2"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:a24197009cbf1a270a570465992a0e755"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d64/class_s_l_net_1_1_i_r_n_s2___berkley.xhtml#a24197009cbf1a270a570465992a0e755">IsPortInUse</a> (unsigned short port, const char *hostAddress, unsigned short addressFamily, int type)</td></tr>
<tr class="separator:a24197009cbf1a270a570465992a0e755"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_static_methods_class_s_l_net_1_1_rak_net_socket2"><td colspan="2" onclick="javascript:toggleInherit('pub_static_methods_class_s_l_net_1_1_rak_net_socket2')"><img src="../../closed.png" alt="-"/>&#160;Static Public Member Functions inherited from <a class="el" href="../../d1/dde/class_s_l_net_1_1_rak_net_socket2.xhtml">SLNet::RakNetSocket2</a></td></tr>
<tr class="memitem:a608c0a4dead80c0f5d77504cc20d5450 inherit pub_static_methods_class_s_l_net_1_1_rak_net_socket2"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/dde/class_s_l_net_1_1_rak_net_socket2.xhtml#a608c0a4dead80c0f5d77504cc20d5450">GetMyIP</a> (<a class="el" href="../../d8/dbe/struct_s_l_net_1_1_system_address.xhtml">SystemAddress</a> addresses[<a class="el" href="../../d8/db0/defines_8h.xhtml#aaac58d0b7314b7f900c0045e0c303b80">MAXIMUM_NUMBER_OF_INTERNAL_IDS</a>])</td></tr>
<tr class="separator:a608c0a4dead80c0f5d77504cc20d5450 inherit pub_static_methods_class_s_l_net_1_1_rak_net_socket2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5afa9c585a7d5810f2a65933155cf1bb inherit pub_static_methods_class_s_l_net_1_1_rak_net_socket2"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/dde/class_s_l_net_1_1_rak_net_socket2.xhtml#a5afa9c585a7d5810f2a65933155cf1bb">DomainNameToIP</a> (const char *domainName, char ip[65])</td></tr>
<tr class="separator:a5afa9c585a7d5810f2a65933155cf1bb inherit pub_static_methods_class_s_l_net_1_1_rak_net_socket2"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
Additional Inherited Members</h2></td></tr>
<tr class="inherit_header pro_attribs_class_s_l_net_1_1_rak_net_socket2"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_class_s_l_net_1_1_rak_net_socket2')"><img src="../../closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="../../d1/dde/class_s_l_net_1_1_rak_net_socket2.xhtml">SLNet::RakNetSocket2</a></td></tr>
<tr class="memitem:a02144fab64b6ad521fa0dbf112d3e352 inherit pro_attribs_class_s_l_net_1_1_rak_net_socket2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d5/da8/class_s_l_net_1_1_r_n_s2_event_handler.xhtml">RNS2EventHandler</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/dde/class_s_l_net_1_1_rak_net_socket2.xhtml#a02144fab64b6ad521fa0dbf112d3e352">eventHandler</a></td></tr>
<tr class="separator:a02144fab64b6ad521fa0dbf112d3e352 inherit pro_attribs_class_s_l_net_1_1_rak_net_socket2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a538b3fe19c56e9b3643df57019eaa260 inherit pro_attribs_class_s_l_net_1_1_rak_net_socket2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#a7f7d67284e896de8dedea795f82b072f">RNS2Type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/dde/class_s_l_net_1_1_rak_net_socket2.xhtml#a538b3fe19c56e9b3643df57019eaa260">socketType</a></td></tr>
<tr class="separator:a538b3fe19c56e9b3643df57019eaa260 inherit pro_attribs_class_s_l_net_1_1_rak_net_socket2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab549a8b3397fc1a39b1fac54c34ae4e5 inherit pro_attribs_class_s_l_net_1_1_rak_net_socket2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d8/dbe/struct_s_l_net_1_1_system_address.xhtml">SystemAddress</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/dde/class_s_l_net_1_1_rak_net_socket2.xhtml#ab549a8b3397fc1a39b1fac54c34ae4e5">boundAddress</a></td></tr>
<tr class="separator:ab549a8b3397fc1a39b1fac54c34ae4e5 inherit pro_attribs_class_s_l_net_1_1_rak_net_socket2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4e3768f69a9ab4e1eb4fe3d593a7fb90 inherit pro_attribs_class_s_l_net_1_1_rak_net_socket2"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/dde/class_s_l_net_1_1_rak_net_socket2.xhtml#a4e3768f69a9ab4e1eb4fe3d593a7fb90">userConnectionSocketIndex</a></td></tr>
<tr class="separator:a4e3768f69a9ab4e1eb4fe3d593a7fb90 inherit pro_attribs_class_s_l_net_1_1_rak_net_socket2"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock">
<p>Definition at line <a class="el" href="../../df/ded/socket2_8h_source.xhtml#l00283">283</a> of file <a class="el" href="../../df/ded/socket2_8h_source.xhtml">socket2.h</a>.</p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a6cbdd1689e102114cdb564c10265fa54"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual <a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#a4404d95ca631c4047d0d6d10323db7c1">RNS2BindResult</a> SLNet::IRNS2_Berkley::Bind </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#d8/ddf/struct_s_l_net_1_1_r_n_s2___berkley_bind_parameters">RNS2_BerkleyBindParameters</a> *&#160;</td>
<td class="paramname"><em>bindParameters</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>file</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned int&#160;</td>
<td class="paramname"><em>line</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Implemented in <a class="el" href="../../d1/da2/class_s_l_net_1_1_r_n_s2___linux.xhtml#a3687866bc276025585e9f3fb8663fdb0">SLNet::RNS2_Linux</a>.</p>
<p>Referenced by <a class="el" href="../../d5/dd3/_rak_net_socket2_8cpp_source.xhtml#l00287">IsPortInUse()</a>.</p>
</div>
</div>
<a class="anchor" id="a24197009cbf1a270a570465992a0e755"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool IRNS2_Berkley::IsPortInUse </td>
<td>(</td>
<td class="paramtype">unsigned short&#160;</td>
<td class="paramname"><em>port</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>hostAddress</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned short&#160;</td>
<td class="paramname"><em>addressFamily</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>type</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d5/dd3/_rak_net_socket2_8cpp_source.xhtml#l00287">287</a> of file <a class="el" href="../../d5/dd3/_rak_net_socket2_8cpp_source.xhtml">RakNetSocket2.cpp</a>.</p>
<p>References <a class="el" href="../../d8/db0/defines_8h_source.xhtml#l00047">_FILE_AND_LINE_</a>, <a class="el" href="../../df/ded/socket2_8h_source.xhtml#l00270">SLNet::RNS2_BerkleyBindParameters::addressFamily</a>, <a class="el" href="../../d5/dd3/_rak_net_socket2_8cpp_source.xhtml#l00075">SLNet::RakNetSocket2Allocator::AllocRNS2()</a>, <a class="el" href="../../d7/d64/class_s_l_net_1_1_i_r_n_s2___berkley.xhtml#a6cbdd1689e102114cdb564c10265fa54">Bind()</a>, <a class="el" href="../../df/ded/socket2_8h_source.xhtml#l00147">SLNet::RakNetSocket2::boundAddress</a>, <a class="el" href="../../df/ded/socket2_8h_source.xhtml#l00059">SLNet::BR_FAILED_TO_BIND_SOCKET</a>, <a class="el" href="../../d5/dd3/_rak_net_socket2_8cpp_source.xhtml#l00064">SLNet::RakNetSocket2Allocator::DeallocRNS2()</a>, <a class="el" href="../../df/ded/socket2_8h_source.xhtml#l00276">SLNet::RNS2_BerkleyBindParameters::doNotFragment</a>, <a class="el" href="../../df/ded/socket2_8h_source.xhtml#l00269">SLNet::RNS2_BerkleyBindParameters::hostAddress</a>, <a class="el" href="../../df/ded/socket2_8h_source.xhtml#l00273">SLNet::RNS2_BerkleyBindParameters::nonBlockingSocket</a>, <a class="el" href="../../df/ded/socket2_8h_source.xhtml#l00268">SLNet::RNS2_BerkleyBindParameters::port</a>, <a class="el" href="../../df/ded/socket2_8h_source.xhtml#l00272">SLNet::RNS2_BerkleyBindParameters::protocol</a>, <a class="el" href="../../df/ded/socket2_8h_source.xhtml#l00279">SLNet::RNS2_BerkleyBindParameters::remotePortRakNetWasStartedOn_PS3_PS4_PSP2</a>, <a class="el" href="../../df/ded/socket2_8h_source.xhtml#l00274">SLNet::RNS2_BerkleyBindParameters::setBroadcast</a>, <a class="el" href="../../df/ded/socket2_8h_source.xhtml#l00275">SLNet::RNS2_BerkleyBindParameters::setIPHdrIncl</a>, and <a class="el" href="../../df/ded/socket2_8h_source.xhtml#l00271">SLNet::RNS2_BerkleyBindParameters::type</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>Source/include/slikenet/<a class="el" href="../../df/ded/socket2_8h_source.xhtml">socket2.h</a></li>
<li>Source/src/<a class="el" href="../../d5/dd3/_rak_net_socket2_8cpp_source.xhtml">RakNetSocket2.cpp</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dd/d30/namespace_s_l_net.xhtml">SLNet</a></li><li class="navelem"><a class="el" href="../../d7/d64/class_s_l_net_1_1_i_r_n_s2___berkley.xhtml">IRNS2_Berkley</a></li>
<li class="footer">Generated on Wed Aug 14 2019 22:09:50 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,124 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>SLikeNet: Source/src/NatPunchthroughClient.cpp File Reference</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="../../index.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li class="current"><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../files.xhtml"><span>File&#160;List</span></a></li>
<li><a href="../../globals.xhtml"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('d7/d68/_nat_punchthrough_client_8cpp.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">NatPunchthroughClient.cpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &quot;<a class="el" href="../../de/ddb/_native_feature_includes_8h_source.xhtml">slikenet/NativeFeatureIncludes.h</a>&quot;</code><br/>
</div>
<p><a href="../../d7/d68/_nat_punchthrough_client_8cpp_source.xhtml">Go to the source code of this file.</a></p>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_74389ed8173ad57b461b9d623a1f3867.xhtml">Source</a></li><li class="navelem"><a class="el" href="../../dir_d1eb22c2ecfd8b50f59e9cbaf8260105.xhtml">src</a></li><li class="navelem"><a class="el" href="../../d7/d68/_nat_punchthrough_client_8cpp.xhtml">NatPunchthroughClient.cpp</a></li>
<li class="footer">Generated on Wed Aug 14 2019 22:09:48 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,4 @@
var _cloud_common_8h =
[
[ "CloudKeyComp", "d7/d6d/_cloud_common_8h.xhtml#a39ffef790067873106e86ebb55b9745b", null ]
];

View File

@ -0,0 +1,155 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>SLikeNet: Source/include/slikenet/CloudCommon.h File Reference</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="../../index.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li class="current"><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../files.xhtml"><span>File&#160;List</span></a></li>
<li><a href="../../globals.xhtml"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('d7/d6d/_cloud_common_8h.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#namespaces">Namespaces</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">CloudCommon.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &quot;<a class="el" href="../../de/ddb/_native_feature_includes_8h_source.xhtml">NativeFeatureIncludes.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../d9/d49/types_8h_source.xhtml">types.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../da/d66/string_8h_source.xhtml">string.h</a>&quot;</code><br/>
</div>
<p><a href="../../d7/d6d/_cloud_common_8h_source.xhtml">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:db/de6/class_s_l_net_1_1_cloud_allocator"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#db/de6/class_s_l_net_1_1_cloud_allocator">SLNet::CloudAllocator</a></td></tr>
<tr class="separator:db/de6/class_s_l_net_1_1_cloud_allocator"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:d9/d8c/struct_s_l_net_1_1_cloud_key"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#d9/d8c/struct_s_l_net_1_1_cloud_key">SLNet::CloudKey</a></td></tr>
<tr class="separator:d9/d8c/struct_s_l_net_1_1_cloud_key"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:da/d88/struct_s_l_net_1_1_cloud_query"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#da/d88/struct_s_l_net_1_1_cloud_query">SLNet::CloudQuery</a></td></tr>
<tr class="separator:da/d88/struct_s_l_net_1_1_cloud_query"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:de/dfa/struct_s_l_net_1_1_cloud_query_row"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#de/dfa/struct_s_l_net_1_1_cloud_query_row">SLNet::CloudQueryRow</a></td></tr>
<tr class="separator:de/dfa/struct_s_l_net_1_1_cloud_query_row"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:d0/d6e/struct_s_l_net_1_1_cloud_query_result"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#d0/d6e/struct_s_l_net_1_1_cloud_query_result">SLNet::CloudQueryResult</a></td></tr>
<tr class="separator:d0/d6e/struct_s_l_net_1_1_cloud_query_result"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:dd/d30/namespace_s_l_net"><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d30/namespace_s_l_net.xhtml">SLNet</a></td></tr>
<tr class="memdesc:dd/d30/namespace_s_l_net"><td class="mdescLeft">&#160;</td><td class="mdescRight">Simple class to send changes between directories. In essence, a simple autopatcher that can be used for transmitting levels, skins, etc. <br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a39ffef790067873106e86ebb55b9745b"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#a39ffef790067873106e86ebb55b9745b">SLNet::CloudKeyComp</a> (const CloudKey &amp;key, const CloudKey &amp;data)</td></tr>
<tr class="separator:a39ffef790067873106e86ebb55b9745b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_74389ed8173ad57b461b9d623a1f3867.xhtml">Source</a></li><li class="navelem"><a class="el" href="../../dir_bbb90e3ef9167a594ae33323139a2595.xhtml">include</a></li><li class="navelem"><a class="el" href="../../dir_88467e66686deb9d3756fe4fc298e321.xhtml">slikenet</a></li><li class="navelem"><a class="el" href="../../d7/d6d/_cloud_common_8h.xhtml">CloudCommon.h</a></li>
<li class="footer">Generated on Wed Aug 14 2019 22:09:48 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,233 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>SLikeNet: Source/include/slikenet/CloudCommon.h Source File</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="../../index.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li class="current"><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../files.xhtml"><span>File&#160;List</span></a></li>
<li><a href="../../globals.xhtml"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('d7/d6d/_cloud_common_8h_source.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">CloudCommon.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="../../d7/d6d/_cloud_common_8h.xhtml">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> * Original work: Copyright (c) 2014, Oculus VR, Inc.</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> * All rights reserved.</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> * This source code is licensed under the BSD-style license found in the</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> * RakNet License.txt file in the licenses directory of this source tree. An additional grant </span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> * of patent rights can be found in the RakNet Patents.txt file in the same directory.</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment"> * Modified work: Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> * This source code was modified by SLikeSoft. Modifications are licensed under the MIT-style</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> * license found in the license.txt file in the root directory of this source tree.</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;</div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../de/ddb/_native_feature_includes_8h.xhtml">NativeFeatureIncludes.h</a>&quot;</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="preprocessor">#if _RAKNET_SUPPORT_CloudClient==1 || _RAKNET_SUPPORT_CloudServer==1</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="preprocessor">#ifndef __CLOUD_COMMON_H</span></div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define __CLOUD_COMMON_H</span></div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../d9/d49/types_8h.xhtml" title="Types used by RakNet, most of which involve user code.">types.h</a>&quot;</span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../da/d66/string_8h.xhtml">string.h</a>&quot;</span></div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;</div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="keyword">namespace </span>SLNet</div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;{</div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="keyword">class </span>BitStream;</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="keyword">struct </span>CloudQueryRow;</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;</div>
<div class="line"><a name="l00033"></a><span class="lineno"><a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml"> 33</a></span>&#160;<span class="keyword">class </span><a class="code" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#db/de6/class_s_l_net_1_1_cloud_allocator">CloudAllocator</a></div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;{</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00036"></a><span class="lineno"><a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#aa53da432ec9359041696e6b466f68f7e"> 36</a></span>&#160; <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#aa53da432ec9359041696e6b466f68f7e">CloudAllocator</a>() {}</div>
<div class="line"><a name="l00037"></a><span class="lineno"><a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#a5f109301b802457733090e6977a6f5ae"> 37</a></span>&#160; <span class="keyword">virtual</span> <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#a5f109301b802457733090e6977a6f5ae">~CloudAllocator</a>() {}</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; <span class="keyword">virtual</span> <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#de/dfa/struct_s_l_net_1_1_cloud_query_row">CloudQueryRow</a>* AllocateCloudQueryRow(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> DeallocateCloudQueryRow(<a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#de/dfa/struct_s_l_net_1_1_cloud_query_row">CloudQueryRow</a> *row);</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *AllocateRowData(<a class="code" href="../../df/df2/_native_types_8h.xhtml#a6eb1e68cc391dd753bc8ce896dbb8315">uint32_t</a> bytesNeededForData);</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> DeallocateRowData(<span class="keywordtype">void</span> *data);</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;};</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;</div>
<div class="line"><a name="l00051"></a><span class="lineno"><a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml"> 51</a></span>&#160;<span class="keyword">struct </span><a class="code" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#d9/d8c/struct_s_l_net_1_1_cloud_key">CloudKey</a></div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;{</div>
<div class="line"><a name="l00053"></a><span class="lineno"><a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#a3dfad0266c31649c5a17df900d106af5"> 53</a></span>&#160; <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#a3dfad0266c31649c5a17df900d106af5">CloudKey</a>() {}</div>
<div class="line"><a name="l00054"></a><span class="lineno"><a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#a1dac3fe7440534017daa11dcee443fee"> 54</a></span>&#160; <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#a1dac3fe7440534017daa11dcee443fee">CloudKey</a>(<a class="code" href="../../d2/d66/class_s_l_net_1_1_rak_string.xhtml" title="String class.">SLNet::RakString</a> _primaryKey, <a class="code" href="../../df/df2/_native_types_8h.xhtml#a6eb1e68cc391dd753bc8ce896dbb8315">uint32_t</a> _secondaryKey) : primaryKey(_primaryKey), secondaryKey(_secondaryKey) {}</div>
<div class="line"><a name="l00055"></a><span class="lineno"><a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#af26eaac1ad703fff78dcf40680a4a68e"> 55</a></span>&#160; <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#af26eaac1ad703fff78dcf40680a4a68e">~CloudKey</a>() {}</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;</div>
<div class="line"><a name="l00059"></a><span class="lineno"><a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#ab91dede511718a8609a094665f4865cb"> 59</a></span>&#160; <a class="code" href="../../d2/d66/class_s_l_net_1_1_rak_string.xhtml" title="String class.">SLNet::RakString</a> <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#ab91dede511718a8609a094665f4865cb">primaryKey</a>;</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;</div>
<div class="line"><a name="l00062"></a><span class="lineno"><a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#a5532b87d2d0330cf90dc7906a328fdc1"> 62</a></span>&#160; <a class="code" href="../../df/df2/_native_types_8h.xhtml#a6eb1e68cc391dd753bc8ce896dbb8315">uint32_t</a> <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#a5532b87d2d0330cf90dc7906a328fdc1" title="Identifies the secondary key. This is intended to be a subcategory enumeration, such as PLAYER_LIST o...">secondaryKey</a>;</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <span class="keywordtype">void</span> Serialize(<span class="keywordtype">bool</span> writeToBitstream, <a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">BitStream</a> *bitStream);</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;};</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;<span class="keywordtype">int</span> <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a39ffef790067873106e86ebb55b9745b">CloudKeyComp</a>(<span class="keyword">const</span> <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#d9/d8c/struct_s_l_net_1_1_cloud_key">CloudKey</a> &amp;key, <span class="keyword">const</span> <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#d9/d8c/struct_s_l_net_1_1_cloud_key">CloudKey</a> &amp;data);</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;</div>
<div class="line"><a name="l00073"></a><span class="lineno"><a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml"> 73</a></span>&#160;<span class="keyword">struct </span><a class="code" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#da/d88/struct_s_l_net_1_1_cloud_query">CloudQuery</a></div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;{</div>
<div class="line"><a name="l00075"></a><span class="lineno"><a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#a4ea5d11fcc8682176cda64965c14bd3d"> 75</a></span>&#160; <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#a4ea5d11fcc8682176cda64965c14bd3d">CloudQuery</a>() {startingRowIndex=0; maxRowsToReturn=0; subscribeToResults=<span class="keyword">false</span>;}</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160;</div>
<div class="line"><a name="l00080"></a><span class="lineno"><a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#aeb5f523e8a9f72fc591af880244fb35b"> 80</a></span>&#160; <a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml">DataStructures::List&lt;CloudKey&gt;</a> <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#aeb5f523e8a9f72fc591af880244fb35b">keys</a>;</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160;</div>
<div class="line"><a name="l00083"></a><span class="lineno"><a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#a95f7b3a6511053956da43e8cf1bfd679"> 83</a></span>&#160; <a class="code" href="../../df/df2/_native_types_8h.xhtml#a6eb1e68cc391dd753bc8ce896dbb8315">uint32_t</a> <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#a95f7b3a6511053956da43e8cf1bfd679" title="If limiting the number of rows to return, this is the starting offset into the list. Has no effect unless maxRowsToReturn is &gt; 0.">startingRowIndex</a>;</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;</div>
<div class="line"><a name="l00086"></a><span class="lineno"><a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#ae0c655d192717f0cebe590fec254d4a2"> 86</a></span>&#160; <a class="code" href="../../df/df2/_native_types_8h.xhtml#a6eb1e68cc391dd753bc8ce896dbb8315">uint32_t</a> <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#ae0c655d192717f0cebe590fec254d4a2" title="Maximum number of rows to return. Actual number may still be less than this. Pass 0 to mean no-limit...">maxRowsToReturn</a>;</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160;</div>
<div class="line"><a name="l00089"></a><span class="lineno"><a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#af3478798840055cbf3f2371e8f6fb7ed"> 89</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#af3478798840055cbf3f2371e8f6fb7ed" title="If true, automatically get updates as the results returned to you change. Unsubscribe with CloudMemor...">subscribeToResults</a>;</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160;</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <span class="keywordtype">void</span> Serialize(<span class="keywordtype">bool</span> writeToBitstream, <a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">BitStream</a> *bitStream);</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160;};</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160;</div>
<div class="line"><a name="l00096"></a><span class="lineno"><a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml"> 96</a></span>&#160;<span class="keyword">struct </span><a class="code" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#de/dfa/struct_s_l_net_1_1_cloud_query_row">CloudQueryRow</a></div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160;{</div>
<div class="line"><a name="l00099"></a><span class="lineno"><a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#ad68ff8aaa1ac1230f06614a7dc2e21d4"> 99</a></span>&#160; <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#d9/d8c/struct_s_l_net_1_1_cloud_key">CloudKey</a> <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#ad68ff8aaa1ac1230f06614a7dc2e21d4" title="Key used to identify this data.">key</a>;</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160;</div>
<div class="line"><a name="l00102"></a><span class="lineno"><a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#a0f37df8209412d7f60f007b5c0919e81"> 102</a></span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *<a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#a0f37df8209412d7f60f007b5c0919e81" title="Data uploaded.">data</a>;</div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;</div>
<div class="line"><a name="l00105"></a><span class="lineno"><a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#aa90a3b04ab03190a76654f199de0e4e1"> 105</a></span>&#160; <a class="code" href="../../df/df2/_native_types_8h.xhtml#a6eb1e68cc391dd753bc8ce896dbb8315">uint32_t</a> <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#aa90a3b04ab03190a76654f199de0e4e1" title="Length of data uploaded.">length</a>;</div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;</div>
<div class="line"><a name="l00108"></a><span class="lineno"><a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#a4c23886322289dfda16b3d591032f170"> 108</a></span>&#160; <a class="code" href="../../d8/dbe/struct_s_l_net_1_1_system_address.xhtml" title="Network address for a system.">SystemAddress</a> <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#a4c23886322289dfda16b3d591032f170" title="System address of server that is holding this data, and the client is connected to.">serverSystemAddress</a>;</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160;</div>
<div class="line"><a name="l00111"></a><span class="lineno"><a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#ad1a242bf51ad8439641a1e15945a0bb1"> 111</a></span>&#160; <a class="code" href="../../d8/dbe/struct_s_l_net_1_1_system_address.xhtml" title="Network address for a system.">SystemAddress</a> <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#ad1a242bf51ad8439641a1e15945a0bb1" title="System address of client that uploaded this data.">clientSystemAddress</a>;</div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;</div>
<div class="line"><a name="l00114"></a><span class="lineno"><a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#a11360751ae128aacaec75b69e15d1c09"> 114</a></span>&#160; <a class="code" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml">RakNetGUID</a> <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#a11360751ae128aacaec75b69e15d1c09" title="RakNetGUID of server that is holding this data, and the client is connected to.">serverGUID</a>;</div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;</div>
<div class="line"><a name="l00117"></a><span class="lineno"><a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#a470096c756e51a301f9bfe96a42c393c"> 117</a></span>&#160; <a class="code" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml">RakNetGUID</a> <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#a470096c756e51a301f9bfe96a42c393c" title="RakNetGUID of client that uploaded this data.">clientGUID</a>;</div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;</div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; <span class="keywordtype">void</span> Serialize(<span class="keywordtype">bool</span> writeToBitstream, <a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">BitStream</a> *bitStream, <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#db/de6/class_s_l_net_1_1_cloud_allocator">CloudAllocator</a> *allocator);</div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;};</div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;</div>
<div class="line"><a name="l00124"></a><span class="lineno"><a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml"> 124</a></span>&#160;<span class="keyword">struct </span><a class="code" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#d0/d6e/struct_s_l_net_1_1_cloud_query_result">CloudQueryResult</a></div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;{</div>
<div class="line"><a name="l00127"></a><span class="lineno"><a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#a9ad65984ad2a31a0bc5292f174f997dd"> 127</a></span>&#160; <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#da/d88/struct_s_l_net_1_1_cloud_query">CloudQuery</a> <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#a9ad65984ad2a31a0bc5292f174f997dd" title="Query originally passed to Download()">cloudQuery</a>;</div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160;</div>
<div class="line"><a name="l00130"></a><span class="lineno"><a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#aa7ba7034f6886188248d60728310cbb2"> 130</a></span>&#160; <a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml">DataStructures::List&lt;CloudQueryRow*&gt;</a> <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#aa7ba7034f6886188248d60728310cbb2" title="Results returned from query. If there were multiple keys in CloudQuery::keys then see resultKeyIndice...">rowsReturned</a>;</div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160;</div>
<div class="line"><a name="l00136"></a><span class="lineno"><a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#abfd21ef967570a089f485214bdfda43b"> 136</a></span>&#160; <a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml">DataStructures::List&lt;uint32_t&gt;</a> <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#abfd21ef967570a089f485214bdfda43b">resultKeyIndices</a>;</div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160;</div>
<div class="line"><a name="l00139"></a><span class="lineno"><a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#abfc6ae94f0e8d98bf0c5dbdde087c2c8"> 139</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#abfc6ae94f0e8d98bf0c5dbdde087c2c8" title="Whatever was passed to CloudClient::Get() as CloudQuery::subscribeToResults.">subscribeToResults</a>;</div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160;</div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; <span class="keywordtype">void</span> Serialize(<span class="keywordtype">bool</span> writeToBitstream, <a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">BitStream</a> *bitStream, <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#db/de6/class_s_l_net_1_1_cloud_allocator">CloudAllocator</a> *allocator);</div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <span class="keywordtype">void</span> SerializeHeader(<span class="keywordtype">bool</span> writeToBitstream, <a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">BitStream</a> *bitStream);</div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; <span class="keywordtype">void</span> SerializeNumRows(<span class="keywordtype">bool</span> writeToBitstream, <a class="code" href="../../df/df2/_native_types_8h.xhtml#a6eb1e68cc391dd753bc8ce896dbb8315">uint32_t</a> &amp;numRows, <a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">BitStream</a> *bitStream);</div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; <span class="keywordtype">void</span> SerializeCloudQueryRows(<span class="keywordtype">bool</span> writeToBitstream, <a class="code" href="../../df/df2/_native_types_8h.xhtml#a6eb1e68cc391dd753bc8ce896dbb8315">uint32_t</a> &amp;numRows, <a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">BitStream</a> *bitStream, <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#db/de6/class_s_l_net_1_1_cloud_allocator">CloudAllocator</a> *allocator);</div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160;};</div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160;</div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;} <span class="comment">// Namespace SLikeNet</span></div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;</div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;<span class="preprocessor">#endif // __CLOUD_COMMON_H</span></div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;<span class="preprocessor">#endif // #if _RAKNET_SUPPORT_CloudClient==1 || _RAKNET_SUPPORT_CloudServer==1</span></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_74389ed8173ad57b461b9d623a1f3867.xhtml">Source</a></li><li class="navelem"><a class="el" href="../../dir_bbb90e3ef9167a594ae33323139a2595.xhtml">include</a></li><li class="navelem"><a class="el" href="../../dir_88467e66686deb9d3756fe4fc298e321.xhtml">slikenet</a></li><li class="navelem"><a class="el" href="../../d7/d6d/_cloud_common_8h.xhtml">CloudCommon.h</a></li>
<li class="footer">Generated on Wed Aug 14 2019 22:09:46 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,140 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>SLikeNet: Source/include/slikenet/DS_HuffmanEncodingTreeFactory.h File Reference</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="../../index.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li class="current"><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../files.xhtml"><span>File&#160;List</span></a></li>
<li><a href="../../globals.xhtml"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('d7/d76/_d_s___huffman_encoding_tree_factory_8h.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#namespaces">Namespaces</a> </div>
<div class="headertitle">
<div class="title">DS_HuffmanEncodingTreeFactory.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &quot;<a class="el" href="../../dd/dc5/memoryoverride_8h_source.xhtml">memoryoverride.h</a>&quot;</code><br/>
</div>
<p><a href="../../d7/d76/_d_s___huffman_encoding_tree_factory_8h_source.xhtml">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/dc2/class_s_l_net_1_1_huffman_encoding_tree_factory.xhtml">SLNet::HuffmanEncodingTreeFactory</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates instances of the class <a class="el" href="../../d6/d52/class_s_l_net_1_1_huffman_encoding_tree.xhtml" title="This generates special cases of the huffman encoding tree using 8 bit keys with the additional condit...">HuffmanEncodingTree</a>. <a href="../../d1/dc2/class_s_l_net_1_1_huffman_encoding_tree_factory.xhtml#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:dd/d30/namespace_s_l_net"><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d30/namespace_s_l_net.xhtml">SLNet</a></td></tr>
<tr class="memdesc:dd/d30/namespace_s_l_net"><td class="mdescLeft">&#160;</td><td class="mdescRight">Simple class to send changes between directories. In essence, a simple autopatcher that can be used for transmitting levels, skins, etc. <br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_74389ed8173ad57b461b9d623a1f3867.xhtml">Source</a></li><li class="navelem"><a class="el" href="../../dir_bbb90e3ef9167a594ae33323139a2595.xhtml">include</a></li><li class="navelem"><a class="el" href="../../dir_88467e66686deb9d3756fe4fc298e321.xhtml">slikenet</a></li><li class="navelem"><a class="el" href="../../d7/d76/_d_s___huffman_encoding_tree_factory_8h.xhtml">DS_HuffmanEncodingTreeFactory.h</a></li>
<li class="footer">Generated on Wed Aug 14 2019 22:09:48 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,169 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>SLikeNet: Source/include/slikenet/DS_HuffmanEncodingTreeFactory.h Source File</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="../../index.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li class="current"><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../files.xhtml"><span>File&#160;List</span></a></li>
<li><a href="../../globals.xhtml"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('d7/d76/_d_s___huffman_encoding_tree_factory_8h_source.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">DS_HuffmanEncodingTreeFactory.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="../../d7/d76/_d_s___huffman_encoding_tree_factory_8h.xhtml">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> * Original work: Copyright (c) 2014, Oculus VR, Inc.</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> * All rights reserved.</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> * This source code is licensed under the BSD-style license found in the</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> * RakNet License.txt file in the licenses directory of this source tree. An additional grant </span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> * of patent rights can be found in the RakNet Patents.txt file in the same directory.</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment"> * Modified work: Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> * This source code was modified by SLikeSoft. Modifications are licensed under the MIT-style</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> * license found in the license.txt file in the root directory of this source tree.</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;</div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;</div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160; </div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="preprocessor">#ifndef __HUFFMAN_ENCODING_TREE_FACTORY</span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define __HUFFMAN_ENCODING_TREE_FACTORY</span></div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../dd/dc5/memoryoverride_8h.xhtml" title="If _USE_RAK_MEMORY_OVERRIDE is defined, memory allocations go through rakMalloc, rakRealloc, and rakFree.">memoryoverride.h</a>&quot;</span></div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;</div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="keyword">namespace </span>SLNet {</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="keyword">class </span>HuffmanEncodingTree;</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;</div>
<div class="line"><a name="l00033"></a><span class="lineno"><a class="code" href="../../d1/dc2/class_s_l_net_1_1_huffman_encoding_tree_factory.xhtml"> 33</a></span>&#160;<span class="keyword">class </span><a class="code" href="../../d1/dc2/class_s_l_net_1_1_huffman_encoding_tree_factory.xhtml" title="Creates instances of the class HuffmanEncodingTree.">HuffmanEncodingTreeFactory</a></div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;{</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; <a class="code" href="../../d1/dc2/class_s_l_net_1_1_huffman_encoding_tree_factory.xhtml#ab3cb504832256f85f46a3d2f5500abc8" title="Default constructor.">HuffmanEncodingTreeFactory</a>();</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; </div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; <span class="keywordtype">void</span> <a class="code" href="../../d1/dc2/class_s_l_net_1_1_huffman_encoding_tree_factory.xhtml#af61e481ded8c3232dbd562fe10ca311b" title="Reset the frequency table.">Reset</a>( <span class="keywordtype">void</span> );</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; </div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; <span class="keywordtype">void</span> <a class="code" href="../../d1/dc2/class_s_l_net_1_1_huffman_encoding_tree_factory.xhtml#ac60cf177e31061e94349a0b99466fd70" title="Pass an array of bytes to this to add those elements to the frequency table.">AddToFrequencyTable</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *array, <span class="keywordtype">int</span> size );</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; </div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <span class="keywordtype">void</span> <a class="code" href="../../d1/dc2/class_s_l_net_1_1_huffman_encoding_tree_factory.xhtml#a290531546c6c8a3a4ff3a67ac3c48863" title="Returns the frequency table as a pointer.">GetFrequencyTable</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> _frequency[ 256 ] );</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; </div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> * <a class="code" href="../../d1/dc2/class_s_l_net_1_1_huffman_encoding_tree_factory.xhtml#a290531546c6c8a3a4ff3a67ac3c48863" title="Returns the frequency table as a pointer.">GetFrequencyTable</a>( <span class="keywordtype">void</span> );</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; </div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <a class="code" href="../../d6/d52/class_s_l_net_1_1_huffman_encoding_tree.xhtml" title="This generates special cases of the huffman encoding tree using 8 bit keys with the additional condit...">HuffmanEncodingTree</a> * <a class="code" href="../../d1/dc2/class_s_l_net_1_1_huffman_encoding_tree_factory.xhtml#a1901ed7c309d78a69758875aeeb9a035" title="Generate a HuffmanEncodingTree.">GenerateTree</a>( <span class="keywordtype">void</span> );</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; </div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;<span class="keyword">private</span>:</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> frequency[ 256 ];</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;};</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;} <span class="comment">// namespace SLNet</span></div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;<span class="preprocessor">#endif</span></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_74389ed8173ad57b461b9d623a1f3867.xhtml">Source</a></li><li class="navelem"><a class="el" href="../../dir_bbb90e3ef9167a594ae33323139a2595.xhtml">include</a></li><li class="navelem"><a class="el" href="../../dir_88467e66686deb9d3756fe4fc298e321.xhtml">slikenet</a></li><li class="navelem"><a class="el" href="../../d7/d76/_d_s___huffman_encoding_tree_factory_8h.xhtml">DS_HuffmanEncodingTreeFactory.h</a></li>
<li class="footer">Generated on Wed Aug 14 2019 22:09:46 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,123 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>SLikeNet: Source/src/gettimeofday.cpp File Reference</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="../../index.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li class="current"><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../files.xhtml"><span>File&#160;List</span></a></li>
<li><a href="../../globals.xhtml"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('d7/d83/gettimeofday_8cpp.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">gettimeofday.cpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><a href="../../d7/d83/gettimeofday_8cpp_source.xhtml">Go to the source code of this file.</a></p>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_74389ed8173ad57b461b9d623a1f3867.xhtml">Source</a></li><li class="navelem"><a class="el" href="../../dir_d1eb22c2ecfd8b50f59e9cbaf8260105.xhtml">src</a></li><li class="navelem"><a class="el" href="../../d7/d83/gettimeofday_8cpp.xhtml">gettimeofday.cpp</a></li>
<li class="footer">Generated on Wed Aug 14 2019 22:09:48 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,197 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>SLikeNet: Source/src/gettimeofday.cpp Source File</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="../../index.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li class="current"><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../files.xhtml"><span>File&#160;List</span></a></li>
<li><a href="../../globals.xhtml"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('d7/d83/gettimeofday_8cpp_source.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">gettimeofday.cpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="../../d7/d83/gettimeofday_8cpp.xhtml">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> * Original work: Copyright (c) 2014, Oculus VR, Inc.</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> * All rights reserved.</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> * This source code is licensed under the BSD-style license found in the</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> * RakNet License.txt file in the licenses directory of this source tree. An additional grant </span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> * of patent rights can be found in the RakNet Patents.txt file in the same directory.</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment"> * Modified work: Copyright (c) 2016-2017, SLikeSoft UG (haftungsbeschränkt)</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> * This source code was modified by SLikeSoft. Modifications are licensed under the MIT-style</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> * license found in the license.txt file in the root directory of this source tree.</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;</div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="preprocessor">#if defined(_WIN32) &amp;&amp; !defined(__GNUC__) &amp;&amp;!defined(__GCCXML__)</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../d4/da7/gettimeofday_8h.xhtml">slikenet/gettimeofday.h</a>&quot;</span></div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;</div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="comment">// From http://www.openasthra.com/c-tidbits/gettimeofday-function-for-windows/</span></div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;</div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../db/d43/_windows_includes_8h.xhtml">slikenet/WindowsIncludes.h</a>&quot;</span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;</div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="preprocessor">#if defined(_MSC_VER) || defined(_MSC_EXTENSIONS)</span></div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="preprocessor"></span><span class="preprocessor"> #define DELTA_EPOCH_IN_MICROSECS 11644473600000000Ui64</span></div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#else</span></div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="preprocessor"></span><span class="preprocessor"> #define DELTA_EPOCH_IN_MICROSECS 11644473600000000ULL</span></div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="keywordtype">int</span> gettimeofday(<span class="keyword">struct</span> timeval *tv, <span class="keyword">struct</span> timezone *tz)</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;{</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="preprocessor">#if defined(WINDOWS_PHONE_8) || defined(WINDOWS_STORE_RT)</span></div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="preprocessor"></span> <span class="comment">// _tzset not supported</span></div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; (void) tv;</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; (void) tz;</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="preprocessor">#else</span></div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; FILETIME ft;</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; <span class="keywordtype">unsigned</span> __int64 tmpres = 0;</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; <span class="keyword">static</span> <span class="keywordtype">int</span> tzflag;</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; <span class="keywordflow">if</span> (NULL != tv)</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; {</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; GetSystemTimeAsFileTime(&amp;ft);</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; tmpres |= ft.dwHighDateTime;</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; tmpres &lt;&lt;= 32;</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; tmpres |= ft.dwLowDateTime;</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <span class="comment">/*converting file time to unix epoch*/</span></div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; tmpres /= 10; <span class="comment">/*convert into microseconds*/</span></div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; tmpres -= DELTA_EPOCH_IN_MICROSECS;</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; tv-&gt;tv_sec = (long)(tmpres / 1000000UL);</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; tv-&gt;tv_usec = (long)(tmpres % 1000000UL);</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; }</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; <span class="keywordflow">if</span> (NULL != tz)</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; {</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <span class="keywordflow">if</span> (!tzflag)</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; {</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; _tzset();</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; tzflag++;</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; }</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; <span class="keywordtype">long</span> seconds;</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; _get_timezone(&amp;seconds);</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; tz-&gt;tz_minuteswest = seconds / 60;</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; _get_daylight(&amp;(tz-&gt;tz_dsttime));</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; }</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <span class="keywordflow">return</span> 0;</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;}</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160;<span class="preprocessor"></span></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_74389ed8173ad57b461b9d623a1f3867.xhtml">Source</a></li><li class="navelem"><a class="el" href="../../dir_d1eb22c2ecfd8b50f59e9cbaf8260105.xhtml">src</a></li><li class="navelem"><a class="el" href="../../d7/d83/gettimeofday_8cpp.xhtml">gettimeofday.cpp</a></li>
<li class="footer">Generated on Wed Aug 14 2019 22:09:47 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,130 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>SLikeNet: Member List</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="../../index.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li class="current"><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../annotated.xhtml"><span>Class&#160;List</span></a></li>
<li><a href="../../classes.xhtml"><span>Class&#160;Index</span></a></li>
<li><a href="../../inherits.xhtml"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="../../functions.xhtml"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('d9/d75/class_ref_counted_obj.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">RefCountedObj Member List</div> </div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="../../d9/d75/class_ref_counted_obj.xhtml">RefCountedObj</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="../../d9/d75/class_ref_counted_obj.xhtml#a9241e7b1789d9527adede6b3c6b40bb9">AddRef</a>(void)</td><td class="entry"><a class="el" href="../../d9/d75/class_ref_counted_obj.xhtml">RefCountedObj</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d9/d75/class_ref_counted_obj.xhtml#ab1a8548d173d7a37c0ef5770014a1f60">Deref</a>(void)</td><td class="entry"><a class="el" href="../../d9/d75/class_ref_counted_obj.xhtml">RefCountedObj</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d9/d75/class_ref_counted_obj.xhtml#a8c7fd196db5c209de8fa1fb3ef6e2d05">refCount</a></td><td class="entry"><a class="el" href="../../d9/d75/class_ref_counted_obj.xhtml">RefCountedObj</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d9/d75/class_ref_counted_obj.xhtml#a1d6f812e6ee77f5eaf6b80ade2292316">RefCountedObj</a>()</td><td class="entry"><a class="el" href="../../d9/d75/class_ref_counted_obj.xhtml">RefCountedObj</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d9/d75/class_ref_counted_obj.xhtml#a0a328ccfd1e3cd84de317f8504e3692f">~RefCountedObj</a>()</td><td class="entry"><a class="el" href="../../d9/d75/class_ref_counted_obj.xhtml">RefCountedObj</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated on Wed Aug 14 2019 22:09:49 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,25 @@
var class_s_l_net_1_1_file_list =
[
[ "FileList", "d7/d87/class_s_l_net_1_1_file_list.xhtml#a19ab0e14e22582685586ef566f211198", null ],
[ "~FileList", "d7/d87/class_s_l_net_1_1_file_list.xhtml#ac634bf7d1ae56e8aaa5da11449dffee1", null ],
[ "AddCallback", "d7/d87/class_s_l_net_1_1_file_list.xhtml#abdbf501cbb0ff9da8b7b1f8ba82d871a", null ],
[ "AddFile", "d7/d87/class_s_l_net_1_1_file_list.xhtml#a9917e711caf02c3ce7ebbfd09cef6868", null ],
[ "AddFile", "d7/d87/class_s_l_net_1_1_file_list.xhtml#a298966e2e5182a4fa3c217639d86aeaf", null ],
[ "AddFilesFromDirectory", "d7/d87/class_s_l_net_1_1_file_list.xhtml#a9491361dcaa7cfefc751ae73ff3a49a4", null ],
[ "Clear", "d7/d87/class_s_l_net_1_1_file_list.xhtml#a923bc78eedcd71f5279399eb2fc07f3c", null ],
[ "ClearCallbacks", "d7/d87/class_s_l_net_1_1_file_list.xhtml#a2455084df77821aa4e5f2b01f2ea2b73", null ],
[ "DeleteFiles", "d7/d87/class_s_l_net_1_1_file_list.xhtml#a6fd1833f922daaa1b079dbea6ed7ead8", null ],
[ "Deserialize", "d7/d87/class_s_l_net_1_1_file_list.xhtml#a51a1f369424577edcfd6d476272ace14", null ],
[ "FixEndingSlash", "d7/d87/class_s_l_net_1_1_file_list.xhtml#a65dc316d9f3e4ad6a6a22a0b0649b1f9", null ],
[ "FixEndingSlash", "d7/d87/class_s_l_net_1_1_file_list.xhtml#a658f7465415cbd4444b849fea0b9d2c4", null ],
[ "FlagFilesAsReferences", "d7/d87/class_s_l_net_1_1_file_list.xhtml#a9ac96052c10248bd8fce56a78f9fdcca", null ],
[ "GetCallbacks", "d7/d87/class_s_l_net_1_1_file_list.xhtml#af59721be7f19d6bbb3baa14061d926b9", null ],
[ "GetDeltaToCurrent", "d7/d87/class_s_l_net_1_1_file_list.xhtml#aad3afd0c0f5accb17476ab3aed4fb7b5", null ],
[ "ListMissingOrChangedFiles", "d7/d87/class_s_l_net_1_1_file_list.xhtml#a846fb0d2eb9eff53f5103f2d9e962242", null ],
[ "PopulateDataFromDisk", "d7/d87/class_s_l_net_1_1_file_list.xhtml#ac2e392c9949c56e41cd7036cf14f5419", null ],
[ "RemoveCallback", "d7/d87/class_s_l_net_1_1_file_list.xhtml#aca0443f0d4771dba26fdba7eed4be7d0", null ],
[ "Serialize", "d7/d87/class_s_l_net_1_1_file_list.xhtml#a9481041b75367785c2e95af276820c8d", null ],
[ "WriteDataToDisk", "d7/d87/class_s_l_net_1_1_file_list.xhtml#a1fa59189fddf396376b25f38d09dc943", null ],
[ "fileList", "d7/d87/class_s_l_net_1_1_file_list.xhtml#aba78be96dad9e9014e2392cae3d731eb", null ],
[ "fileListProgressCallbacks", "d7/d87/class_s_l_net_1_1_file_list.xhtml#aee849214ab2bea4516ebc91f3af56dbb", null ]
];

View File

@ -0,0 +1,876 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>SLikeNet: SLNet::FileList Class Reference</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="../../index.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li class="current"><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../annotated.xhtml"><span>Class&#160;List</span></a></li>
<li><a href="../../classes.xhtml"><span>Class&#160;Index</span></a></li>
<li><a href="../../inherits.xhtml"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="../../functions.xhtml"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('d7/d87/class_s_l_net_1_1_file_list.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="../../dc/da3/class_s_l_net_1_1_file_list-members.xhtml">List of all members</a> </div>
<div class="headertitle">
<div class="title">SLNet::FileList Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><code>#include &lt;<a class="el" href="../../d0/dc4/_file_list_8h_source.xhtml">slikenet/FileList.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a19ab0e14e22582685586ef566f211198"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#a19ab0e14e22582685586ef566f211198">FileList</a> ()</td></tr>
<tr class="separator:a19ab0e14e22582685586ef566f211198"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac634bf7d1ae56e8aaa5da11449dffee1"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#ac634bf7d1ae56e8aaa5da11449dffee1">~FileList</a> ()</td></tr>
<tr class="separator:ac634bf7d1ae56e8aaa5da11449dffee1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9491361dcaa7cfefc751ae73ff3a49a4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#a9491361dcaa7cfefc751ae73ff3a49a4">AddFilesFromDirectory</a> (const char *applicationDirectory, const char *subDirectory, bool writeHash, bool writeData, bool recursive, <a class="el" href="../../d6/dff/struct_file_list_node_context.xhtml">FileListNodeContext</a> context)</td></tr>
<tr class="memdesc:a9491361dcaa7cfefc751ae73ff3a49a4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add all the files at a given directory. <a href="#a9491361dcaa7cfefc751ae73ff3a49a4"></a><br/></td></tr>
<tr class="separator:a9491361dcaa7cfefc751ae73ff3a49a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a923bc78eedcd71f5279399eb2fc07f3c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#a923bc78eedcd71f5279399eb2fc07f3c">Clear</a> (void)</td></tr>
<tr class="memdesc:a923bc78eedcd71f5279399eb2fc07f3c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Deallocate all memory. <a href="#a923bc78eedcd71f5279399eb2fc07f3c"></a><br/></td></tr>
<tr class="separator:a923bc78eedcd71f5279399eb2fc07f3c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9481041b75367785c2e95af276820c8d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#a9481041b75367785c2e95af276820c8d">Serialize</a> (<a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a> *outBitStream)</td></tr>
<tr class="memdesc:a9481041b75367785c2e95af276820c8d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write all encoded data into a bitstream. <a href="#a9481041b75367785c2e95af276820c8d"></a><br/></td></tr>
<tr class="separator:a9481041b75367785c2e95af276820c8d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a51a1f369424577edcfd6d476272ace14"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#a51a1f369424577edcfd6d476272ace14">Deserialize</a> (<a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a> *inBitStream)</td></tr>
<tr class="memdesc:a51a1f369424577edcfd6d476272ace14"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read all encoded data from a bitstream. <a class="el" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#a923bc78eedcd71f5279399eb2fc07f3c" title="Deallocate all memory.">Clear()</a> is called before deserializing. <a href="#a51a1f369424577edcfd6d476272ace14"></a><br/></td></tr>
<tr class="separator:a51a1f369424577edcfd6d476272ace14"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a846fb0d2eb9eff53f5103f2d9e962242"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#a846fb0d2eb9eff53f5103f2d9e962242">ListMissingOrChangedFiles</a> (const char *applicationDirectory, <a class="el" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml">FileList</a> *missingOrChangedFiles, bool alwaysWriteHash, bool neverWriteHash)</td></tr>
<tr class="memdesc:a846fb0d2eb9eff53f5103f2d9e962242"><td class="mdescLeft">&#160;</td><td class="mdescRight">Given the existing set of files, search applicationDirectory for the same files. <a href="#a846fb0d2eb9eff53f5103f2d9e962242"></a><br/></td></tr>
<tr class="separator:a846fb0d2eb9eff53f5103f2d9e962242"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aad3afd0c0f5accb17476ab3aed4fb7b5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aad3afd0c0f5accb17476ab3aed4fb7b5">GetDeltaToCurrent</a> (<a class="el" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml">FileList</a> *input, <a class="el" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml">FileList</a> *output, const char *dirSubset, const char *remoteSubdir)</td></tr>
<tr class="memdesc:aad3afd0c0f5accb17476ab3aed4fb7b5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the files that need to be written to make <em>input</em> match this current <a class="el" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml">FileList</a>. <a href="#aad3afd0c0f5accb17476ab3aed4fb7b5"></a><br/></td></tr>
<tr class="separator:aad3afd0c0f5accb17476ab3aed4fb7b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac2e392c9949c56e41cd7036cf14f5419"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#ac2e392c9949c56e41cd7036cf14f5419">PopulateDataFromDisk</a> (const char *applicationDirectory, bool writeFileData, bool writeFileHash, bool removeUnknownFiles)</td></tr>
<tr class="memdesc:ac2e392c9949c56e41cd7036cf14f5419"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assuming <a class="el" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml">FileList</a> contains a list of filenames presumably without data, read the data for these filenames. <a href="#ac2e392c9949c56e41cd7036cf14f5419"></a><br/></td></tr>
<tr class="separator:ac2e392c9949c56e41cd7036cf14f5419"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9ac96052c10248bd8fce56a78f9fdcca"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#a9ac96052c10248bd8fce56a78f9fdcca">FlagFilesAsReferences</a> (void)</td></tr>
<tr class="separator:a9ac96052c10248bd8fce56a78f9fdcca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1fa59189fddf396376b25f38d09dc943"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#a1fa59189fddf396376b25f38d09dc943">WriteDataToDisk</a> (const char *applicationDirectory)</td></tr>
<tr class="memdesc:a1fa59189fddf396376b25f38d09dc943"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write all files to disk, prefixing the paths with applicationDirectory. <a href="#a1fa59189fddf396376b25f38d09dc943"></a><br/></td></tr>
<tr class="separator:a1fa59189fddf396376b25f38d09dc943"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9917e711caf02c3ce7ebbfd09cef6868"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#a9917e711caf02c3ce7ebbfd09cef6868">AddFile</a> (const char *filename, const char *fullPathToFile, const char *data, const unsigned dataLength, const unsigned fileLength, <a class="el" href="../../d6/dff/struct_file_list_node_context.xhtml">FileListNodeContext</a> context, bool isAReference=false, bool takeDataPointer=false)</td></tr>
<tr class="memdesc:a9917e711caf02c3ce7ebbfd09cef6868"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a file, given data already in memory. <a href="#a9917e711caf02c3ce7ebbfd09cef6868"></a><br/></td></tr>
<tr class="separator:a9917e711caf02c3ce7ebbfd09cef6868"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a298966e2e5182a4fa3c217639d86aeaf"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#a298966e2e5182a4fa3c217639d86aeaf">AddFile</a> (const char *filepath, const char *filename, <a class="el" href="../../d6/dff/struct_file_list_node_context.xhtml">FileListNodeContext</a> context)</td></tr>
<tr class="memdesc:a298966e2e5182a4fa3c217639d86aeaf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a file, reading it from disk. <a href="#a298966e2e5182a4fa3c217639d86aeaf"></a><br/></td></tr>
<tr class="separator:a298966e2e5182a4fa3c217639d86aeaf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6fd1833f922daaa1b079dbea6ed7ead8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#a6fd1833f922daaa1b079dbea6ed7ead8">DeleteFiles</a> (const char *applicationDirectory)</td></tr>
<tr class="memdesc:a6fd1833f922daaa1b079dbea6ed7ead8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Delete all files stored in the file list. <a href="#a6fd1833f922daaa1b079dbea6ed7ead8"></a><br/></td></tr>
<tr class="separator:a6fd1833f922daaa1b079dbea6ed7ead8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abdbf501cbb0ff9da8b7b1f8ba82d871a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#abdbf501cbb0ff9da8b7b1f8ba82d871a">AddCallback</a> (<a class="el" href="../../d5/d7b/class_s_l_net_1_1_file_list_progress.xhtml">FileListProgress</a> *cb)</td></tr>
<tr class="memdesc:abdbf501cbb0ff9da8b7b1f8ba82d871a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds a callback to get progress reports about what the file list instances do. <a href="#abdbf501cbb0ff9da8b7b1f8ba82d871a"></a><br/></td></tr>
<tr class="separator:abdbf501cbb0ff9da8b7b1f8ba82d871a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aca0443f0d4771dba26fdba7eed4be7d0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aca0443f0d4771dba26fdba7eed4be7d0">RemoveCallback</a> (<a class="el" href="../../d5/d7b/class_s_l_net_1_1_file_list_progress.xhtml">FileListProgress</a> *cb)</td></tr>
<tr class="memdesc:aca0443f0d4771dba26fdba7eed4be7d0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Removes a callback. <a href="#aca0443f0d4771dba26fdba7eed4be7d0"></a><br/></td></tr>
<tr class="separator:aca0443f0d4771dba26fdba7eed4be7d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2455084df77821aa4e5f2b01f2ea2b73"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#a2455084df77821aa4e5f2b01f2ea2b73">ClearCallbacks</a> (void)</td></tr>
<tr class="memdesc:a2455084df77821aa4e5f2b01f2ea2b73"><td class="mdescLeft">&#160;</td><td class="mdescRight">Removes all callbacks. <a href="#a2455084df77821aa4e5f2b01f2ea2b73"></a><br/></td></tr>
<tr class="separator:a2455084df77821aa4e5f2b01f2ea2b73"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af59721be7f19d6bbb3baa14061d926b9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#af59721be7f19d6bbb3baa14061d926b9">GetCallbacks</a> (<a class="el" href="../../d4/d78/class_data_structures_1_1_list.xhtml">DataStructures::List</a>&lt; <a class="el" href="../../d5/d7b/class_s_l_net_1_1_file_list_progress.xhtml">FileListProgress</a> * &gt; &amp;callbacks)</td></tr>
<tr class="separator:af59721be7f19d6bbb3baa14061d926b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:a65dc316d9f3e4ad6a6a22a0b0649b1f9"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#a65dc316d9f3e4ad6a6a22a0b0649b1f9">FixEndingSlash</a> (char *str)</td></tr>
<tr class="separator:a65dc316d9f3e4ad6a6a22a0b0649b1f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a658f7465415cbd4444b849fea0b9d2c4"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#a658f7465415cbd4444b849fea0b9d2c4">FixEndingSlash</a> (char *str, size_t strLength)</td></tr>
<tr class="separator:a658f7465415cbd4444b849fea0b9d2c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:aba78be96dad9e9014e2392cae3d731eb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d4/d78/class_data_structures_1_1_list.xhtml">DataStructures::List</a><br class="typebreak"/>
&lt; <a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#d6/dd8/struct_s_l_net_1_1_file_list_node">FileListNode</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aba78be96dad9e9014e2392cae3d731eb">fileList</a></td></tr>
<tr class="separator:aba78be96dad9e9014e2392cae3d731eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:aee849214ab2bea4516ebc91f3af56dbb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d4/d78/class_data_structures_1_1_list.xhtml">DataStructures::List</a><br class="typebreak"/>
&lt; <a class="el" href="../../d5/d7b/class_s_l_net_1_1_file_list_progress.xhtml">FileListProgress</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aee849214ab2bea4516ebc91f3af56dbb">fileListProgressCallbacks</a></td></tr>
<tr class="separator:aee849214ab2bea4516ebc91f3af56dbb"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock">
<p>Definition at line <a class="el" href="../../d0/dc4/_file_list_8h_source.xhtml#l00156">156</a> of file <a class="el" href="../../d0/dc4/_file_list_8h_source.xhtml">FileList.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a19ab0e14e22582685586ef566f211198"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">SLNet::FileList::FileList </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ac634bf7d1ae56e8aaa5da11449dffee1"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">SLNet::FileList::~FileList </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="abdbf501cbb0ff9da8b7b1f8ba82d871a"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void SLNet::FileList::AddCallback </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../d5/d7b/class_s_l_net_1_1_file_list_progress.xhtml">FileListProgress</a> *&#160;</td>
<td class="paramname"><em>cb</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Adds a callback to get progress reports about what the file list instances do. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">cb</td><td>A pointer to an externally defined instance of <a class="el" href="../../d5/d7b/class_s_l_net_1_1_file_list_progress.xhtml" title="Callback interface set with FileList::SetCallback() in case you want progress notifications when File...">FileListProgress</a>. This pointer is held internally, so should remain valid as long as this class is valid. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="a9917e711caf02c3ce7ebbfd09cef6868"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void SLNet::FileList::AddFile </td>
<td>(</td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>filename</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>fullPathToFile</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const unsigned&#160;</td>
<td class="paramname"><em>dataLength</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const unsigned&#160;</td>
<td class="paramname"><em>fileLength</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../d6/dff/struct_file_list_node_context.xhtml">FileListNodeContext</a>&#160;</td>
<td class="paramname"><em>context</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>isAReference</em> = <code>false</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>takeDataPointer</em> = <code>false</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Add a file, given data already in memory. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">filename</td><td>Name of a file, optionally prefixed with a partial or complete path. Use \ as the path delineator. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">fullPathToFile</td><td>Full path to the file on disk </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>Contents to write </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">dataLength</td><td>length of the data, which may be greater than fileLength should you prefix extra data, such as the hash </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">fileLength</td><td>Length of the file </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">context</td><td>User defined byte to store with each file. Use for whatever you want. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">isAReference</td><td>Means that this is just a reference to a file elsewhere - does not actually have any data </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">takeDataPointer</td><td>If true, do not allocate dataLength. Just take the pointer passed to the <em>data</em> parameter </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="a298966e2e5182a4fa3c217639d86aeaf"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void SLNet::FileList::AddFile </td>
<td>(</td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>filepath</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>filename</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../d6/dff/struct_file_list_node_context.xhtml">FileListNodeContext</a>&#160;</td>
<td class="paramname"><em>context</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Add a file, reading it from disk. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">filepath</td><td>Complete path to the file, including the filename itself </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">filename</td><td>filename to store internally, anything you want, but usually either the complete path or a subset of the complete path. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">context</td><td>User defined byte to store with each file. Use for whatever you want. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="a9491361dcaa7cfefc751ae73ff3a49a4"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void SLNet::FileList::AddFilesFromDirectory </td>
<td>(</td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>applicationDirectory</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>subDirectory</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>writeHash</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>writeData</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>recursive</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../d6/dff/struct_file_list_node_context.xhtml">FileListNodeContext</a>&#160;</td>
<td class="paramname"><em>context</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Add all the files at a given directory. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">applicationDirectory</td><td>The first part of the path. This is not stored as part of the filename. Use \ as the path delineator. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">subDirectory</td><td>The rest of the path to the file. This is stored as a prefix to the filename </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">writeHash</td><td>The first 4 bytes is a hash of the file, with the remainder the actual file data (should <em>writeData</em> be true) </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">writeData</td><td>Write the contents of each file </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">recursive</td><td>Whether or not to visit subdirectories </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">context</td><td>User defined byte to store with each file. Use for whatever you want. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="a923bc78eedcd71f5279399eb2fc07f3c"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void SLNet::FileList::Clear </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Deallocate all memory. </p>
</div>
</div>
<a class="anchor" id="a2455084df77821aa4e5f2b01f2ea2b73"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void SLNet::FileList::ClearCallbacks </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Removes all callbacks. </p>
</div>
</div>
<a class="anchor" id="a6fd1833f922daaa1b079dbea6ed7ead8"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void SLNet::FileList::DeleteFiles </td>
<td>(</td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>applicationDirectory</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Delete all files stored in the file list. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">applicationDirectory</td><td>Prefixed to the path to each filename. Use \ as the path delineator. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="a51a1f369424577edcfd6d476272ace14"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool SLNet::FileList::Deserialize </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a> *&#160;</td>
<td class="paramname"><em>inBitStream</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Read all encoded data from a bitstream. <a class="el" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#a923bc78eedcd71f5279399eb2fc07f3c" title="Deallocate all memory.">Clear()</a> is called before deserializing. </p>
</div>
</div>
<a class="anchor" id="a65dc316d9f3e4ad6a6a22a0b0649b1f9"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static bool SLNet::FileList::FixEndingSlash </td>
<td>(</td>
<td class="paramtype">char *&#160;</td>
<td class="paramname"><em>str</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a658f7465415cbd4444b849fea0b9d2c4"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static bool SLNet::FileList::FixEndingSlash </td>
<td>(</td>
<td class="paramtype">char *&#160;</td>
<td class="paramname"><em>str</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>strLength</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a9ac96052c10248bd8fce56a78f9fdcca"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void SLNet::FileList::FlagFilesAsReferences </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>By default, GetDeltaToCurrent tags files as non-references, meaning they are assumed to be populated later This tags all files as references, required for <a class="el" href="../../df/d02/class_s_l_net_1_1_incremental_read_interface.xhtml">IncrementalReadInterface</a> to process them incrementally </p>
</div>
</div>
<a class="anchor" id="af59721be7f19d6bbb3baa14061d926b9"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void SLNet::FileList::GetCallbacks </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../d4/d78/class_data_structures_1_1_list.xhtml">DataStructures::List</a>&lt; <a class="el" href="../../d5/d7b/class_s_l_net_1_1_file_list_progress.xhtml">FileListProgress</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>callbacks</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns all callbacks added with <a class="el" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#abdbf501cbb0ff9da8b7b1f8ba82d871a" title="Adds a callback to get progress reports about what the file list instances do.">AddCallback()</a> </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">callbacks</td><td>The list is set to the list of callbacks </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="aad3afd0c0f5accb17476ab3aed4fb7b5"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void SLNet::FileList::GetDeltaToCurrent </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml">FileList</a> *&#160;</td>
<td class="paramname"><em>input</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml">FileList</a> *&#160;</td>
<td class="paramname"><em>output</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>dirSubset</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>remoteSubdir</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Return the files that need to be written to make <em>input</em> match this current <a class="el" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml">FileList</a>. </p>
<p>Specify dirSubset to only consider files that start with this path specify remoteSubdir to assume that all filenames in input start with this path, so strip it off when comparing filenames. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">input</td><td>Full list of files </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">output</td><td>Files that we need to match input </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">dirSubset</td><td>If the filename does not start with this path, just skip this file. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">remoteSubdir</td><td>Remove this from the filenames of <em>input</em> when comparing to existing filenames. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="a846fb0d2eb9eff53f5103f2d9e962242"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void SLNet::FileList::ListMissingOrChangedFiles </td>
<td>(</td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>applicationDirectory</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml">FileList</a> *&#160;</td>
<td class="paramname"><em>missingOrChangedFiles</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>alwaysWriteHash</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>neverWriteHash</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Given the existing set of files, search applicationDirectory for the same files. </p>
<p>For each file that is missing or different, add that file to <em>missingOrChangedFiles</em>. Note: the file contents are not written, and only the hash if written if <em>alwaysWriteHash</em> is true alwaysWriteHash and neverWriteHash are optimizations to avoid reading the file contents to generate the hash if not necessary because the file is missing or has different lengths anyway. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">applicationDirectory</td><td>The first part of the path. This is not stored as part of the filename. Use \ as the path delineator. </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">missingOrChangedFiles</td><td>Output list written to </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">alwaysWriteHash</td><td>If true, and neverWriteHash is false, will hash the file content of the file on disk, and write that as the file data with a length of SHA1_LENGTH bytes. If false, if the file length is different, will only write the filename. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">neverWriteHash</td><td>If true, will never write the hash, even if available. If false, will write the hash if the file lengths are the same and it was forced to do a comparison. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ac2e392c9949c56e41cd7036cf14f5419"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void SLNet::FileList::PopulateDataFromDisk </td>
<td>(</td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>applicationDirectory</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>writeFileData</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>writeFileHash</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>removeUnknownFiles</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Assuming <a class="el" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml">FileList</a> contains a list of filenames presumably without data, read the data for these filenames. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">applicationDirectory</td><td>Prepend this path to each filename. Trailing slash will be added if necessary. Use \ as the path delineator. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">writeFileData</td><td>True to read and store the file data. The first SHA1_LENGTH bytes will contain the hash if <em>writeFileHash</em> is true </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">writeFileHash</td><td>True to read and store the hash of the file data. The first SHA1_LENGTH bytes will contain the hash if <em>writeFileHash</em> is true </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">removeUnknownFiles</td><td>If a file does not exist on disk but is in the file list, remove it from the file list? </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="aca0443f0d4771dba26fdba7eed4be7d0"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void SLNet::FileList::RemoveCallback </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../d5/d7b/class_s_l_net_1_1_file_list_progress.xhtml">FileListProgress</a> *&#160;</td>
<td class="paramname"><em>cb</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Removes a callback. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">cb</td><td>A pointer to an externally defined instance of <a class="el" href="../../d5/d7b/class_s_l_net_1_1_file_list_progress.xhtml" title="Callback interface set with FileList::SetCallback() in case you want progress notifications when File...">FileListProgress</a> that was previously added with <a class="el" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#abdbf501cbb0ff9da8b7b1f8ba82d871a" title="Adds a callback to get progress reports about what the file list instances do.">AddCallback()</a> </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="a9481041b75367785c2e95af276820c8d"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void SLNet::FileList::Serialize </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a> *&#160;</td>
<td class="paramname"><em>outBitStream</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Write all encoded data into a bitstream. </p>
</div>
</div>
<a class="anchor" id="a1fa59189fddf396376b25f38d09dc943"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void SLNet::FileList::WriteDataToDisk </td>
<td>(</td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>applicationDirectory</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Write all files to disk, prefixing the paths with applicationDirectory. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">applicationDirectory</td><td>path prefix </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a class="anchor" id="aba78be96dad9e9014e2392cae3d731eb"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../d4/d78/class_data_structures_1_1_list.xhtml">DataStructures::List</a>&lt;<a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#d6/dd8/struct_s_l_net_1_1_file_list_node">FileListNode</a>&gt; SLNet::FileList::fileList</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d0/dc4/_file_list_8h_source.xhtml#l00252">252</a> of file <a class="el" href="../../d0/dc4/_file_list_8h_source.xhtml">FileList.h</a>.</p>
</div>
</div>
<a class="anchor" id="aee849214ab2bea4516ebc91f3af56dbb"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../d4/d78/class_data_structures_1_1_list.xhtml">DataStructures::List</a>&lt;<a class="el" href="../../d5/d7b/class_s_l_net_1_1_file_list_progress.xhtml">FileListProgress</a>*&gt; SLNet::FileList::fileListProgressCallbacks</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d0/dc4/_file_list_8h_source.xhtml#l00257">257</a> of file <a class="el" href="../../d0/dc4/_file_list_8h_source.xhtml">FileList.h</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>Source/include/slikenet/<a class="el" href="../../d0/dc4/_file_list_8h_source.xhtml">FileList.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dd/d30/namespace_s_l_net.xhtml">SLNet</a></li><li class="navelem"><a class="el" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml">FileList</a></li>
<li class="footer">Generated on Wed Aug 14 2019 22:09:49 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,140 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>SLikeNet: Member List</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="../../index.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li class="current"><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../annotated.xhtml"><span>Class&#160;List</span></a></li>
<li><a href="../../classes.xhtml"><span>Class&#160;Index</span></a></li>
<li><a href="../../inherits.xhtml"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="../../functions.xhtml"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">SLNet::RakNetGUID Member List</div> </div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml">SLNet::RakNetGUID</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml#a7baa2a578f53f69cb6d4775d68511217">FromString</a>(const char *source)</td><td class="entry"><a class="el" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml">SLNet::RakNetGUID</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml#a4e529b54617b8fdfd21da8aca09f88e2">g</a></td><td class="entry"><a class="el" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml">SLNet::RakNetGUID</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml#a56426e0065a2ac3f0f2f26aa228279c5">operator!=</a>(const RakNetGUID &amp;right) const </td><td class="entry"><a class="el" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml">SLNet::RakNetGUID</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml#a5eaea76f4fa509471f648ad6e24609f2">operator&lt;</a>(const RakNetGUID &amp;right) const </td><td class="entry"><a class="el" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml">SLNet::RakNetGUID</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml#a79d00285aeea95d7d80ef4476ad194c2">operator=</a>(const RakNetGUID &amp;input)</td><td class="entry"><a class="el" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml">SLNet::RakNetGUID</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml#a6ffd87fdc84ae4f43842eed310383f68">operator==</a>(const RakNetGUID &amp;right) const </td><td class="entry"><a class="el" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml">SLNet::RakNetGUID</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml#a547920662d1988c788b33e0bec0808da">operator&gt;</a>(const RakNetGUID &amp;right) const </td><td class="entry"><a class="el" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml">SLNet::RakNetGUID</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml#adb747346200d7e4248b4ade6f4a5df7a">RakNetGUID</a>()</td><td class="entry"><a class="el" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml">SLNet::RakNetGUID</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml#a52523d2fb1100c77f359899444b4a3b0">RakNetGUID</a>(uint64_t _g)</td><td class="entry"><a class="el" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml">SLNet::RakNetGUID</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
<tr><td class="entry"><a class="el" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml#a351179e56b40938ff5b81961e8603da5">size</a>()</td><td class="entry"><a class="el" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml">SLNet::RakNetGUID</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml#a9d09e90ad5c76fec6bdb98ede4a05cd5">systemIndex</a></td><td class="entry"><a class="el" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml">SLNet::RakNetGUID</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml#a3338612fd4cc4d26497d7fa27ee19d87">ToString</a>(void) const </td><td class="entry"><a class="el" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml">SLNet::RakNetGUID</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml#aa77f22bcdd49698ea6f5d864f30f9283">ToString</a>(char *dest) const </td><td class="entry"><a class="el" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml">SLNet::RakNetGUID</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml#ac81ebf55a3d80f2eeab0b740d947c127">ToString</a>(char *dest, size_t destSize) const </td><td class="entry"><a class="el" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml">SLNet::RakNetGUID</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml#aa1e55a3223d0e8fe0cbd17051514b579">ToUint32</a>(const RakNetGUID &amp;g)</td><td class="entry"><a class="el" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml">SLNet::RakNetGUID</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated on Wed Aug 14 2019 22:09:50 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,141 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>SLikeNet: Source/include/slikenet/TableSerializer.h File Reference</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="../../index.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li class="current"><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../files.xhtml"><span>File&#160;List</span></a></li>
<li><a href="../../globals.xhtml"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('d7/d94/_table_serializer_8h.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#namespaces">Namespaces</a> </div>
<div class="headertitle">
<div class="title">TableSerializer.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &quot;<a class="el" href="../../dd/dc5/memoryoverride_8h_source.xhtml">memoryoverride.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../d3/d5d/_d_s___table_8h_source.xhtml">DS_Table.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../db/dbd/_export_8h_source.xhtml">Export.h</a>&quot;</code><br/>
</div>
<p><a href="../../d7/d94/_table_serializer_8h_source.xhtml">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d89/class_s_l_net_1_1_table_serializer.xhtml">SLNet::TableSerializer</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:dd/d30/namespace_s_l_net"><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d30/namespace_s_l_net.xhtml">SLNet</a></td></tr>
<tr class="memdesc:dd/d30/namespace_s_l_net"><td class="mdescLeft">&#160;</td><td class="mdescRight">Simple class to send changes between directories. In essence, a simple autopatcher that can be used for transmitting levels, skins, etc. <br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_74389ed8173ad57b461b9d623a1f3867.xhtml">Source</a></li><li class="navelem"><a class="el" href="../../dir_bbb90e3ef9167a594ae33323139a2595.xhtml">include</a></li><li class="navelem"><a class="el" href="../../dir_88467e66686deb9d3756fe4fc298e321.xhtml">slikenet</a></li><li class="navelem"><a class="el" href="../../d7/d94/_table_serializer_8h.xhtml">TableSerializer.h</a></li>
<li class="footer">Generated on Wed Aug 14 2019 22:09:48 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,344 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>SLikeNet: Source/include/slikenet/TableSerializer.h Source File</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="../../index.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li class="current"><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../files.xhtml"><span>File&#160;List</span></a></li>
<li><a href="../../globals.xhtml"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('d7/d94/_table_serializer_8h_source.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">TableSerializer.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="../../d7/d94/_table_serializer_8h.xhtml">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> * Original work: Copyright (c) 2014, Oculus VR, Inc.</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> * All rights reserved.</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> * This source code is licensed under the BSD-style license found in the</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> * RakNet License.txt file in the licenses directory of this source tree. An additional grant </span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> * of patent rights can be found in the RakNet Patents.txt file in the same directory.</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment"> * Modified work: Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> * This source code was modified by SLikeSoft. Modifications are licensed under the MIT-style</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> * license found in the license.txt file in the root directory of this source tree.</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;</div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="preprocessor">#ifndef __TABLE_SERIALIZER_H</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define __TABLE_SERIALIZER_H</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../dd/dc5/memoryoverride_8h.xhtml" title="If _USE_RAK_MEMORY_OVERRIDE is defined, memory allocations go through rakMalloc, rakRealloc, and rakFree.">memoryoverride.h</a>&quot;</span></div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../d3/d5d/_d_s___table_8h.xhtml">DS_Table.h</a>&quot;</span></div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../db/dbd/_export_8h.xhtml">Export.h</a>&quot;</span></div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;</div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="keyword">namespace </span>SLNet</div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;{</div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160; <span class="keyword">class </span>BitStream;</div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;}</div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="keyword">namespace </span>SLNet</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;{</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;</div>
<div class="line"><a name="l00031"></a><span class="lineno"><a class="code" href="../../df/d89/class_s_l_net_1_1_table_serializer.xhtml"> 31</a></span>&#160;<span class="keyword">class </span><a class="code" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> <a class="code" href="../../df/d89/class_s_l_net_1_1_table_serializer.xhtml">TableSerializer</a></div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;{</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; <span class="keyword">static</span> <span class="keywordtype">void</span> SerializeTable(<a class="code" href="../../d4/de5/class_data_structures_1_1_table.xhtml" title="Holds a set of columns, a set of rows, and rows times columns cells.">DataStructures::Table</a> *in, <a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a> *out);</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; <span class="keyword">static</span> <span class="keywordtype">bool</span> DeserializeTable(<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *serializedTable, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> dataLength, <a class="code" href="../../d4/de5/class_data_structures_1_1_table.xhtml" title="Holds a set of columns, a set of rows, and rows times columns cells.">DataStructures::Table</a> *out);</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; <span class="keyword">static</span> <span class="keywordtype">bool</span> DeserializeTable(<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a> *in, <a class="code" href="../../d4/de5/class_data_structures_1_1_table.xhtml" title="Holds a set of columns, a set of rows, and rows times columns cells.">DataStructures::Table</a> *out);</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; <span class="keyword">static</span> <span class="keywordtype">void</span> SerializeColumns(<a class="code" href="../../d4/de5/class_data_structures_1_1_table.xhtml" title="Holds a set of columns, a set of rows, and rows times columns cells.">DataStructures::Table</a> *in, <a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a> *out);</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; <span class="keyword">static</span> <span class="keywordtype">void</span> SerializeColumns(<a class="code" href="../../d4/de5/class_data_structures_1_1_table.xhtml" title="Holds a set of columns, a set of rows, and rows times columns cells.">DataStructures::Table</a> *in, <a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a> *out, <a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml" title="Array based implementation of a list.">DataStructures::List&lt;int&gt;</a> &amp;skipColumnIndices);</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; <span class="keyword">static</span> <span class="keywordtype">bool</span> DeserializeColumns(<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a> *in, <a class="code" href="../../d4/de5/class_data_structures_1_1_table.xhtml" title="Holds a set of columns, a set of rows, and rows times columns cells.">DataStructures::Table</a> *out);</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; <span class="keyword">static</span> <span class="keywordtype">void</span> SerializeRow(<a class="code" href="../../d6/dd3/struct_data_structures_1_1_table_1_1_row.xhtml" title="Stores the list of cells for this row, and a special flag used for internal sorting.">DataStructures::Table::Row</a> *in, <span class="keywordtype">unsigned</span> keyIn, <span class="keyword">const</span> <a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml" title="Array based implementation of a list.">DataStructures::List&lt;DataStructures::Table::ColumnDescriptor&gt;</a> &amp;columns, <a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a> *out);</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; <span class="keyword">static</span> <span class="keywordtype">void</span> SerializeRow(<a class="code" href="../../d6/dd3/struct_data_structures_1_1_table_1_1_row.xhtml" title="Stores the list of cells for this row, and a special flag used for internal sorting.">DataStructures::Table::Row</a> *in, <span class="keywordtype">unsigned</span> keyIn, <span class="keyword">const</span> <a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml" title="Array based implementation of a list.">DataStructures::List&lt;DataStructures::Table::ColumnDescriptor&gt;</a> &amp;columns, <a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a> *out, <a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml" title="Array based implementation of a list.">DataStructures::List&lt;int&gt;</a> &amp;skipColumnIndices);</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; <span class="keyword">static</span> <span class="keywordtype">bool</span> DeserializeRow(<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a> *in, <a class="code" href="../../d4/de5/class_data_structures_1_1_table.xhtml" title="Holds a set of columns, a set of rows, and rows times columns cells.">DataStructures::Table</a> *out);</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; <span class="keyword">static</span> <span class="keywordtype">void</span> SerializeCell(<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a> *out, <a class="code" href="../../dc/d80/struct_data_structures_1_1_table_1_1_cell.xhtml" title="Holds the actual data in the table.">DataStructures::Table::Cell</a> *cell, <a class="code" href="../../d4/de5/class_data_structures_1_1_table.xhtml#af24fe2724b507f329c7754ea6985abed">DataStructures::Table::ColumnType</a> columnType);</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; <span class="keyword">static</span> <span class="keywordtype">bool</span> DeserializeCell(<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a> *in, <a class="code" href="../../dc/d80/struct_data_structures_1_1_table_1_1_cell.xhtml" title="Holds the actual data in the table.">DataStructures::Table::Cell</a> *cell, <a class="code" href="../../d4/de5/class_data_structures_1_1_table.xhtml#af24fe2724b507f329c7754ea6985abed">DataStructures::Table::ColumnType</a> columnType);</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; <span class="keyword">static</span> <span class="keywordtype">void</span> SerializeFilterQuery(<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a> *in, <a class="code" href="../../dd/db4/struct_data_structures_1_1_table_1_1_filter_query.xhtml">DataStructures::Table::FilterQuery</a> *query);</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; <span class="comment">// Note that this allocates query-&gt;cell-&gt;c!</span></div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; <span class="keyword">static</span> <span class="keywordtype">bool</span> DeserializeFilterQuery(<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a> *out, <a class="code" href="../../dd/db4/struct_data_structures_1_1_table_1_1_filter_query.xhtml">DataStructures::Table::FilterQuery</a> *query);</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; <span class="keyword">static</span> <span class="keywordtype">void</span> SerializeFilterQueryList(<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a> *in, <a class="code" href="../../dd/db4/struct_data_structures_1_1_table_1_1_filter_query.xhtml">DataStructures::Table::FilterQuery</a> *query, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> numQueries, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> maxQueries);</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <span class="comment">// Note that this allocates queries, cells, and query-&gt;cell-&gt;c!. Use DeallocateQueryList to free.</span></div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <span class="keyword">static</span> <span class="keywordtype">bool</span> DeserializeFilterQueryList(<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a> *out, <a class="code" href="../../dd/db4/struct_data_structures_1_1_table_1_1_filter_query.xhtml">DataStructures::Table::FilterQuery</a> **query, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> *numQueries, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> maxQueries, <span class="keywordtype">int</span> allocateExtraQueries=0);</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <span class="keyword">static</span> <span class="keywordtype">void</span> DeallocateQueryList(<a class="code" href="../../dd/db4/struct_data_structures_1_1_table_1_1_filter_query.xhtml">DataStructures::Table::FilterQuery</a> *query, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> numQueries);</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;};</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;} <span class="comment">// namespace SLNet</span></div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;<span class="comment">// Test code for the table</span></div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;<span class="comment">#include &quot;LightweightDatabaseServer.h&quot;</span></div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;<span class="comment">#include &quot;LightweightDatabaseClient.h&quot;</span></div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;<span class="comment">#include &quot;TableSerializer.h&quot;</span></div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;<span class="comment">#include &quot;BitStream.h&quot;</span></div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;<span class="comment">#include &quot;StringCompressor.h&quot;</span></div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;<span class="comment">#include &quot;DS_Table.h&quot;</span></div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;<span class="comment">void main(void)</span></div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;<span class="comment">{</span></div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;<span class="comment"> DataStructures::Table table;</span></div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;<span class="comment"> DataStructures::Table::Row *row;</span></div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;<span class="comment"> unsigned int dummydata=12345;</span></div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;<span class="comment"> // Add columns Name (string), IP (binary), score (int), and players (int).</span></div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;<span class="comment"> table.AddColumn(&quot;Name&quot;, DataStructures::Table::STRING);</span></div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;<span class="comment"> table.AddColumn(&quot;IP&quot;, DataStructures::Table::BINARY);</span></div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;<span class="comment"> table.AddColumn(&quot;Score&quot;, DataStructures::Table::NUMERIC);</span></div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160;<span class="comment"> table.AddColumn(&quot;Players&quot;, DataStructures::Table::NUMERIC);</span></div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160;<span class="comment"> table.AddColumn(&quot;Empty Test Column&quot;, DataStructures::Table::STRING);</span></div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;<span class="comment"> RakAssert(table.GetColumnCount()==5);</span></div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;<span class="comment"> row=table.AddRow(0);</span></div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;<span class="comment"> RakAssert(row);</span></div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160;<span class="comment"> row-&gt;UpdateCell(0,&quot;Kevin Jenkins&quot;);</span></div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160;<span class="comment"> row-&gt;UpdateCell(1,sizeof(dummydata), (char*)&amp;dummydata);</span></div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160;<span class="comment"> row-&gt;UpdateCell(2,5);</span></div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;<span class="comment"> row-&gt;UpdateCell(3,10);</span></div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160;<span class="comment"> //row-&gt;UpdateCell(4,&quot;should be unique&quot;);</span></div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160;<span class="comment"> row=table.AddRow(1);</span></div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160;<span class="comment"> row-&gt;UpdateCell(0,&quot;Kevin Jenkins&quot;);</span></div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;<span class="comment"> row-&gt;UpdateCell(1,sizeof(dummydata), (char*)&amp;dummydata);</span></div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160;<span class="comment"> row-&gt;UpdateCell(2,5);</span></div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160;<span class="comment"> row-&gt;UpdateCell(3,15);</span></div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160;<span class="comment"> row=table.AddRow(2);</span></div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160;<span class="comment"> row-&gt;UpdateCell(0,&quot;Kevin Jenkins&quot;);</span></div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160;<span class="comment"> row-&gt;UpdateCell(1,sizeof(dummydata), (char*)&amp;dummydata);</span></div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160;<span class="comment"> row-&gt;UpdateCell(2,5);</span></div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160;<span class="comment"> row-&gt;UpdateCell(3,20);</span></div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160;<span class="comment"> row=table.AddRow(3);</span></div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160;<span class="comment"> RakAssert(row);</span></div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;<span class="comment"> row-&gt;UpdateCell(0,&quot;Kevin Jenkins&quot;);</span></div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160;<span class="comment"> row-&gt;UpdateCell(1,sizeof(dummydata), (char*)&amp;dummydata);</span></div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;<span class="comment"> row-&gt;UpdateCell(2,15);</span></div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;<span class="comment"> row-&gt;UpdateCell(3,5);</span></div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;<span class="comment"> row-&gt;UpdateCell(4,&quot;col index 4&quot;);</span></div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;<span class="comment"> row=table.AddRow(4);</span></div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;<span class="comment"> RakAssert(row);</span></div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160;<span class="comment"> row-&gt;UpdateCell(0,&quot;Kevin Jenkins&quot;);</span></div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;<span class="comment"> row-&gt;UpdateCell(1,sizeof(dummydata), (char*)&amp;dummydata);</span></div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;<span class="comment"> //row-&gt;UpdateCell(2,25);</span></div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;<span class="comment"> row-&gt;UpdateCell(3,30);</span></div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;<span class="comment"> //row-&gt;UpdateCell(4,&quot;should be unique&quot;);</span></div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;<span class="comment"> row=table.AddRow(5);</span></div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;<span class="comment"> RakAssert(row);</span></div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;<span class="comment"> row-&gt;UpdateCell(0,&quot;Kevin Jenkins&quot;);</span></div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;<span class="comment"> row-&gt;UpdateCell(1,sizeof(dummydata), (char*)&amp;dummydata);</span></div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;<span class="comment"> //row-&gt;UpdateCell(2,25);</span></div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;<span class="comment"> row-&gt;UpdateCell(3,5);</span></div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;<span class="comment"> //row-&gt;UpdateCell(4,&quot;should be unique&quot;);</span></div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;<span class="comment"> row=table.AddRow(6);</span></div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;<span class="comment"> RakAssert(row);</span></div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;<span class="comment"> row-&gt;UpdateCell(0,&quot;Kevin Jenkins&quot;);</span></div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;<span class="comment"> row-&gt;UpdateCell(1,sizeof(dummydata), (char*)&amp;dummydata);</span></div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;<span class="comment"> row-&gt;UpdateCell(2,35);</span></div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160;<span class="comment"> //row-&gt;UpdateCell(3,40);</span></div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;<span class="comment"> //row-&gt;UpdateCell(4,&quot;should be unique&quot;);</span></div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160;<span class="comment"> row=table.AddRow(7);</span></div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;<span class="comment"> RakAssert(row);</span></div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;<span class="comment"> row-&gt;UpdateCell(0,&quot;Bob Jenkins&quot;);</span></div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;<span class="comment"> row=table.AddRow(8);</span></div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;<span class="comment"> RakAssert(row);</span></div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160;<span class="comment"> row-&gt;UpdateCell(0,&quot;Zack Jenkins&quot;);</span></div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;<span class="comment"> // Test multi-column sorting</span></div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160;<span class="comment"> DataStructures::Table::Row *rows[30];</span></div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160;<span class="comment"> DataStructures::Table::SortQuery queries[4];</span></div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;<span class="comment"> queries[0].columnIndex=0;</span></div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;<span class="comment"> queries[0].operation=DataStructures::Table::QS_INCREASING_ORDER;</span></div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160;<span class="comment"> queries[1].columnIndex=1;</span></div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160;<span class="comment"> queries[1].operation=DataStructures::Table::QS_INCREASING_ORDER;</span></div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;<span class="comment"> queries[2].columnIndex=2;</span></div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160;<span class="comment"> queries[2].operation=DataStructures::Table::QS_INCREASING_ORDER;</span></div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160;<span class="comment"> queries[3].columnIndex=3;</span></div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160;<span class="comment"> queries[3].operation=DataStructures::Table::QS_DECREASING_ORDER;</span></div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160;<span class="comment"> table.SortTable(queries, 4, rows);</span></div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;<span class="comment"> unsigned i;</span></div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;<span class="comment"> char out[256];</span></div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;<span class="comment"> RAKNET_DEBUG_PRINTF(&quot;Sort: Ascending except for column index 3\n&quot;);</span></div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;<span class="comment"> for (i=0; i &lt; table.GetRowCount(); i++)</span></div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;<span class="comment"> {</span></div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;<span class="comment"> table.PrintRow(out,256,&#39;,&#39;,true, rows[i]);</span></div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160;<span class="comment"> RAKNET_DEBUG_PRINTF(&quot;%s\n&quot;, out);</span></div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;<span class="comment"> }</span></div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160;<span class="comment"> // Test query:</span></div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;<span class="comment"> // Don&#39;t return column 3, and swap columns 0 and 2</span></div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160;<span class="comment"> unsigned columnsToReturn[4];</span></div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160;<span class="comment"> columnsToReturn[0]=2;</span></div>
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160;<span class="comment"> columnsToReturn[1]=1;</span></div>
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160;<span class="comment"> columnsToReturn[2]=0;</span></div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160;<span class="comment"> columnsToReturn[3]=4;</span></div>
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160;<span class="comment"> DataStructures::Table resultsTable;</span></div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160;<span class="comment"> table.QueryTable(columnsToReturn,4,0,0,&amp;resultsTable);</span></div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160;<span class="comment"> RAKNET_DEBUG_PRINTF(&quot;Query: Don&#39;t return column 3, and swap columns 0 and 2:\n&quot;);</span></div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160;<span class="comment"> for (i=0; i &lt; resultsTable.GetRowCount(); i++)</span></div>
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160;<span class="comment"> {</span></div>
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160;<span class="comment"> resultsTable.PrintRow(out,256,&#39;,&#39;,true, resultsTable.GetRowByIndex(i));</span></div>
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160;<span class="comment"> RAKNET_DEBUG_PRINTF(&quot;%s\n&quot;, out);</span></div>
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160;<span class="comment"> }</span></div>
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160;<span class="comment"> // Test filter:</span></div>
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160;<span class="comment"> // Only return rows with column index 4 empty</span></div>
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160;<span class="comment"> DataStructures::Table::FilterQuery inclusionFilters[3];</span></div>
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160;<span class="comment"> inclusionFilters[0].columnIndex=4;</span></div>
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160;<span class="comment"> inclusionFilters[0].operation=DataStructures::Table::QF_IS_EMPTY;</span></div>
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160;<span class="comment"> // inclusionFilters[0].cellValue; // Unused for IS_EMPTY</span></div>
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160;<span class="comment"> table.QueryTable(0,0,inclusionFilters,1,&amp;resultsTable);</span></div>
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160;<span class="comment"> RAKNET_DEBUG_PRINTF(&quot;Filter: Only return rows with column index 4 empty:\n&quot;);</span></div>
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160;<span class="comment"> for (i=0; i &lt; resultsTable.GetRowCount(); i++)</span></div>
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160;<span class="comment"> {</span></div>
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160;<span class="comment"> resultsTable.PrintRow(out,256,&#39;,&#39;,true, resultsTable.GetRowByIndex(i));</span></div>
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160;<span class="comment"> RAKNET_DEBUG_PRINTF(&quot;%s\n&quot;, out);</span></div>
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160;<span class="comment"> }</span></div>
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160;<span class="comment"> // Column 5 empty and column 0 == Kevin Jenkins</span></div>
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160;<span class="comment"> inclusionFilters[0].columnIndex=4;</span></div>
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160;<span class="comment"> inclusionFilters[0].operation=DataStructures::Table::QF_IS_EMPTY;</span></div>
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160;<span class="comment"> inclusionFilters[1].columnIndex=0;</span></div>
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160;<span class="comment"> inclusionFilters[1].operation=DataStructures::Table::QF_EQUAL;</span></div>
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160;<span class="comment"> inclusionFilters[1].cellValue.Set(&quot;Kevin Jenkins&quot;);</span></div>
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160;<span class="comment"> table.QueryTable(0,0,inclusionFilters,2,&amp;resultsTable);</span></div>
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160;<span class="comment"> RAKNET_DEBUG_PRINTF(&quot;Filter: Column 5 empty and column 0 == Kevin Jenkins:\n&quot;);</span></div>
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160;<span class="comment"> for (i=0; i &lt; resultsTable.GetRowCount(); i++)</span></div>
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160;<span class="comment"> {</span></div>
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160;<span class="comment"> resultsTable.PrintRow(out,256,&#39;,&#39;,true, resultsTable.GetRowByIndex(i));</span></div>
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160;<span class="comment"> RAKNET_DEBUG_PRINTF(&quot;%s\n&quot;, out);</span></div>
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160;<span class="comment"> }</span></div>
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160;<span class="comment"> SLNet::BitStream bs;</span></div>
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160;<span class="comment"> RAKNET_DEBUG_PRINTF(&quot;PreSerialize:\n&quot;);</span></div>
<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160;<span class="comment"> for (i=0; i &lt; table.GetRowCount(); i++)</span></div>
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160;<span class="comment"> {</span></div>
<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160;<span class="comment"> table.PrintRow(out,256,&#39;,&#39;,true, table.GetRowByIndex(i));</span></div>
<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160;<span class="comment"> RAKNET_DEBUG_PRINTF(&quot;%s\n&quot;, out);</span></div>
<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160;<span class="comment"> }</span></div>
<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160;<span class="comment"> StringCompressor::AddReference();</span></div>
<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160;<span class="comment"> TableSerializer::Serialize(&amp;table, &amp;bs);</span></div>
<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160;<span class="comment"> TableSerializer::Deserialize(&amp;bs, &amp;table);</span></div>
<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160;<span class="comment"> StringCompressor::RemoveReference();</span></div>
<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160;<span class="comment"> RAKNET_DEBUG_PRINTF(&quot;PostDeserialize:\n&quot;);</span></div>
<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160;<span class="comment"> for (i=0; i &lt; table.GetRowCount(); i++)</span></div>
<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160;<span class="comment"> {</span></div>
<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160;<span class="comment"> table.PrintRow(out,256,&#39;,&#39;,true, table.GetRowByIndex(i));</span></div>
<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160;<span class="comment"> RAKNET_DEBUG_PRINTF(&quot;%s\n&quot;, out);</span></div>
<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160;<span class="comment"> }</span></div>
<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160;<span class="comment"> int a=5;</span></div>
<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160;<span class="comment">}</span></div>
<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160;<span class="comment">*/</span></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_74389ed8173ad57b461b9d623a1f3867.xhtml">Source</a></li><li class="navelem"><a class="el" href="../../dir_bbb90e3ef9167a594ae33323139a2595.xhtml">include</a></li><li class="navelem"><a class="el" href="../../dir_88467e66686deb9d3756fe4fc298e321.xhtml">slikenet</a></li><li class="navelem"><a class="el" href="../../d7/d94/_table_serializer_8h.xhtml">TableSerializer.h</a></li>
<li class="footer">Generated on Wed Aug 14 2019 22:09:46 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,129 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>SLikeNet: Member List</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="../../index.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li class="current"><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../annotated.xhtml"><span>Class&#160;List</span></a></li>
<li><a href="../../classes.xhtml"><span>Class&#160;Index</span></a></li>
<li><a href="../../inherits.xhtml"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="../../functions.xhtml"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('d2/d0c/struct_data_structures_1_1_hash_1_1_node.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">DataStructures::Hash&lt; key_type, data_type, HASH_SIZE, hashFunction &gt;::Node Member List</div> </div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="../../d2/d0c/struct_data_structures_1_1_hash_1_1_node.xhtml">DataStructures::Hash&lt; key_type, data_type, HASH_SIZE, hashFunction &gt;::Node</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="../../d2/d0c/struct_data_structures_1_1_hash_1_1_node.xhtml#ac6cbab07d9ddeaa360c696441c7610fa">data</a></td><td class="entry"><a class="el" href="../../d2/d0c/struct_data_structures_1_1_hash_1_1_node.xhtml">DataStructures::Hash&lt; key_type, data_type, HASH_SIZE, hashFunction &gt;::Node</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d2/d0c/struct_data_structures_1_1_hash_1_1_node.xhtml#aa11169ce1f1405573a03c05d7a32658b">next</a></td><td class="entry"><a class="el" href="../../d2/d0c/struct_data_structures_1_1_hash_1_1_node.xhtml">DataStructures::Hash&lt; key_type, data_type, HASH_SIZE, hashFunction &gt;::Node</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d2/d0c/struct_data_structures_1_1_hash_1_1_node.xhtml#a2c15fd204074a581b874b8fcb408173a">Node</a>(key_type strIn, const data_type &amp;_data)</td><td class="entry"><a class="el" href="../../d2/d0c/struct_data_structures_1_1_hash_1_1_node.xhtml">DataStructures::Hash&lt; key_type, data_type, HASH_SIZE, hashFunction &gt;::Node</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d2/d0c/struct_data_structures_1_1_hash_1_1_node.xhtml#a78a8054e8eb1a6de9e6a7b353db7d539">string</a></td><td class="entry"><a class="el" href="../../d2/d0c/struct_data_structures_1_1_hash_1_1_node.xhtml">DataStructures::Hash&lt; key_type, data_type, HASH_SIZE, hashFunction &gt;::Node</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated on Wed Aug 14 2019 22:09:49 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,123 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>SLikeNet: Source/include/slikenet/PS4Includes.h File Reference</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="../../index.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li class="current"><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../files.xhtml"><span>File&#160;List</span></a></li>
<li><a href="../../globals.xhtml"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('d7/dac/_p_s4_includes_8h.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">PS4Includes.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><a href="../../d7/dac/_p_s4_includes_8h_source.xhtml">Go to the source code of this file.</a></p>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_74389ed8173ad57b461b9d623a1f3867.xhtml">Source</a></li><li class="navelem"><a class="el" href="../../dir_bbb90e3ef9167a594ae33323139a2595.xhtml">include</a></li><li class="navelem"><a class="el" href="../../dir_88467e66686deb9d3756fe4fc298e321.xhtml">slikenet</a></li><li class="navelem"><a class="el" href="../../d7/dac/_p_s4_includes_8h.xhtml">PS4Includes.h</a></li>
<li class="footer">Generated on Wed Aug 14 2019 22:09:48 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,171 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>SLikeNet: Source/include/slikenet/PS4Includes.h Source File</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="../../index.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li class="current"><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../files.xhtml"><span>File&#160;List</span></a></li>
<li><a href="../../globals.xhtml"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('d7/dac/_p_s4_includes_8h_source.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">PS4Includes.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="../../d7/dac/_p_s4_includes_8h.xhtml">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> * This file was taken from RakNet 4.082 without any modifications.</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> * Please see licenses/RakNet license.txt for the underlying license and related copyright.</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;</div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;</div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;</div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;</div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;</div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;</div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;</div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;</div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;</div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;</div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;</div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;</div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;</div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;</div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;</div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;</div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;</div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;</div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;</div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;</div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;</div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;</div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;</div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_74389ed8173ad57b461b9d623a1f3867.xhtml">Source</a></li><li class="navelem"><a class="el" href="../../dir_bbb90e3ef9167a594ae33323139a2595.xhtml">include</a></li><li class="navelem"><a class="el" href="../../dir_88467e66686deb9d3756fe4fc298e321.xhtml">slikenet</a></li><li class="navelem"><a class="el" href="../../d7/dac/_p_s4_includes_8h.xhtml">PS4Includes.h</a></li>
<li class="footer">Generated on Wed Aug 14 2019 22:09:46 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,132 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>SLikeNet: Member List</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="../../index.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li class="current"><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../annotated.xhtml"><span>Class&#160;List</span></a></li>
<li><a href="../../classes.xhtml"><span>Class&#160;Index</span></a></li>
<li><a href="../../inherits.xhtml"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="../../functions.xhtml"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('d5/dd1/struct_data_structures_1_1_b_plus_tree_1_1_return_action.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">DataStructures::BPlusTree&lt; KeyType, DataType, order &gt;::ReturnAction Member List</div> </div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="../../d5/dd1/struct_data_structures_1_1_b_plus_tree_1_1_return_action.xhtml">DataStructures::BPlusTree&lt; KeyType, DataType, order &gt;::ReturnAction</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="../../d5/dd1/struct_data_structures_1_1_b_plus_tree_1_1_return_action.xhtml#a3b149085b7cf0707c55fa28fb1fa9045">action</a></td><td class="entry"><a class="el" href="../../d5/dd1/struct_data_structures_1_1_b_plus_tree_1_1_return_action.xhtml">DataStructures::BPlusTree&lt; KeyType, DataType, order &gt;::ReturnAction</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/dd1/struct_data_structures_1_1_b_plus_tree_1_1_return_action.xhtml#a577102c927311ac9f5c371210bd24802">key1</a></td><td class="entry"><a class="el" href="../../d5/dd1/struct_data_structures_1_1_b_plus_tree_1_1_return_action.xhtml">DataStructures::BPlusTree&lt; KeyType, DataType, order &gt;::ReturnAction</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/dd1/struct_data_structures_1_1_b_plus_tree_1_1_return_action.xhtml#a74926f4150507042a7ddc641033b6b06">key2</a></td><td class="entry"><a class="el" href="../../d5/dd1/struct_data_structures_1_1_b_plus_tree_1_1_return_action.xhtml">DataStructures::BPlusTree&lt; KeyType, DataType, order &gt;::ReturnAction</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/dd1/struct_data_structures_1_1_b_plus_tree_1_1_return_action.xhtml#a384f88433f4da848a0145e79f9941198a382e3f55c4a41637787862738c82d236">NO_ACTION</a> enum value</td><td class="entry"><a class="el" href="../../d5/dd1/struct_data_structures_1_1_b_plus_tree_1_1_return_action.xhtml">DataStructures::BPlusTree&lt; KeyType, DataType, order &gt;::ReturnAction</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/dd1/struct_data_structures_1_1_b_plus_tree_1_1_return_action.xhtml#a384f88433f4da848a0145e79f9941198aca6fe1052b01f0a21b8329401739abd2">PUSH_KEY_TO_PARENT</a> enum value</td><td class="entry"><a class="el" href="../../d5/dd1/struct_data_structures_1_1_b_plus_tree_1_1_return_action.xhtml">DataStructures::BPlusTree&lt; KeyType, DataType, order &gt;::ReturnAction</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/dd1/struct_data_structures_1_1_b_plus_tree_1_1_return_action.xhtml#a384f88433f4da848a0145e79f9941198a1f5eb88033829d5565e1fea03a098cd1">REPLACE_KEY1_WITH_KEY2</a> enum value</td><td class="entry"><a class="el" href="../../d5/dd1/struct_data_structures_1_1_b_plus_tree_1_1_return_action.xhtml">DataStructures::BPlusTree&lt; KeyType, DataType, order &gt;::ReturnAction</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/dd1/struct_data_structures_1_1_b_plus_tree_1_1_return_action.xhtml#a384f88433f4da848a0145e79f9941198ac64781786ba5e95a70a905a74c0d3d7d">SET_BRANCH_KEY</a> enum value</td><td class="entry"><a class="el" href="../../d5/dd1/struct_data_structures_1_1_b_plus_tree_1_1_return_action.xhtml">DataStructures::BPlusTree&lt; KeyType, DataType, order &gt;::ReturnAction</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated on Wed Aug 14 2019 22:09:49 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,8 @@
var struct_s_l_net_1_1_b_p_s_tracker_1_1_time_and_value2 =
[
[ "TimeAndValue2", "d7/dae/struct_s_l_net_1_1_b_p_s_tracker_1_1_time_and_value2.xhtml#a16c1b2d3351e8a6e96e6527c8946c8e2", null ],
[ "~TimeAndValue2", "d7/dae/struct_s_l_net_1_1_b_p_s_tracker_1_1_time_and_value2.xhtml#af36c33fa797bdfa942eb7e2693aeeb6b", null ],
[ "TimeAndValue2", "d7/dae/struct_s_l_net_1_1_b_p_s_tracker_1_1_time_and_value2.xhtml#a2a11fc817a8858d2c52c4f1d0e980fd4", null ],
[ "time", "d7/dae/struct_s_l_net_1_1_b_p_s_tracker_1_1_time_and_value2.xhtml#ab81df7e775d590903069e2aaa957e58a", null ],
[ "value1", "d7/dae/struct_s_l_net_1_1_b_p_s_tracker_1_1_time_and_value2.xhtml#a08ab99e9edea27cfeca5a5024007221b", null ]
];

View File

@ -0,0 +1,249 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>SLikeNet: SLNet::BPSTracker::TimeAndValue2 Struct Reference</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="../../index.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li class="current"><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../annotated.xhtml"><span>Class&#160;List</span></a></li>
<li><a href="../../classes.xhtml"><span>Class&#160;Index</span></a></li>
<li><a href="../../inherits.xhtml"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="../../functions.xhtml"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('d7/dae/struct_s_l_net_1_1_b_p_s_tracker_1_1_time_and_value2.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="../../db/d3f/struct_s_l_net_1_1_b_p_s_tracker_1_1_time_and_value2-members.xhtml">List of all members</a> </div>
<div class="headertitle">
<div class="title">SLNet::BPSTracker::TimeAndValue2 Struct Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><code>#include &lt;<a class="el" href="../../dd/dba/_reliability_layer_8h_source.xhtml">slikenet/ReliabilityLayer.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a16c1b2d3351e8a6e96e6527c8946c8e2"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/dae/struct_s_l_net_1_1_b_p_s_tracker_1_1_time_and_value2.xhtml#a16c1b2d3351e8a6e96e6527c8946c8e2">TimeAndValue2</a> ()</td></tr>
<tr class="separator:a16c1b2d3351e8a6e96e6527c8946c8e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af36c33fa797bdfa942eb7e2693aeeb6b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/dae/struct_s_l_net_1_1_b_p_s_tracker_1_1_time_and_value2.xhtml#af36c33fa797bdfa942eb7e2693aeeb6b">~TimeAndValue2</a> ()</td></tr>
<tr class="separator:af36c33fa797bdfa942eb7e2693aeeb6b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2a11fc817a8858d2c52c4f1d0e980fd4"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/dae/struct_s_l_net_1_1_b_p_s_tracker_1_1_time_and_value2.xhtml#a2a11fc817a8858d2c52c4f1d0e980fd4">TimeAndValue2</a> (<a class="el" href="../../d0/dfb/_c_c_rak_net_sliding_window_8h.xhtml#af68854e24d09ea8058bf8b27ce0f24e6">CCTimeType</a> t, <a class="el" href="../../df/df2/_native_types_8h.xhtml#ad27ed092432b64ff558d2254c278720f">uint64_t</a> v1)</td></tr>
<tr class="separator:a2a11fc817a8858d2c52c4f1d0e980fd4"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:a08ab99e9edea27cfeca5a5024007221b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../df/df2/_native_types_8h.xhtml#ad27ed092432b64ff558d2254c278720f">uint64_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/dae/struct_s_l_net_1_1_b_p_s_tracker_1_1_time_and_value2.xhtml#a08ab99e9edea27cfeca5a5024007221b">value1</a></td></tr>
<tr class="separator:a08ab99e9edea27cfeca5a5024007221b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab81df7e775d590903069e2aaa957e58a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d0/dfb/_c_c_rak_net_sliding_window_8h.xhtml#af68854e24d09ea8058bf8b27ce0f24e6">CCTimeType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/dae/struct_s_l_net_1_1_b_p_s_tracker_1_1_time_and_value2.xhtml#ab81df7e775d590903069e2aaa957e58a">time</a></td></tr>
<tr class="separator:ab81df7e775d590903069e2aaa957e58a"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock">
<p>Definition at line <a class="el" href="../../dd/dba/_reliability_layer_8h_source.xhtml#l00103">103</a> of file <a class="el" href="../../dd/dba/_reliability_layer_8h_source.xhtml">ReliabilityLayer.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a16c1b2d3351e8a6e96e6527c8946c8e2"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">BPSTracker::TimeAndValue2::TimeAndValue2 </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d9/d15/_reliability_layer_8cpp_source.xhtml#l00072">72</a> of file <a class="el" href="../../d9/d15/_reliability_layer_8cpp_source.xhtml">ReliabilityLayer.cpp</a>.</p>
</div>
</div>
<a class="anchor" id="af36c33fa797bdfa942eb7e2693aeeb6b"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">BPSTracker::TimeAndValue2::~TimeAndValue2 </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d9/d15/_reliability_layer_8cpp_source.xhtml#l00073">73</a> of file <a class="el" href="../../d9/d15/_reliability_layer_8cpp_source.xhtml">ReliabilityLayer.cpp</a>.</p>
</div>
</div>
<a class="anchor" id="a2a11fc817a8858d2c52c4f1d0e980fd4"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">BPSTracker::TimeAndValue2::TimeAndValue2 </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../d0/dfb/_c_c_rak_net_sliding_window_8h.xhtml#af68854e24d09ea8058bf8b27ce0f24e6">CCTimeType</a>&#160;</td>
<td class="paramname"><em>t</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../df/df2/_native_types_8h.xhtml#ad27ed092432b64ff558d2254c278720f">uint64_t</a>&#160;</td>
<td class="paramname"><em>v1</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d9/d15/_reliability_layer_8cpp_source.xhtml#l00074">74</a> of file <a class="el" href="../../d9/d15/_reliability_layer_8cpp_source.xhtml">ReliabilityLayer.cpp</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a class="anchor" id="ab81df7e775d590903069e2aaa957e58a"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../d0/dfb/_c_c_rak_net_sliding_window_8h.xhtml#af68854e24d09ea8058bf8b27ce0f24e6">CCTimeType</a> SLNet::BPSTracker::TimeAndValue2::time</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../dd/dba/_reliability_layer_8h_source.xhtml#l00111">111</a> of file <a class="el" href="../../dd/dba/_reliability_layer_8h_source.xhtml">ReliabilityLayer.h</a>.</p>
<p>Referenced by <a class="el" href="../../d9/d15/_reliability_layer_8cpp_source.xhtml#l00098">SLNet::BPSTracker::ClearExpired1()</a>.</p>
</div>
</div>
<a class="anchor" id="a08ab99e9edea27cfeca5a5024007221b"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../df/df2/_native_types_8h.xhtml#ad27ed092432b64ff558d2254c278720f">uint64_t</a> SLNet::BPSTracker::TimeAndValue2::value1</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../dd/dba/_reliability_layer_8h_source.xhtml#l00110">110</a> of file <a class="el" href="../../dd/dba/_reliability_layer_8h_source.xhtml">ReliabilityLayer.h</a>.</p>
<p>Referenced by <a class="el" href="../../d9/d15/_reliability_layer_8cpp_source.xhtml#l00098">SLNet::BPSTracker::ClearExpired1()</a>.</p>
</div>
</div>
<hr/>The documentation for this struct was generated from the following files:<ul>
<li>Source/include/slikenet/<a class="el" href="../../dd/dba/_reliability_layer_8h_source.xhtml">ReliabilityLayer.h</a></li>
<li>Source/src/<a class="el" href="../../d9/d15/_reliability_layer_8cpp_source.xhtml">ReliabilityLayer.cpp</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dd/d30/namespace_s_l_net.xhtml">SLNet</a></li><li class="navelem"><a class="el" href="../../d2/d87/struct_s_l_net_1_1_b_p_s_tracker.xhtml">BPSTracker</a></li><li class="navelem"><a class="el" href="../../d7/dae/struct_s_l_net_1_1_b_p_s_tracker_1_1_time_and_value2.xhtml">TimeAndValue2</a></li>
<li class="footer">Generated on Wed Aug 14 2019 22:09:50 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,123 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>SLikeNet: Source/include/slikenet/linux_adapter.h File Reference</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="../../index.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li class="current"><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../files.xhtml"><span>File&#160;List</span></a></li>
<li><a href="../../globals.xhtml"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('d7/db2/linux__adapter_8h.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">linux_adapter.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><a href="../../d7/db2/linux__adapter_8h_source.xhtml">Go to the source code of this file.</a></p>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_74389ed8173ad57b461b9d623a1f3867.xhtml">Source</a></li><li class="navelem"><a class="el" href="../../dir_bbb90e3ef9167a594ae33323139a2595.xhtml">include</a></li><li class="navelem"><a class="el" href="../../dir_88467e66686deb9d3756fe4fc298e321.xhtml">slikenet</a></li><li class="navelem"><a class="el" href="../../d7/db2/linux__adapter_8h.xhtml">linux_adapter.h</a></li>
<li class="footer">Generated on Wed Aug 14 2019 22:09:48 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,201 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>SLikeNet: Source/include/slikenet/linux_adapter.h Source File</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="../../index.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li class="current"><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../files.xhtml"><span>File&#160;List</span></a></li>
<li><a href="../../globals.xhtml"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('d7/db2/linux__adapter_8h_source.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">linux_adapter.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="../../d7/db2/linux__adapter_8h.xhtml">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> * Copyright (c) 2016-2019, SLikeSoft UG (haftungsbeschränkt)</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> * This source code is licensed under the MIT-style license found in the</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> * license.txt file in the root directory of this source tree.</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> * This file declares adapters for all MS-specific functions used throughout SLikeNet.</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="preprocessor">#pragma once</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="preprocessor">#ifdef __linux__</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define _TRUNCATE ((size_t)-1)</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="preprocessor"></span><span class="keyword">typedef</span> <span class="keywordtype">int</span> errno_t;</div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;</div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="preprocessor">#include &lt;cstdarg&gt;</span> <span class="comment">// for va_start, va_end, va_list</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="preprocessor">#include &lt;cstdio&gt;</span> <span class="comment">// for FILE</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="preprocessor">#include &lt;ctime&gt;</span> <span class="comment">// for time_t</span></div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;</div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="comment">// MS specific security enhanced functions</span></div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;errno_t fopen_s(FILE **pfile, <span class="keyword">const</span> <span class="keywordtype">char</span> *filename, <span class="keyword">const</span> <span class="keywordtype">char</span> *mode);</div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;errno_t localtime_s(<span class="keyword">struct</span> tm* _tm, <span class="keyword">const</span> time_t *time);</div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;errno_t mbstowcs_s(<span class="keywordtype">size_t</span> *pReturnValue, <span class="keywordtype">wchar_t</span> *wcstr, <span class="keywordtype">size_t</span> sizeInWords, <span class="keyword">const</span> <span class="keywordtype">char</span> *mbstr, <span class="keywordtype">size_t</span> count);</div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="keywordtype">int</span> sprintf_s(<span class="keywordtype">char</span> *buffer, <span class="keywordtype">size_t</span> sizeOfBuffer, <span class="keyword">const</span> <span class="keywordtype">char</span> *format, ...);</div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;errno_t strcat_s(<span class="keywordtype">char</span> *strDestination, <span class="keywordtype">size_t</span> numberOfElements, <span class="keyword">const</span> <span class="keywordtype">char</span> *strSource);</div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;errno_t strcpy_s(<span class="keywordtype">char</span>* strDestination, <span class="keywordtype">size_t</span> numberOfElements, <span class="keyword">const</span> <span class="keywordtype">char</span> *strSource);</div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;errno_t strerror_s(<span class="keywordtype">char</span>* buffer, <span class="keywordtype">size_t</span> numberOfElements, <span class="keywordtype">int</span> errnum);</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;errno_t strncat_s(<span class="keywordtype">char</span> *strDest, <span class="keywordtype">size_t</span> numberOfElements, <span class="keyword">const</span> <span class="keywordtype">char</span> *strSource, <span class="keywordtype">size_t</span> count);</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;errno_t strncpy_s(<span class="keywordtype">char</span> *strDest, <span class="keywordtype">size_t</span> numberOfElements, <span class="keyword">const</span> <span class="keywordtype">char</span> *strSource, <span class="keywordtype">size_t</span> count);</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="keywordtype">int</span> vsnprintf_s(<span class="keywordtype">char</span> *buffer, <span class="keywordtype">size_t</span> sizeOfBuffer, <span class="keywordtype">size_t</span> count, <span class="keyword">const</span> <span class="keywordtype">char</span> *format, va_list argptr);</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;errno_t wcscat_s(<span class="keywordtype">wchar_t</span> *strDestination, <span class="keywordtype">size_t</span> numberOfElements, <span class="keyword">const</span> <span class="keywordtype">wchar_t</span> *strSource);</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;errno_t wcscpy_s(<span class="keywordtype">wchar_t</span>* strDestination, <span class="keywordtype">size_t</span> numberOfElements, <span class="keyword">const</span> <span class="keywordtype">wchar_t</span> *strSource);</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="comment">// corresponding template overloads</span></div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="keyword">template</span>&lt;<span class="keywordtype">size_t</span> BufferSize&gt; errno_t mbstowcs_s(<span class="keywordtype">size_t</span> *pReturnValue, <span class="keywordtype">wchar_t</span>(&amp;wcstr)[BufferSize], <span class="keyword">const</span> <span class="keywordtype">char</span> *mbstr, <span class="keywordtype">size_t</span> count)</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;{</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; <span class="keywordflow">return</span> mbstowcs_s(pReturnValue, wcstr, BufferSize, mbstr, count);</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;}</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;<span class="keyword">template</span>&lt;<span class="keywordtype">size_t</span> BufferSize&gt; <span class="keywordtype">int</span> sprintf_s(<span class="keywordtype">char</span> (&amp;buffer)[BufferSize], <span class="keyword">const</span> <span class="keywordtype">char</span>* format, ...)</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;{</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; va_list arglist;</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; va_start(arglist, format);</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; <span class="keywordtype">int</span> numCharsWritten = vsnprintf_s(buffer, BufferSize, BufferSize - 1, format, arglist);</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; va_end(arglist);</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; <span class="keywordflow">return</span> numCharsWritten;</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;}</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;<span class="keyword">template</span>&lt;<span class="keywordtype">size_t</span> BufferSize&gt; errno_t strcat_s(<span class="keywordtype">char</span> (&amp;strDestination)[BufferSize], <span class="keyword">const</span> <span class="keywordtype">char</span>* strSource)</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;{</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; <span class="keywordflow">return</span> strcat_s(strDestination, BufferSize, strSource);</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;}</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;<span class="keyword">template</span>&lt;<span class="keywordtype">size_t</span> BufferSize&gt; errno_t strcpy_s(<span class="keywordtype">char</span> (&amp;strDestination)[BufferSize], <span class="keyword">const</span> <span class="keywordtype">char</span>* strSource)</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;{</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; <span class="keywordflow">return</span> strcpy_s(strDestination, BufferSize, strSource);</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;}</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;<span class="keyword">template</span>&lt;<span class="keywordtype">size_t</span> BufferSize&gt; errno_t strerror_s(<span class="keywordtype">char</span>(&amp;buffer)[BufferSize], <span class="keywordtype">int</span> errnum)</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;{</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <span class="keywordflow">return</span> strerror_s(buffer, BufferSize, errnum);</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;}</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;<span class="keyword">template</span>&lt;<span class="keywordtype">size_t</span> BufferSize&gt; errno_t strncat_s(<span class="keywordtype">char</span>(&amp;strDest)[BufferSize], <span class="keyword">const</span> <span class="keywordtype">char</span> *strSource, <span class="keywordtype">size_t</span> count)</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;{</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <span class="keywordflow">return</span> strncat_s(strDest, BufferSize, strSource, count);</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;}</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;<span class="keyword">template</span>&lt;<span class="keywordtype">size_t</span> BufferSize&gt; errno_t strncpy_s(<span class="keywordtype">char</span>(&amp;strDest)[BufferSize], <span class="keyword">const</span> <span class="keywordtype">char</span> *strSource, <span class="keywordtype">size_t</span> count)</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;{</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <span class="keywordflow">return</span> strncpy_s(strDest, BufferSize, strSource, count);</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;}</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;<span class="keyword">template</span>&lt;<span class="keywordtype">size_t</span> BufferSize&gt; <span class="keywordtype">int</span> vsnprintf_s(<span class="keywordtype">char</span> (&amp;buffer)[BufferSize], <span class="keywordtype">size_t</span> count, <span class="keyword">const</span> <span class="keywordtype">char</span> *format, va_list argptr)</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160;{</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <span class="keywordflow">return</span> vsnprintf_s(buffer, BufferSize, count, format, argptr);</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;}</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;<span class="preprocessor">#endif</span></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_74389ed8173ad57b461b9d623a1f3867.xhtml">Source</a></li><li class="navelem"><a class="el" href="../../dir_bbb90e3ef9167a594ae33323139a2595.xhtml">include</a></li><li class="navelem"><a class="el" href="../../dir_88467e66686deb9d3756fe4fc298e321.xhtml">slikenet</a></li><li class="navelem"><a class="el" href="../../d7/db2/linux__adapter_8h.xhtml">linux_adapter.h</a></li>
<li class="footer">Generated on Wed Aug 14 2019 22:09:46 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,4 @@
<map id="SLNet::Replica3" name="SLNet::Replica3">
<area shape="rect" id="node3" href="$d4/d8f/class_s_l_net_1_1_replica3_composite.xhtml" title="Use Replica3 through composition instead of inheritance by containing an instance of this templated c..." alt="" coords="17,637,229,876"/>
<area shape="rect" id="node2" href="$db/d6d/class_s_l_net_1_1_network_i_d_object.xhtml" title="Unique shared ids for each object instance." alt="" coords="5,5,240,229"/>
</map>

View File

@ -0,0 +1 @@
067ab2407e3a6b2f45e23bef13c348f5

View File

@ -0,0 +1,166 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.38.0 (20140413.2041)
-->
<!-- Title: SLNet::Replica3 Pages: 1 -->
<!--zoomable 661 -->
<svg id="main" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" onload="init(evt)">
<defs>
<circle id="rim" cx="0" cy="0" r="7"/>
<circle id="rim2" cx="0" cy="0" r="3.5"/>
<g id="zoomPlus">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="zoomplus.mouseover" end="zoomplus.mouseout"/>
</use>
<path d="M-4,0h8M0,-4v8" fill="none" stroke="white" stroke-width="1.5" pointer-events="none"/>
</g>
<g id="zoomMin">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="zoomminus.mouseover" end="zoomminus.mouseout"/>
</use>
<path d="M-4,0h8" fill="none" stroke="white" stroke-width="1.5" pointer-events="none"/>
</g>
<g id="dirArrow">
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="resetDef">
<use xlink:href="#rim2" fill="#404040">
<set attributeName="fill" to="#808080" begin="reset.mouseover" end="reset.mouseout"/>
</use>
</g>
</defs>
<script type="text/javascript">
var viewWidth = 184;
var viewHeight = 661;
var sectionId = 'dynsection-1';
</script>
<script xlink:href="../../svgpan.js"/>
<svg id="graph" class="graph">
<g id="viewport">
<title>SLNet::Replica3</title>
<!-- Node1 -->
<g id="node1" class="node"><title>Node1</title>
<polygon fill="#bfbfbf" stroke="black" points="8.5,-215.5 8.5,-448.5 167.5,-448.5 167.5,-215.5 8.5,-215.5"/>
<text text-anchor="middle" x="88" y="-436.5" font-family="Helvetica,sans-Serif" font-size="10.00">SLNet::Replica3</text>
<polyline fill="none" stroke="black" points="8.5,-429.5 167.5,-429.5 "/>
<text text-anchor="start" x="16.5" y="-417.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ creatingSystemGUID</text>
<text text-anchor="start" x="16.5" y="-406.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ deletingSystemGUID</text>
<text text-anchor="start" x="16.5" y="-395.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ replicaManager</text>
<text text-anchor="start" x="16.5" y="-384.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ lastSentSerialization</text>
<text text-anchor="start" x="16.5" y="-373.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ forceSendUntilNextUpdate</text>
<text text-anchor="start" x="16.5" y="-362.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ lsr</text>
<text text-anchor="start" x="16.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ referenceIndex</text>
<polyline fill="none" stroke="black" points="8.5,-344.5 167.5,-344.5 "/>
<text text-anchor="start" x="16.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Replica3()</text>
<text text-anchor="start" x="16.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~Replica3()</text>
<text text-anchor="start" x="16.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ WriteAllocationID()</text>
<text text-anchor="start" x="16.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ QueryConstruction()</text>
<text text-anchor="start" x="16.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ QueryDestruction()</text>
<text text-anchor="start" x="16.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ QueryRemoteConstruction()</text>
<text text-anchor="start" x="16.5" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ QueryRelayDestruction()</text>
<text text-anchor="start" x="16.5" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SerializeConstruction()</text>
<text text-anchor="start" x="16.5" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ DeserializeConstruction()</text>
<text text-anchor="start" x="16.5" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SerializeConstructionExisting()</text>
<text text-anchor="start" x="16.5" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">and 31 more...</text>
</g>
<!-- Node3 -->
<g id="node3" class="node"><title>Node3</title>
<g id="a_node3"><a xlink:href="../../d4/d8f/class_s_l_net_1_1_replica3_composite.xhtml" target="_top" xlink:title="Use Replica3 through composition instead of inheritance by containing an instance of this templated c...">
<polygon fill="none" stroke="black" points="8.5,-0.5 8.5,-178.5 167.5,-178.5 167.5,-0.5 8.5,-0.5"/>
<text text-anchor="start" x="16.5" y="-166.5" font-family="Helvetica,sans-Serif" font-size="10.00">SLNet::Replica3Composite</text>
<text text-anchor="middle" x="88" y="-155.5" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; parent_type &gt;</text>
<polyline fill="none" stroke="black" points="8.5,-148.5 167.5,-148.5 "/>
<text text-anchor="start" x="16.5" y="-136.5" font-family="Helvetica,sans-Serif" font-size="10.00"># r3CompositeOwner</text>
<polyline fill="none" stroke="black" points="8.5,-129.5 167.5,-129.5 "/>
<text text-anchor="start" x="16.5" y="-117.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SetCompositeOwner()</text>
<text text-anchor="start" x="16.5" y="-106.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetCompositeOwner()</text>
<text text-anchor="start" x="16.5" y="-95.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ WriteAllocationID()</text>
<text text-anchor="start" x="16.5" y="-84.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ QueryConstruction()</text>
<text text-anchor="start" x="16.5" y="-73.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ QueryDestruction()</text>
<text text-anchor="start" x="16.5" y="-62.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ QueryRemoteConstruction()</text>
<text text-anchor="start" x="16.5" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ QueryRelayDestruction()</text>
<text text-anchor="start" x="16.5" y="-40.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SerializeConstruction()</text>
<text text-anchor="start" x="16.5" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ DeserializeConstruction()</text>
<text text-anchor="start" x="16.5" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SerializeConstructionExisting()</text>
<text text-anchor="start" x="16.5" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">and 16 more...</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node3 -->
<g id="edge2" class="edge"><title>Node1&#45;&gt;Node3</title>
<path fill="none" stroke="midnightblue" d="M88,-205.256C88,-196.341 88,-187.466 88,-178.828"/>
<polygon fill="none" stroke="midnightblue" points="84.5001,-205.329 88,-215.329 91.5001,-205.329 84.5001,-205.329"/>
</g>
<!-- Node2 -->
<g id="node2" class="node"><title>Node2</title>
<g id="a_node2"><a xlink:href="../../db/d6d/class_s_l_net_1_1_network_i_d_object.xhtml" target="_top" xlink:title="Unique shared ids for each object instance.">
<polygon fill="none" stroke="black" points="0,-485.5 0,-652.5 176,-652.5 176,-485.5 0,-485.5"/>
<text text-anchor="middle" x="88" y="-640.5" font-family="Helvetica,sans-Serif" font-size="10.00">SLNet::NetworkIDObject</text>
<polyline fill="none" stroke="black" points="0,-633.5 176,-633.5 "/>
<text text-anchor="start" x="8" y="-621.5" font-family="Helvetica,sans-Serif" font-size="10.00"># networkID</text>
<text text-anchor="start" x="8" y="-610.5" font-family="Helvetica,sans-Serif" font-size="10.00"># networkIDManager</text>
<text text-anchor="start" x="8" y="-599.5" font-family="Helvetica,sans-Serif" font-size="10.00"># parent</text>
<text text-anchor="start" x="8" y="-588.5" font-family="Helvetica,sans-Serif" font-size="10.00"># nextInstanceForNetworkIDManager</text>
<polyline fill="none" stroke="black" points="0,-581.5 176,-581.5 "/>
<text text-anchor="start" x="8" y="-569.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ NetworkIDObject()</text>
<text text-anchor="start" x="8" y="-558.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~NetworkIDObject()</text>
<text text-anchor="start" x="8" y="-547.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SetNetworkIDManager()</text>
<text text-anchor="start" x="8" y="-536.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetNetworkIDManager()</text>
<text text-anchor="start" x="8" y="-525.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetNetworkID()</text>
<text text-anchor="start" x="8" y="-514.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SetNetworkID()</text>
<text text-anchor="start" x="8" y="-503.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SetParent()</text>
<text text-anchor="start" x="8" y="-492.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetParent()</text>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node1 -->
<g id="edge1" class="edge"><title>Node2&#45;&gt;Node1</title>
<path fill="none" stroke="midnightblue" d="M88,-475.323C88,-466.586 88,-457.658 88,-448.743"/>
<polygon fill="none" stroke="midnightblue" points="84.5001,-475.478 88,-485.478 91.5001,-475.478 84.5001,-475.478"/>
</g>
</g>
</svg>
<g id="navigator" transform="translate(0 0)" fill="#404254">
<rect fill="#f2f5e9" fill-opacity="0.5" stroke="#606060" stroke-width=".5" x="0" y="0" width="60" height="60"/>
<use id="zoomplus" xlink:href="#zoomPlus" x="17" y="9" onmousedown="handleZoom(evt,'in')"/>
<use id="zoomminus" xlink:href="#zoomMin" x="42" y="9" onmousedown="handleZoom(evt,'out')"/>
<use id="reset" xlink:href="#resetDef" x="30" y="36" onmousedown="handleReset()"/>
<g id="arrowUp" xlink:href="#dirArrow" transform="translate(30 24)" onmousedown="handlePan(0,-1)">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="arrowUp.mouseover" end="arrowUp.mouseout"/>
</use>
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowRight" xlink:href="#dirArrow" transform="rotate(90) translate(36 -43)" onmousedown="handlePan(1,0)">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="arrowRight.mouseover" end="arrowRight.mouseout"/>
</use>
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowDown" xlink:href="#dirArrow" transform="rotate(180) translate(-30 -48)" onmousedown="handlePan(0,1)">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="arrowDown.mouseover" end="arrowDown.mouseout"/>
</use>
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowLeft" xlink:href="#dirArrow" transform="rotate(270) translate(-36 17)" onmousedown="handlePan(-1,0)">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="arrowLeft.mouseover" end="arrowLeft.mouseout"/>
</use>
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
</g>
<svg viewBox="0 0 15 15" width="100%" height="30px" preserveAspectRatio="xMaxYMin meet">
<g id="arrow_out" transform="scale(0.3 0.3)">
<a xlink:href="class_s_l_net_1_1_replica3__inherit__graph_org.svg" target="_base">
<rect id="button" ry="5" rx="5" y="6" x="6" height="38" width="38"
fill="#f2f5e9" fill-opacity="0.5" stroke="#606060" stroke-width="1.0"/>
<path id="arrow"
d="M 11.500037,31.436501 C 11.940474,20.09759 22.043105,11.32322 32.158766,21.979434 L 37.068811,17.246167 C 37.068811,17.246167 37.088388,32 37.088388,32 L 22.160133,31.978069 C 22.160133,31.978069 26.997745,27.140456 26.997745,27.140456 C 18.528582,18.264221 13.291696,25.230495 11.500037,31.436501 z"
style="fill:#404040;"/>
</a>
</g>
</svg>
</svg>

After

Width:  |  Height:  |  Size: 13 KiB

View File

@ -0,0 +1,92 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.38.0 (20140413.2041)
-->
<!-- Title: SLNet::Replica3 Pages: 1 -->
<svg width="184pt" height="661pt"
viewBox="0.00 0.00 184.00 661.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 657)">
<title>SLNet::Replica3</title>
<!-- Node1 -->
<g id="node1" class="node"><title>Node1</title>
<polygon fill="#bfbfbf" stroke="black" points="8.5,-215.5 8.5,-448.5 167.5,-448.5 167.5,-215.5 8.5,-215.5"/>
<text text-anchor="middle" x="88" y="-436.5" font-family="Helvetica,sans-Serif" font-size="10.00">SLNet::Replica3</text>
<polyline fill="none" stroke="black" points="8.5,-429.5 167.5,-429.5 "/>
<text text-anchor="start" x="16.5" y="-417.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ creatingSystemGUID</text>
<text text-anchor="start" x="16.5" y="-406.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ deletingSystemGUID</text>
<text text-anchor="start" x="16.5" y="-395.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ replicaManager</text>
<text text-anchor="start" x="16.5" y="-384.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ lastSentSerialization</text>
<text text-anchor="start" x="16.5" y="-373.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ forceSendUntilNextUpdate</text>
<text text-anchor="start" x="16.5" y="-362.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ lsr</text>
<text text-anchor="start" x="16.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ referenceIndex</text>
<polyline fill="none" stroke="black" points="8.5,-344.5 167.5,-344.5 "/>
<text text-anchor="start" x="16.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Replica3()</text>
<text text-anchor="start" x="16.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~Replica3()</text>
<text text-anchor="start" x="16.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ WriteAllocationID()</text>
<text text-anchor="start" x="16.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ QueryConstruction()</text>
<text text-anchor="start" x="16.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ QueryDestruction()</text>
<text text-anchor="start" x="16.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ QueryRemoteConstruction()</text>
<text text-anchor="start" x="16.5" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ QueryRelayDestruction()</text>
<text text-anchor="start" x="16.5" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SerializeConstruction()</text>
<text text-anchor="start" x="16.5" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ DeserializeConstruction()</text>
<text text-anchor="start" x="16.5" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SerializeConstructionExisting()</text>
<text text-anchor="start" x="16.5" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">and 31 more...</text>
</g>
<!-- Node3 -->
<g id="node3" class="node"><title>Node3</title>
<g id="a_node3"><a xlink:href="../../d4/d8f/class_s_l_net_1_1_replica3_composite.xhtml" target="_top" xlink:title="Use Replica3 through composition instead of inheritance by containing an instance of this templated c...">
<polygon fill="none" stroke="black" points="8.5,-0.5 8.5,-178.5 167.5,-178.5 167.5,-0.5 8.5,-0.5"/>
<text text-anchor="start" x="16.5" y="-166.5" font-family="Helvetica,sans-Serif" font-size="10.00">SLNet::Replica3Composite</text>
<text text-anchor="middle" x="88" y="-155.5" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; parent_type &gt;</text>
<polyline fill="none" stroke="black" points="8.5,-148.5 167.5,-148.5 "/>
<text text-anchor="start" x="16.5" y="-136.5" font-family="Helvetica,sans-Serif" font-size="10.00"># r3CompositeOwner</text>
<polyline fill="none" stroke="black" points="8.5,-129.5 167.5,-129.5 "/>
<text text-anchor="start" x="16.5" y="-117.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SetCompositeOwner()</text>
<text text-anchor="start" x="16.5" y="-106.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetCompositeOwner()</text>
<text text-anchor="start" x="16.5" y="-95.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ WriteAllocationID()</text>
<text text-anchor="start" x="16.5" y="-84.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ QueryConstruction()</text>
<text text-anchor="start" x="16.5" y="-73.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ QueryDestruction()</text>
<text text-anchor="start" x="16.5" y="-62.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ QueryRemoteConstruction()</text>
<text text-anchor="start" x="16.5" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ QueryRelayDestruction()</text>
<text text-anchor="start" x="16.5" y="-40.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SerializeConstruction()</text>
<text text-anchor="start" x="16.5" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ DeserializeConstruction()</text>
<text text-anchor="start" x="16.5" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SerializeConstructionExisting()</text>
<text text-anchor="start" x="16.5" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">and 16 more...</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node3 -->
<g id="edge2" class="edge"><title>Node1&#45;&gt;Node3</title>
<path fill="none" stroke="midnightblue" d="M88,-205.256C88,-196.341 88,-187.466 88,-178.828"/>
<polygon fill="none" stroke="midnightblue" points="84.5001,-205.329 88,-215.329 91.5001,-205.329 84.5001,-205.329"/>
</g>
<!-- Node2 -->
<g id="node2" class="node"><title>Node2</title>
<g id="a_node2"><a xlink:href="../../db/d6d/class_s_l_net_1_1_network_i_d_object.xhtml" target="_top" xlink:title="Unique shared ids for each object instance.">
<polygon fill="none" stroke="black" points="0,-485.5 0,-652.5 176,-652.5 176,-485.5 0,-485.5"/>
<text text-anchor="middle" x="88" y="-640.5" font-family="Helvetica,sans-Serif" font-size="10.00">SLNet::NetworkIDObject</text>
<polyline fill="none" stroke="black" points="0,-633.5 176,-633.5 "/>
<text text-anchor="start" x="8" y="-621.5" font-family="Helvetica,sans-Serif" font-size="10.00"># networkID</text>
<text text-anchor="start" x="8" y="-610.5" font-family="Helvetica,sans-Serif" font-size="10.00"># networkIDManager</text>
<text text-anchor="start" x="8" y="-599.5" font-family="Helvetica,sans-Serif" font-size="10.00"># parent</text>
<text text-anchor="start" x="8" y="-588.5" font-family="Helvetica,sans-Serif" font-size="10.00"># nextInstanceForNetworkIDManager</text>
<polyline fill="none" stroke="black" points="0,-581.5 176,-581.5 "/>
<text text-anchor="start" x="8" y="-569.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ NetworkIDObject()</text>
<text text-anchor="start" x="8" y="-558.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~NetworkIDObject()</text>
<text text-anchor="start" x="8" y="-547.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SetNetworkIDManager()</text>
<text text-anchor="start" x="8" y="-536.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetNetworkIDManager()</text>
<text text-anchor="start" x="8" y="-525.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetNetworkID()</text>
<text text-anchor="start" x="8" y="-514.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SetNetworkID()</text>
<text text-anchor="start" x="8" y="-503.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SetParent()</text>
<text text-anchor="start" x="8" y="-492.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetParent()</text>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node1 -->
<g id="edge1" class="edge"><title>Node2&#45;&gt;Node1</title>
<path fill="none" stroke="midnightblue" d="M88,-475.323C88,-466.586 88,-457.658 88,-448.743"/>
<polygon fill="none" stroke="midnightblue" points="84.5001,-475.478 88,-485.478 91.5001,-475.478 84.5001,-475.478"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 8.1 KiB

View File

@ -0,0 +1,132 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>SLikeNet: Member List</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="../../index.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li class="current"><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../annotated.xhtml"><span>Class&#160;List</span></a></li>
<li><a href="../../classes.xhtml"><span>Class&#160;Index</span></a></li>
<li><a href="../../inherits.xhtml"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="../../functions.xhtml"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('d6/d52/class_s_l_net_1_1_huffman_encoding_tree.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">SLNet::HuffmanEncodingTree Member List</div> </div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="../../d6/d52/class_s_l_net_1_1_huffman_encoding_tree.xhtml">SLNet::HuffmanEncodingTree</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="../../d6/d52/class_s_l_net_1_1_huffman_encoding_tree.xhtml#a7e1d71fee40cae1bf30526950323425b">DecodeArray</a>(SLNet::BitStream *input, BitSize_t sizeInBits, size_t maxCharsToWrite, unsigned char *output)</td><td class="entry"><a class="el" href="../../d6/d52/class_s_l_net_1_1_huffman_encoding_tree.xhtml">SLNet::HuffmanEncodingTree</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d6/d52/class_s_l_net_1_1_huffman_encoding_tree.xhtml#a7bcfec745a078f0a58af8deceeff3283">DecodeArray</a>(unsigned char *input, BitSize_t sizeInBits, SLNet::BitStream *output)</td><td class="entry"><a class="el" href="../../d6/d52/class_s_l_net_1_1_huffman_encoding_tree.xhtml">SLNet::HuffmanEncodingTree</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d6/d52/class_s_l_net_1_1_huffman_encoding_tree.xhtml#a1d35c9afb94d954f184a72cf904c7c65">EncodeArray</a>(unsigned char *input, size_t sizeInBytes, SLNet::BitStream *output)</td><td class="entry"><a class="el" href="../../d6/d52/class_s_l_net_1_1_huffman_encoding_tree.xhtml">SLNet::HuffmanEncodingTree</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d6/d52/class_s_l_net_1_1_huffman_encoding_tree.xhtml#a9cb706100bfaa2afe47637347603eeb5">FreeMemory</a>(void)</td><td class="entry"><a class="el" href="../../d6/d52/class_s_l_net_1_1_huffman_encoding_tree.xhtml">SLNet::HuffmanEncodingTree</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d6/d52/class_s_l_net_1_1_huffman_encoding_tree.xhtml#abde050a1b4a2128ec3896463f9f997a7">GenerateFromFrequencyTable</a>(unsigned int frequencyTable[256])</td><td class="entry"><a class="el" href="../../d6/d52/class_s_l_net_1_1_huffman_encoding_tree.xhtml">SLNet::HuffmanEncodingTree</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d6/d52/class_s_l_net_1_1_huffman_encoding_tree.xhtml#aa77c33fe43a2e6441e3ec9a6190f68c0">HuffmanEncodingTree</a>()</td><td class="entry"><a class="el" href="../../d6/d52/class_s_l_net_1_1_huffman_encoding_tree.xhtml">SLNet::HuffmanEncodingTree</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d6/d52/class_s_l_net_1_1_huffman_encoding_tree.xhtml#afe08c3a26deabe245d10e0000c43bd2a">~HuffmanEncodingTree</a>()</td><td class="entry"><a class="el" href="../../d6/d52/class_s_l_net_1_1_huffman_encoding_tree.xhtml">SLNet::HuffmanEncodingTree</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated on Wed Aug 14 2019 22:09:49 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,127 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>SLikeNet: Source/src/DataCompressor.cpp File Reference</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="../../index.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li class="current"><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../files.xhtml"><span>File&#160;List</span></a></li>
<li><a href="../../globals.xhtml"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('d7/dbe/_data_compressor_8cpp.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">DataCompressor.cpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &quot;<a class="el" href="../../db/d45/_data_compressor_8h_source.xhtml">slikenet/DataCompressor.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../de/d78/_d_s___huffman_encoding_tree_8h_source.xhtml">slikenet/DS_HuffmanEncodingTree.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../dc/da7/assert_8h_source.xhtml">slikenet/assert.h</a>&quot;</code><br/>
<code>#include &lt;<a class="el" href="../../da/d66/string_8h_source.xhtml">string.h</a>&gt;</code><br/>
</div>
<p><a href="../../d7/dbe/_data_compressor_8cpp_source.xhtml">Go to the source code of this file.</a></p>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_74389ed8173ad57b461b9d623a1f3867.xhtml">Source</a></li><li class="navelem"><a class="el" href="../../dir_d1eb22c2ecfd8b50f59e9cbaf8260105.xhtml">src</a></li><li class="navelem"><a class="el" href="../../d7/dbe/_data_compressor_8cpp.xhtml">DataCompressor.cpp</a></li>
<li class="footer">Generated on Wed Aug 14 2019 22:09:48 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,199 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>SLikeNet: Source/src/DataCompressor.cpp Source File</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="../../index.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li class="current"><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../files.xhtml"><span>File&#160;List</span></a></li>
<li><a href="../../globals.xhtml"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('d7/dbe/_data_compressor_8cpp_source.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">DataCompressor.cpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="../../d7/dbe/_data_compressor_8cpp.xhtml">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> * Original work: Copyright (c) 2014, Oculus VR, Inc.</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> * All rights reserved.</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> * This source code is licensed under the BSD-style license found in the</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> * RakNet License.txt file in the licenses directory of this source tree. An additional grant </span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> * of patent rights can be found in the RakNet Patents.txt file in the same directory.</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment"> * Modified work: Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> * This source code was modified by SLikeSoft. Modifications are licensed under the MIT-style</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> * license found in the license.txt file in the root directory of this source tree.</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;</div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../db/d45/_data_compressor_8h.xhtml" title="DataCompressor does compression on a block of data.">slikenet/DataCompressor.h</a>&quot;</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../de/d78/_d_s___huffman_encoding_tree_8h.xhtml" title="[Internal] Generates a huffman encoding tree, used for string and global compression.">slikenet/DS_HuffmanEncodingTree.h</a>&quot;</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../dc/da7/assert_8h.xhtml">slikenet/assert.h</a>&quot;</span></div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="../../da/d66/string_8h.xhtml">string.h</a>&gt;</span> <span class="comment">// Use string.h rather than memory.h for a console</span></div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;</div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="keyword">using namespace </span>SLNet;</div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;</div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<a class="code" href="../../db/dbd/_export_8h.xhtml#aa00165c970bdb25e1c757b432509533b">STATIC_FACTORY_DEFINITIONS</a>(<a class="code" href="../../da/d5f/class_s_l_net_1_1_data_compressor.xhtml" title="Does compression on a block of data. Not very good compression, but it&#39;s small and fast so is somethi...">DataCompressor</a>,<a class="code" href="../../da/d5f/class_s_l_net_1_1_data_compressor.xhtml" title="Does compression on a block of data. Not very good compression, but it&#39;s small and fast so is somethi...">DataCompressor</a>)</div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;</div>
<div class="line"><a name="l00025"></a><span class="lineno"><a class="code" href="../../da/d5f/class_s_l_net_1_1_data_compressor.xhtml#af18a75451d79cf052cf9715ff8968de8"> 25</a></span>&#160;void <a class="code" href="../../da/d5f/class_s_l_net_1_1_data_compressor.xhtml" title="Does compression on a block of data. Not very good compression, but it&#39;s small and fast so is somethi...">DataCompressor</a>::Compress( <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *userData, <span class="keywordtype">unsigned</span> sizeInBytes, SLNet::<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">BitStream</a> * output )</div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;{</div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160; <span class="comment">// Don&#39;t use this for small files as you will just make them bigger!</span></div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; <a class="code" href="../../d8/db0/defines_8h.xhtml#afaa3647d29f5960651eb23fd3d2b5368">RakAssert</a>(sizeInBytes &gt; 2048);</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> frequencyTable[ 256 ];</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i;</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160; memset(frequencyTable,0,256*<span class="keyword">sizeof</span>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>));</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; <span class="keywordflow">for</span> (i=0; i &lt; sizeInBytes; i++)</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; ++frequencyTable[userData[i]];</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; <a class="code" href="../../d6/d52/class_s_l_net_1_1_huffman_encoding_tree.xhtml" title="This generates special cases of the huffman encoding tree using 8 bit keys with the additional condit...">HuffmanEncodingTree</a> tree;</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a227d2a5f9683a34d9d1e70772fd556ec">BitSize_t</a> writeOffset1, writeOffset2, bitsUsed1, bitsUsed2;</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; tree.<a class="code" href="../../d6/d52/class_s_l_net_1_1_huffman_encoding_tree.xhtml#abde050a1b4a2128ec3896463f9f997a7" title="Given a frequency table of 256 elements, all with a frequency of 1 or more, generate the tree...">GenerateFromFrequencyTable</a>(frequencyTable);</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; output-&gt;WriteCompressed(sizeInBytes);</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; <span class="keywordflow">for</span> (i=0; i &lt; 256; i++)</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; output-&gt;WriteCompressed(frequencyTable[i]);</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; output-&gt;AlignWriteToByteBoundary();</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; writeOffset1=output-&gt;GetWriteOffset();</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; output-&gt;Write((<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>)0); <span class="comment">// Dummy value</span></div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; bitsUsed1=output-&gt;GetNumberOfBitsUsed();</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; tree.<a class="code" href="../../d6/d52/class_s_l_net_1_1_huffman_encoding_tree.xhtml#a1d35c9afb94d954f184a72cf904c7c65" title="Pass an array of bytes to array and a preallocated BitStream to receive the output.">EncodeArray</a>(userData, sizeInBytes, output);</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; bitsUsed2=output-&gt;GetNumberOfBitsUsed();</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; writeOffset2=output-&gt;GetWriteOffset();</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; output-&gt;SetWriteOffset(writeOffset1);</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; output-&gt;Write(bitsUsed2-bitsUsed1); <span class="comment">// Go back and write how many bits were used for the encoding</span></div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; output-&gt;SetWriteOffset(writeOffset2);</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;}</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;</div>
<div class="line"><a name="l00053"></a><span class="lineno"><a class="code" href="../../da/d5f/class_s_l_net_1_1_data_compressor.xhtml#ae6c868e1af182b327011b9e795928143"> 53</a></span>&#160;<span class="keywordtype">unsigned</span> <a class="code" href="../../da/d5f/class_s_l_net_1_1_data_compressor.xhtml#ae6c868e1af182b327011b9e795928143">DataCompressor::DecompressAndAllocate</a>(<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a> * input, <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> **output )</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;{</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <a class="code" href="../../d6/d52/class_s_l_net_1_1_huffman_encoding_tree.xhtml" title="This generates special cases of the huffman encoding tree using 8 bit keys with the additional condit...">HuffmanEncodingTree</a> tree;</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> bitsUsed, destinationSizeInBytes;</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> decompressedBytes;</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> frequencyTable[ 256 ];</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <span class="keywordtype">unsigned</span> i;</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; </div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; input-&gt;<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#ac7fcbda7a05b5c7bd7018205cb1bb7b0" title="Read any integral type from a bitstream.">ReadCompressed</a>(destinationSizeInBytes);</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <span class="keywordflow">for</span> (i=0; i &lt; 256; i++)</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; input-&gt;<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#ac7fcbda7a05b5c7bd7018205cb1bb7b0" title="Read any integral type from a bitstream.">ReadCompressed</a>(frequencyTable[i]);</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; input-&gt;<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#af64b3663a865840e013f5aef490d891e" title="Align the next write and/or read to a byte boundary.">AlignReadToByteBoundary</a>();</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <span class="keywordflow">if</span> (input-&gt;<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a59f38126d8d19bfd264a2e2cace7d1db" title="Read any integral type from a bitstream.">Read</a>(bitsUsed)==<span class="keyword">false</span>)</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; {</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <span class="comment">// Read error</span></div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;<span class="preprocessor">#ifdef _DEBUG</span></div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;<span class="preprocessor"></span> <a class="code" href="../../d8/db0/defines_8h.xhtml#afaa3647d29f5960651eb23fd3d2b5368">RakAssert</a>(0);</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;<span class="preprocessor"></span> <span class="keywordflow">return</span> 0;</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; }</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; *output = (<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>*) <a class="code" href="../../d9/d4c/_rak_memory_override_8cpp.xhtml#aebeb2e4754399ea3e2c7af3dd9bbe8c3">rakMalloc_Ex</a>(destinationSizeInBytes, <a class="code" href="../../d8/db0/defines_8h.xhtml#a8661ec2137eef33a8cd0cd618a748871">_FILE_AND_LINE_</a>);</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; tree.<a class="code" href="../../d6/d52/class_s_l_net_1_1_huffman_encoding_tree.xhtml#abde050a1b4a2128ec3896463f9f997a7" title="Given a frequency table of 256 elements, all with a frequency of 1 or more, generate the tree...">GenerateFromFrequencyTable</a>(frequencyTable);</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; decompressedBytes=tree.<a class="code" href="../../d6/d52/class_s_l_net_1_1_huffman_encoding_tree.xhtml#a7e1d71fee40cae1bf30526950323425b">DecodeArray</a>(input, bitsUsed, destinationSizeInBytes, *output );</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; <a class="code" href="../../d8/db0/defines_8h.xhtml#afaa3647d29f5960651eb23fd3d2b5368">RakAssert</a>(decompressedBytes==destinationSizeInBytes);</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <span class="keywordflow">return</span> destinationSizeInBytes;</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;}</div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_74389ed8173ad57b461b9d623a1f3867.xhtml">Source</a></li><li class="navelem"><a class="el" href="../../dir_d1eb22c2ecfd8b50f59e9cbaf8260105.xhtml">src</a></li><li class="navelem"><a class="el" href="../../d7/dbe/_data_compressor_8cpp.xhtml">DataCompressor.cpp</a></li>
<li class="footer">Generated on Wed Aug 14 2019 22:09:46 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,7 @@
var _bit_stream_8h =
[
[ "BitStream", "df/d75/class_s_l_net_1_1_bit_stream.xhtml", "df/d75/class_s_l_net_1_1_bit_stream" ],
[ "_copysign", "d7/dc3/_bit_stream_8h.xhtml#a64e69a4a3800bf006de7f15006ebde5c", null ],
[ "operator<<", "d7/dc3/_bit_stream_8h.xhtml#ad6a922afb55780662fd3a934075b63c3", null ],
[ "operator>>", "d7/dc3/_bit_stream_8h.xhtml#a5155dcf24269b0ca55c8f6e2337b1b9f", null ]
];

View File

@ -0,0 +1,188 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>SLikeNet: Source/include/slikenet/BitStream.h File Reference</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="../../index.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li class="current"><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../files.xhtml"><span>File&#160;List</span></a></li>
<li><a href="../../globals.xhtml"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('d7/dc3/_bit_stream_8h.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#namespaces">Namespaces</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">BitStream.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>This class allows you to write and read native types as a string of bits.
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="../../dd/dc5/memoryoverride_8h_source.xhtml">memoryoverride.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../d8/db0/defines_8h_source.xhtml">defines.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../db/dbd/_export_8h_source.xhtml">Export.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../d9/d49/types_8h_source.xhtml">types.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../da/d66/string_8h_source.xhtml">string.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../d5/dc1/wstring_8h_source.xhtml">wstring.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../dc/da7/assert_8h_source.xhtml">assert.h</a>&quot;</code><br/>
<code>#include &lt;cmath&gt;</code><br/>
<code>#include &lt;float.h&gt;</code><br/>
</div>
<p><a href="../../d7/dc3/_bit_stream_8h_source.xhtml">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:dd/d30/namespace_s_l_net"><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d30/namespace_s_l_net.xhtml">SLNet</a></td></tr>
<tr class="memdesc:dd/d30/namespace_s_l_net"><td class="mdescLeft">&#160;</td><td class="mdescRight">Simple class to send changes between directories. In essence, a simple autopatcher that can be used for transmitting levels, skins, etc. <br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:a64e69a4a3800bf006de7f15006ebde5c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/dc3/_bit_stream_8h.xhtml#a64e69a4a3800bf006de7f15006ebde5c">_copysign</a>&#160;&#160;&#160;copysign</td></tr>
<tr class="separator:a64e69a4a3800bf006de7f15006ebde5c"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ad6a922afb55780662fd3a934075b63c3"><td class="memTemplParams" colspan="2">template&lt;class templateType &gt; </td></tr>
<tr class="memitem:ad6a922afb55780662fd3a934075b63c3"><td class="memTemplItemLeft" align="right" valign="top">BitStream &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#ad6a922afb55780662fd3a934075b63c3">SLNet::operator&lt;&lt;</a> (BitStream &amp;out, const templateType &amp;c)</td></tr>
<tr class="separator:ad6a922afb55780662fd3a934075b63c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5155dcf24269b0ca55c8f6e2337b1b9f"><td class="memTemplParams" colspan="2">template&lt;class templateType &gt; </td></tr>
<tr class="memitem:a5155dcf24269b0ca55c8f6e2337b1b9f"><td class="memTemplItemLeft" align="right" valign="top">BitStream &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#a5155dcf24269b0ca55c8f6e2337b1b9f">SLNet::operator&gt;&gt;</a> (BitStream &amp;in, templateType &amp;c)</td></tr>
<tr class="separator:a5155dcf24269b0ca55c8f6e2337b1b9f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>This class allows you to write and read native types as a string of bits. </p>
<p>BitStream is used extensively throughout RakNet and is designed to be used by users as well. </p>
<p>Definition in file <a class="el" href="../../d7/dc3/_bit_stream_8h_source.xhtml">BitStream.h</a>.</p>
</div><h2 class="groupheader">Macro Definition Documentation</h2>
<a class="anchor" id="a64e69a4a3800bf006de7f15006ebde5c"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define _copysign&#160;&#160;&#160;copysign</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d7/dc3/_bit_stream_8h_source.xhtml#l00040">40</a> of file <a class="el" href="../../d7/dc3/_bit_stream_8h_source.xhtml">BitStream.h</a>.</p>
<p>Referenced by <a class="el" href="../../d7/dc3/_bit_stream_8h_source.xhtml#l01667">SLNet::BitStream::WriteOrthMatrix()</a>.</p>
</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_74389ed8173ad57b461b9d623a1f3867.xhtml">Source</a></li><li class="navelem"><a class="el" href="../../dir_bbb90e3ef9167a594ae33323139a2595.xhtml">include</a></li><li class="navelem"><a class="el" href="../../dir_88467e66686deb9d3756fe4fc298e321.xhtml">slikenet</a></li><li class="navelem"><a class="el" href="../../d7/dc3/_bit_stream_8h.xhtml">BitStream.h</a></li>
<li class="footer">Generated on Wed Aug 14 2019 22:09:48 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,16 @@
var statistics_8h =
[
[ "RakNetStatistics", "df/df9/struct_s_l_net_1_1_rak_net_statistics.xhtml", "df/df9/struct_s_l_net_1_1_rak_net_statistics" ],
[ "RNSPerSecondMetrics", "d7/dc5/statistics_8h.xhtml#a4957d87c7d01c02ee3365ea01aec40ac", [
[ "USER_MESSAGE_BYTES_PUSHED", "d7/dc5/statistics_8h.xhtml#a4957d87c7d01c02ee3365ea01aec40acafaa8c0be40e6ed5777d80527fb211d68", null ],
[ "USER_MESSAGE_BYTES_SENT", "d7/dc5/statistics_8h.xhtml#a4957d87c7d01c02ee3365ea01aec40aca5735d17220987e4ea658bacfbbe3d757", null ],
[ "USER_MESSAGE_BYTES_RESENT", "d7/dc5/statistics_8h.xhtml#a4957d87c7d01c02ee3365ea01aec40aca65babf3cbcac908eee4e950a5eb74e22", null ],
[ "USER_MESSAGE_BYTES_RECEIVED_PROCESSED", "d7/dc5/statistics_8h.xhtml#a4957d87c7d01c02ee3365ea01aec40aca41472c29531c4b5e02220b63cc55cf94", null ],
[ "USER_MESSAGE_BYTES_RECEIVED_IGNORED", "d7/dc5/statistics_8h.xhtml#a4957d87c7d01c02ee3365ea01aec40aca578ae638e847eea96bc8b72bca19bb47", null ],
[ "ACTUAL_BYTES_SENT", "d7/dc5/statistics_8h.xhtml#a4957d87c7d01c02ee3365ea01aec40aca4b1565e630dc9ebff06d02649916c104", null ],
[ "ACTUAL_BYTES_RECEIVED", "d7/dc5/statistics_8h.xhtml#a4957d87c7d01c02ee3365ea01aec40aca17bea4f08c3fc293454388eacfbd192f", null ],
[ "RNS_PER_SECOND_METRICS_COUNT", "d7/dc5/statistics_8h.xhtml#a4957d87c7d01c02ee3365ea01aec40aca766e442d17c52434750d2c2208555237", null ]
] ],
[ "StatisticsToString", "d7/dc5/statistics_8h.xhtml#a854e3d51d7a166b75dbc316aadceaf2b", null ],
[ "StatisticsToString", "d7/dc5/statistics_8h.xhtml#ac8bf220926665542f7d19b785acccbc7", null ]
];

View File

@ -0,0 +1,174 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>SLikeNet: Source/include/slikenet/statistics.h File Reference</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="../../index.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li class="current"><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../files.xhtml"><span>File&#160;List</span></a></li>
<li><a href="../../globals.xhtml"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('d7/dc5/statistics_8h.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#namespaces">Namespaces</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">statistics.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>A structure that holds all statistical data returned by RakNet.
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="../../d7/d03/_packet_priority_8h_source.xhtml">PacketPriority.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../db/dbd/_export_8h_source.xhtml">Export.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../d9/d49/types_8h_source.xhtml">types.h</a>&quot;</code><br/>
</div>
<p><a href="../../d7/dc5/statistics_8h_source.xhtml">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/df9/struct_s_l_net_1_1_rak_net_statistics.xhtml">SLNet::RakNetStatistics</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Network Statisics Usage. <a href="../../df/df9/struct_s_l_net_1_1_rak_net_statistics.xhtml#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:dd/d30/namespace_s_l_net"><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d30/namespace_s_l_net.xhtml">SLNet</a></td></tr>
<tr class="memdesc:dd/d30/namespace_s_l_net"><td class="mdescLeft">&#160;</td><td class="mdescRight">Simple class to send changes between directories. In essence, a simple autopatcher that can be used for transmitting levels, skins, etc. <br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:a4957d87c7d01c02ee3365ea01aec40ac"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#a4957d87c7d01c02ee3365ea01aec40ac">SLNet::RNSPerSecondMetrics</a> { <br/>
&#160;&#160;<a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#a4957d87c7d01c02ee3365ea01aec40acafaa8c0be40e6ed5777d80527fb211d68">SLNet::USER_MESSAGE_BYTES_PUSHED</a>,
<a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#a4957d87c7d01c02ee3365ea01aec40aca5735d17220987e4ea658bacfbbe3d757">SLNet::USER_MESSAGE_BYTES_SENT</a>,
<a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#a4957d87c7d01c02ee3365ea01aec40aca65babf3cbcac908eee4e950a5eb74e22">SLNet::USER_MESSAGE_BYTES_RESENT</a>,
<a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#a4957d87c7d01c02ee3365ea01aec40aca41472c29531c4b5e02220b63cc55cf94">SLNet::USER_MESSAGE_BYTES_RECEIVED_PROCESSED</a>,
<br/>
&#160;&#160;<a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#a4957d87c7d01c02ee3365ea01aec40aca578ae638e847eea96bc8b72bca19bb47">SLNet::USER_MESSAGE_BYTES_RECEIVED_IGNORED</a>,
<a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#a4957d87c7d01c02ee3365ea01aec40aca4b1565e630dc9ebff06d02649916c104">SLNet::ACTUAL_BYTES_SENT</a>,
<a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#a4957d87c7d01c02ee3365ea01aec40aca17bea4f08c3fc293454388eacfbd192f">SLNet::ACTUAL_BYTES_RECEIVED</a>,
<a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#a4957d87c7d01c02ee3365ea01aec40aca766e442d17c52434750d2c2208555237">SLNet::RNS_PER_SECOND_METRICS_COUNT</a>
<br/>
}</td></tr>
<tr class="separator:a4957d87c7d01c02ee3365ea01aec40ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a854e3d51d7a166b75dbc316aadceaf2b"><td class="memItemLeft" align="right" valign="top">void <a class="el" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#a854e3d51d7a166b75dbc316aadceaf2b">SLNet::StatisticsToString</a> (<a class="el" href="../../df/df9/struct_s_l_net_1_1_rak_net_statistics.xhtml">RakNetStatistics</a> *s, char *buffer, int verbosityLevel)</td></tr>
<tr class="separator:a854e3d51d7a166b75dbc316aadceaf2b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac8bf220926665542f7d19b785acccbc7"><td class="memItemLeft" align="right" valign="top">void <a class="el" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#ac8bf220926665542f7d19b785acccbc7">SLNet::StatisticsToString</a> (<a class="el" href="../../df/df9/struct_s_l_net_1_1_rak_net_statistics.xhtml">RakNetStatistics</a> *s, char *buffer, size_t bufferLength, int verbosityLevel)</td></tr>
<tr class="separator:ac8bf220926665542f7d19b785acccbc7"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>A structure that holds all statistical data returned by RakNet. </p>
<p>Definition in file <a class="el" href="../../d7/dc5/statistics_8h_source.xhtml">statistics.h</a>.</p>
</div></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_74389ed8173ad57b461b9d623a1f3867.xhtml">Source</a></li><li class="navelem"><a class="el" href="../../dir_bbb90e3ef9167a594ae33323139a2595.xhtml">include</a></li><li class="navelem"><a class="el" href="../../dir_88467e66686deb9d3756fe4fc298e321.xhtml">slikenet</a></li><li class="navelem"><a class="el" href="../../d7/dc5/statistics_8h.xhtml">statistics.h</a></li>
<li class="footer">Generated on Wed Aug 14 2019 22:09:48 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,221 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>SLikeNet: Source/include/slikenet/statistics.h Source File</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="../../index.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li class="current"><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../files.xhtml"><span>File&#160;List</span></a></li>
<li><a href="../../globals.xhtml"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('d7/dc5/statistics_8h_source.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">statistics.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="../../d7/dc5/statistics_8h.xhtml">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> * Original work: Copyright (c) 2014, Oculus VR, Inc.</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> * All rights reserved.</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> * This source code is licensed under the BSD-style license found in the</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> * RakNet License.txt file in the licenses directory of this source tree. An additional grant </span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> * of patent rights can be found in the RakNet Patents.txt file in the same directory.</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment"> * Modified work: Copyright (c) 2016-2018, SLikeSoft UG (haftungsbeschränkt)</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> * This source code was modified by SLikeSoft. Modifications are licensed under the MIT-style</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> * license found in the license.txt file in the root directory of this source tree.</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;</div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;</div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;</div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;</div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="preprocessor">#ifndef __RAK_NET_STATISTICS_H</span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define __RAK_NET_STATISTICS_H</span></div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../d7/d03/_packet_priority_8h.xhtml" title="This file contains enumerations for packet priority and reliability enumerations.">PacketPriority.h</a>&quot;</span></div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../db/dbd/_export_8h.xhtml">Export.h</a>&quot;</span></div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../d9/d49/types_8h.xhtml" title="Types used by RakNet, most of which involve user code.">types.h</a>&quot;</span></div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="keyword">namespace </span>SLNet</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;{</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;</div>
<div class="line"><a name="l00032"></a><span class="lineno"><a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a4957d87c7d01c02ee3365ea01aec40ac"> 32</a></span>&#160;<span class="keyword">enum</span> <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a4957d87c7d01c02ee3365ea01aec40ac">RNSPerSecondMetrics</a></div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;{</div>
<div class="line"><a name="l00035"></a><span class="lineno"><a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a4957d87c7d01c02ee3365ea01aec40acafaa8c0be40e6ed5777d80527fb211d68"> 35</a></span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a4957d87c7d01c02ee3365ea01aec40acafaa8c0be40e6ed5777d80527fb211d68" title="How many bytes per pushed via a call to RakPeerInterface::Send()">USER_MESSAGE_BYTES_PUSHED</a>,</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;</div>
<div class="line"><a name="l00039"></a><span class="lineno"><a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a4957d87c7d01c02ee3365ea01aec40aca5735d17220987e4ea658bacfbbe3d757"> 39</a></span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a4957d87c7d01c02ee3365ea01aec40aca5735d17220987e4ea658bacfbbe3d757">USER_MESSAGE_BYTES_SENT</a>,</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;</div>
<div class="line"><a name="l00042"></a><span class="lineno"><a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a4957d87c7d01c02ee3365ea01aec40aca65babf3cbcac908eee4e950a5eb74e22"> 42</a></span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a4957d87c7d01c02ee3365ea01aec40aca65babf3cbcac908eee4e950a5eb74e22" title="How many user message bytes were resent. A message is resent if it is marked as reliable, and either the message didn&#39;t arrive or the message ack didn&#39;t arrive.">USER_MESSAGE_BYTES_RESENT</a>,</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;</div>
<div class="line"><a name="l00045"></a><span class="lineno"><a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a4957d87c7d01c02ee3365ea01aec40aca41472c29531c4b5e02220b63cc55cf94"> 45</a></span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a4957d87c7d01c02ee3365ea01aec40aca41472c29531c4b5e02220b63cc55cf94" title="How many user message bytes were received, and returned to the user successfully.">USER_MESSAGE_BYTES_RECEIVED_PROCESSED</a>,</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;</div>
<div class="line"><a name="l00048"></a><span class="lineno"><a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a4957d87c7d01c02ee3365ea01aec40aca578ae638e847eea96bc8b72bca19bb47"> 48</a></span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a4957d87c7d01c02ee3365ea01aec40aca578ae638e847eea96bc8b72bca19bb47" title="How many user message bytes were received, but ignored due to data format errors. This will usually b...">USER_MESSAGE_BYTES_RECEIVED_IGNORED</a>,</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;</div>
<div class="line"><a name="l00051"></a><span class="lineno"><a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a4957d87c7d01c02ee3365ea01aec40aca4b1565e630dc9ebff06d02649916c104"> 51</a></span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a4957d87c7d01c02ee3365ea01aec40aca4b1565e630dc9ebff06d02649916c104" title="How many actual bytes were sent, including per-message and per-datagram overhead, and reliable messag...">ACTUAL_BYTES_SENT</a>,</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;</div>
<div class="line"><a name="l00054"></a><span class="lineno"><a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a4957d87c7d01c02ee3365ea01aec40aca17bea4f08c3fc293454388eacfbd192f"> 54</a></span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a4957d87c7d01c02ee3365ea01aec40aca17bea4f08c3fc293454388eacfbd192f" title="How many actual bytes were received, including overead and acks.">ACTUAL_BYTES_RECEIVED</a>,</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;</div>
<div class="line"><a name="l00057"></a><span class="lineno"><a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a4957d87c7d01c02ee3365ea01aec40aca766e442d17c52434750d2c2208555237"> 57</a></span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a4957d87c7d01c02ee3365ea01aec40aca766e442d17c52434750d2c2208555237">RNS_PER_SECOND_METRICS_COUNT</a></div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;};</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;</div>
<div class="line"><a name="l00063"></a><span class="lineno"><a class="code" href="../../df/df9/struct_s_l_net_1_1_rak_net_statistics.xhtml"> 63</a></span>&#160;<span class="keyword">struct </span><a class="code" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> <a class="code" href="../../df/df9/struct_s_l_net_1_1_rak_net_statistics.xhtml" title="Network Statisics Usage.">RakNetStatistics</a></div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;{</div>
<div class="line"><a name="l00066"></a><span class="lineno"><a class="code" href="../../df/df9/struct_s_l_net_1_1_rak_net_statistics.xhtml#a03467260cbf4685900095af89be748d8"> 66</a></span>&#160; <a class="code" href="../../df/df2/_native_types_8h.xhtml#ad27ed092432b64ff558d2254c278720f">uint64_t</a> valueOverLastSecond[<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a4957d87c7d01c02ee3365ea01aec40aca766e442d17c52434750d2c2208555237">RNS_PER_SECOND_METRICS_COUNT</a>];</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;</div>
<div class="line"><a name="l00069"></a><span class="lineno"><a class="code" href="../../df/df9/struct_s_l_net_1_1_rak_net_statistics.xhtml#a05edd8f2c1042cecb5cd046ccb47a0f1"> 69</a></span>&#160; <a class="code" href="../../df/df2/_native_types_8h.xhtml#ad27ed092432b64ff558d2254c278720f">uint64_t</a> runningTotal[<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a4957d87c7d01c02ee3365ea01aec40aca766e442d17c52434750d2c2208555237">RNS_PER_SECOND_METRICS_COUNT</a>];</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; </div>
<div class="line"><a name="l00073"></a><span class="lineno"><a class="code" href="../../df/df9/struct_s_l_net_1_1_rak_net_statistics.xhtml#a544f7fc214aac8e9713a08fce603e0a5"> 73</a></span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a3d01a3c6dcc3c11f0cc5359fe290edc7">SLNet::TimeUS</a> <a class="code" href="../../df/df9/struct_s_l_net_1_1_rak_net_statistics.xhtml#a544f7fc214aac8e9713a08fce603e0a5">connectionStartTime</a>;</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;</div>
<div class="line"><a name="l00077"></a><span class="lineno"><a class="code" href="../../df/df9/struct_s_l_net_1_1_rak_net_statistics.xhtml#a4ac60b3e5e25a324c183e2a3423121eb"> 77</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="../../df/df9/struct_s_l_net_1_1_rak_net_statistics.xhtml#a4ac60b3e5e25a324c183e2a3423121eb">isLimitedByCongestionControl</a>;</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;</div>
<div class="line"><a name="l00080"></a><span class="lineno"><a class="code" href="../../df/df9/struct_s_l_net_1_1_rak_net_statistics.xhtml#a1772104bda37cb4a8115cc4169b1dbc8"> 80</a></span>&#160; <a class="code" href="../../df/df2/_native_types_8h.xhtml#ad27ed092432b64ff558d2254c278720f">uint64_t</a> <a class="code" href="../../df/df9/struct_s_l_net_1_1_rak_net_statistics.xhtml#a1772104bda37cb4a8115cc4169b1dbc8" title="If isLimitedByCongestionControl is true, what is the limit, in bytes per second?">BPSLimitByCongestionControl</a>;</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160;</div>
<div class="line"><a name="l00083"></a><span class="lineno"><a class="code" href="../../df/df9/struct_s_l_net_1_1_rak_net_statistics.xhtml#ab26b15848940d3e6acd25a7c573e1177"> 83</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="../../df/df9/struct_s_l_net_1_1_rak_net_statistics.xhtml#ab26b15848940d3e6acd25a7c573e1177" title="Is our current send rate throttled by a call to RakPeer::SetPerConnectionOutgoingBandwidthLimit()?">isLimitedByOutgoingBandwidthLimit</a>;</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;</div>
<div class="line"><a name="l00086"></a><span class="lineno"><a class="code" href="../../df/df9/struct_s_l_net_1_1_rak_net_statistics.xhtml#a476e3187816451ca55fcf6cc4435e526"> 86</a></span>&#160; <a class="code" href="../../df/df2/_native_types_8h.xhtml#ad27ed092432b64ff558d2254c278720f">uint64_t</a> <a class="code" href="../../df/df9/struct_s_l_net_1_1_rak_net_statistics.xhtml#a476e3187816451ca55fcf6cc4435e526" title="If isLimitedByOutgoingBandwidthLimit is true, what is the limit, in bytes per second?">BPSLimitByOutgoingBandwidthLimit</a>;</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160;</div>
<div class="line"><a name="l00089"></a><span class="lineno"><a class="code" href="../../df/df9/struct_s_l_net_1_1_rak_net_statistics.xhtml#a323892c2900034f24ce18d21fc6171b9"> 89</a></span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> messageInSendBuffer[<a class="code" href="../../d7/d03/_packet_priority_8h.xhtml#a659378374e516180f93640c79f59705ca619c0d06913ad9d663b086aca30f7cdc">NUMBER_OF_PRIORITIES</a>];</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160;</div>
<div class="line"><a name="l00092"></a><span class="lineno"><a class="code" href="../../df/df9/struct_s_l_net_1_1_rak_net_statistics.xhtml#a4db0171fb99b3d86e127aa1d9df40da5"> 92</a></span>&#160; <span class="keywordtype">double</span> bytesInSendBuffer[<a class="code" href="../../d7/d03/_packet_priority_8h.xhtml#a659378374e516180f93640c79f59705ca619c0d06913ad9d663b086aca30f7cdc">NUMBER_OF_PRIORITIES</a>];</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160;</div>
<div class="line"><a name="l00096"></a><span class="lineno"><a class="code" href="../../df/df9/struct_s_l_net_1_1_rak_net_statistics.xhtml#a841c90947e8fc8803c394cafe662f6a3"> 96</a></span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="../../df/df9/struct_s_l_net_1_1_rak_net_statistics.xhtml#a841c90947e8fc8803c394cafe662f6a3">messagesInResendBuffer</a>;</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160;</div>
<div class="line"><a name="l00099"></a><span class="lineno"><a class="code" href="../../df/df9/struct_s_l_net_1_1_rak_net_statistics.xhtml#a1039b4b3b311d10fb1bcaf874647db69"> 99</a></span>&#160; <a class="code" href="../../df/df2/_native_types_8h.xhtml#ad27ed092432b64ff558d2254c278720f">uint64_t</a> <a class="code" href="../../df/df9/struct_s_l_net_1_1_rak_net_statistics.xhtml#a1039b4b3b311d10fb1bcaf874647db69" title="How many bytes are waiting in the resend buffer. See also messagesInResendBuffer.">bytesInResendBuffer</a>;</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160;</div>
<div class="line"><a name="l00102"></a><span class="lineno"><a class="code" href="../../df/df9/struct_s_l_net_1_1_rak_net_statistics.xhtml#a55e10cd5c8932d2ea0d372f723fe6aa5"> 102</a></span>&#160; <span class="keywordtype">float</span> <a class="code" href="../../df/df9/struct_s_l_net_1_1_rak_net_statistics.xhtml#a55e10cd5c8932d2ea0d372f723fe6aa5" title="Over the last second, what was our packetloss? This number will range from 0.0 (for none) to 1...">packetlossLastSecond</a>;</div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;</div>
<div class="line"><a name="l00105"></a><span class="lineno"><a class="code" href="../../df/df9/struct_s_l_net_1_1_rak_net_statistics.xhtml#ae40fb7ab707e4ff5f7284b7d9326cdbe"> 105</a></span>&#160; <span class="keywordtype">float</span> <a class="code" href="../../df/df9/struct_s_l_net_1_1_rak_net_statistics.xhtml#ae40fb7ab707e4ff5f7284b7d9326cdbe" title="What is the average total packetloss over the lifetime of the connection?">packetlossTotal</a>;</div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;</div>
<div class="line"><a name="l00107"></a><span class="lineno"><a class="code" href="../../df/df9/struct_s_l_net_1_1_rak_net_statistics.xhtml#a40ee26d945fe6d4c678941a8e65e4aba"> 107</a></span>&#160; <a class="code" href="../../df/df9/struct_s_l_net_1_1_rak_net_statistics.xhtml" title="Network Statisics Usage.">RakNetStatistics</a>&amp; operator +=(<span class="keyword">const</span> <a class="code" href="../../df/df9/struct_s_l_net_1_1_rak_net_statistics.xhtml" title="Network Statisics Usage.">RakNetStatistics</a>&amp; other)</div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; {</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <span class="keywordtype">unsigned</span> i;</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; <span class="keywordflow">for</span> (i=0; i &lt; <a class="code" href="../../d7/d03/_packet_priority_8h.xhtml#a659378374e516180f93640c79f59705ca619c0d06913ad9d663b086aca30f7cdc">NUMBER_OF_PRIORITIES</a>; i++)</div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; {</div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; messageInSendBuffer[i]+=other.<a class="code" href="../../df/df9/struct_s_l_net_1_1_rak_net_statistics.xhtml#a323892c2900034f24ce18d21fc6171b9" title="For each priority level, how many messages are waiting to be sent out?">messageInSendBuffer</a>[i];</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; bytesInSendBuffer[i]+=other.<a class="code" href="../../df/df9/struct_s_l_net_1_1_rak_net_statistics.xhtml#a4db0171fb99b3d86e127aa1d9df40da5" title="For each priority level, how many bytes are waiting to be sent out?">bytesInSendBuffer</a>[i];</div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; }</div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;</div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <span class="keywordflow">for</span> (i=0; i &lt; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a4957d87c7d01c02ee3365ea01aec40aca766e442d17c52434750d2c2208555237">RNS_PER_SECOND_METRICS_COUNT</a>; i++)</div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; {</div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; valueOverLastSecond[i]+=other.<a class="code" href="../../df/df9/struct_s_l_net_1_1_rak_net_statistics.xhtml#a03467260cbf4685900095af89be748d8" title="For each type in RNSPerSecondMetrics, what is the value over the last 1 second?">valueOverLastSecond</a>[i];</div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; runningTotal[i]+=other.<a class="code" href="../../df/df9/struct_s_l_net_1_1_rak_net_statistics.xhtml#a05edd8f2c1042cecb5cd046ccb47a0f1" title="For each type in RNSPerSecondMetrics, what is the total value over the lifetime of the connection...">runningTotal</a>[i];</div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; }</div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;</div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; }</div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;};</div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;</div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a854e3d51d7a166b75dbc316aadceaf2b">StatisticsToString</a>(RakNetStatistics *s, <span class="keywordtype">char</span> *buffer, <span class="keywordtype">int</span> verbosityLevel);</div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a854e3d51d7a166b75dbc316aadceaf2b">StatisticsToString</a>( RakNetStatistics *s, <span class="keywordtype">char</span> *buffer, <span class="keywordtype">size_t</span> bufferLength, <span class="keywordtype">int</span> verbosityLevel );</div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160;</div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;} <span class="comment">// namespace SLNet</span></div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;</div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160;<span class="preprocessor">#endif</span></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_74389ed8173ad57b461b9d623a1f3867.xhtml">Source</a></li><li class="navelem"><a class="el" href="../../dir_bbb90e3ef9167a594ae33323139a2595.xhtml">include</a></li><li class="navelem"><a class="el" href="../../dir_88467e66686deb9d3756fe4fc298e321.xhtml">slikenet</a></li><li class="navelem"><a class="el" href="../../d7/dc5/statistics_8h.xhtml">statistics.h</a></li>
<li class="footer">Generated on Wed Aug 14 2019 22:09:46 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,123 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>SLikeNet: Source/include/slikenet/defineoverrides.h File Reference</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="../../index.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li class="current"><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../files.xhtml"><span>File&#160;List</span></a></li>
<li><a href="../../globals.xhtml"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('d7/dc9/defineoverrides_8h.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">defineoverrides.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><a href="../../d7/dc9/defineoverrides_8h_source.xhtml">Go to the source code of this file.</a></p>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_74389ed8173ad57b461b9d623a1f3867.xhtml">Source</a></li><li class="navelem"><a class="el" href="../../dir_bbb90e3ef9167a594ae33323139a2595.xhtml">include</a></li><li class="navelem"><a class="el" href="../../dir_88467e66686deb9d3756fe4fc298e321.xhtml">slikenet</a></li><li class="navelem"><a class="el" href="../../d7/dc9/defineoverrides_8h.xhtml">defineoverrides.h</a></li>
<li class="footer">Generated on Wed Aug 14 2019 22:09:48 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,133 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>SLikeNet: Source/include/slikenet/defineoverrides.h Source File</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="../../index.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li class="current"><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../files.xhtml"><span>File&#160;List</span></a></li>
<li><a href="../../globals.xhtml"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('d7/dc9/defineoverrides_8h_source.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">defineoverrides.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="../../d7/dc9/defineoverrides_8h.xhtml">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> * Copyright (c) 2014, Oculus VR, Inc.</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> * All rights reserved.</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> * This source code is licensed under the BSD-style license found in the</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> * RakNet License.txt file in the licenses directory of this source tree. An additional grant </span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> * of patent rights can be found in the RakNet Patents.txt file in the same directory.</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;</div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment">// USER EDITABLE FILE</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;</div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_74389ed8173ad57b461b9d623a1f3867.xhtml">Source</a></li><li class="navelem"><a class="el" href="../../dir_bbb90e3ef9167a594ae33323139a2595.xhtml">include</a></li><li class="navelem"><a class="el" href="../../dir_88467e66686deb9d3756fe4fc298e321.xhtml">slikenet</a></li><li class="navelem"><a class="el" href="../../d7/dc9/defineoverrides_8h.xhtml">defineoverrides.h</a></li>
<li class="footer">Generated on Wed Aug 14 2019 22:09:46 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,131 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>SLikeNet: Source/src/StringTable.cpp File Reference</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="../../index.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li class="current"><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../files.xhtml"><span>File&#160;List</span></a></li>
<li><a href="../../globals.xhtml"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('d7/dcf/_string_table_8cpp.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">StringTable.cpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &quot;<a class="el" href="../../d3/d0e/_string_table_8h_source.xhtml">slikenet/StringTable.h</a>&quot;</code><br/>
<code>#include &lt;<a class="el" href="../../da/d66/string_8h_source.xhtml">string.h</a>&gt;</code><br/>
<code>#include &quot;<a class="el" href="../../dc/da7/assert_8h_source.xhtml">slikenet/assert.h</a>&quot;</code><br/>
<code>#include &lt;stdio.h&gt;</code><br/>
<code>#include &quot;<a class="el" href="../../d7/dc3/_bit_stream_8h_source.xhtml">slikenet/BitStream.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../df/d78/_string_compressor_8h_source.xhtml">slikenet/StringCompressor.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../d7/db2/linux__adapter_8h_source.xhtml">slikenet/linux_adapter.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../da/dff/osx__adapter_8h_source.xhtml">slikenet/osx_adapter.h</a>&quot;</code><br/>
</div>
<p><a href="../../d7/dcf/_string_table_8cpp_source.xhtml">Go to the source code of this file.</a></p>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_74389ed8173ad57b461b9d623a1f3867.xhtml">Source</a></li><li class="navelem"><a class="el" href="../../dir_d1eb22c2ecfd8b50f59e9cbaf8260105.xhtml">src</a></li><li class="navelem"><a class="el" href="../../d7/dcf/_string_table_8cpp.xhtml">StringTable.cpp</a></li>
<li class="footer">Generated on Wed Aug 14 2019 22:09:48 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,278 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>SLikeNet: Source/src/StringTable.cpp Source File</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="../../index.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li class="current"><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../files.xhtml"><span>File&#160;List</span></a></li>
<li><a href="../../globals.xhtml"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('d7/dcf/_string_table_8cpp_source.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">StringTable.cpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="../../d7/dcf/_string_table_8cpp.xhtml">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> * Original work: Copyright (c) 2014, Oculus VR, Inc.</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> * All rights reserved.</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> * This source code is licensed under the BSD-style license found in the</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> * RakNet License.txt file in the licenses directory of this source tree. An additional grant </span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> * of patent rights can be found in the RakNet Patents.txt file in the same directory.</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment"> * Modified work: Copyright (c) 2016-2017, SLikeSoft UG (haftungsbeschränkt)</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> * This source code was modified by SLikeSoft. Modifications are licensed under the MIT-style</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> * license found in the license.txt file in the root directory of this source tree.</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;</div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../d3/d0e/_string_table_8h.xhtml" title="A simple class to encode and decode known strings based on a lookup table. Similar to the StringCompr...">slikenet/StringTable.h</a>&quot;</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="../../da/d66/string_8h.xhtml">string.h</a>&gt;</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../dc/da7/assert_8h.xhtml">slikenet/assert.h</a>&quot;</span></div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="preprocessor">#include &lt;stdio.h&gt;</span></div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../d7/dc3/_bit_stream_8h.xhtml" title="This class allows you to write and read native types as a string of bits.">slikenet/BitStream.h</a>&quot;</span></div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../df/d78/_string_compressor_8h.xhtml" title="Compresses/Decompresses ASCII strings and writes/reads them to BitStream class instances. You can use this to easily serialize and deserialize your own strings.">slikenet/StringCompressor.h</a>&quot;</span></div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../d7/db2/linux__adapter_8h.xhtml">slikenet/linux_adapter.h</a>&quot;</span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../da/dff/osx__adapter_8h.xhtml">slikenet/osx_adapter.h</a>&quot;</span></div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="keyword">using namespace </span>SLNet;</div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;</div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<a class="code" href="../../d9/d49/class_s_l_net_1_1_string_table.xhtml" title="Writes a string index, instead of the whole string.">StringTable</a>* <a class="code" href="../../d9/d49/class_s_l_net_1_1_string_table.xhtml#a0ee1c91fdca2c5f4c8657dd4cc4e03ad" title="Singleton instance.">StringTable::instance</a>=0;</div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="keywordtype">int</span> <a class="code" href="../../d9/d49/class_s_l_net_1_1_string_table.xhtml#aa32ce681913860538db4099e86bb5ff8">StringTable::referenceCount</a>=0;</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;</div>
<div class="line"><a name="l00030"></a><span class="lineno"><a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a981e5820a4f85efc5ce11e6088a47e0f"> 30</a></span>&#160;<span class="keywordtype">int</span> <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a981e5820a4f85efc5ce11e6088a47e0f">SLNet::StrAndBoolComp</a>( <span class="keywordtype">char</span> *<span class="keyword">const</span> &amp;key, <span class="keyword">const</span> <a class="code" href="../../d3/d0e/_string_table_8h.xhtml#da/dc7/struct_str_and_bool" title="The string plus a bool telling us if this string was copied or not.">StrAndBool</a> &amp;data )</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;{</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160; <span class="keywordflow">return</span> strcmp(key,(<span class="keyword">const</span> <span class="keywordtype">char</span>*)data.<a class="code" href="../../d3/d0e/_string_table_8h.xhtml#a505ed8946b9eea32c1aaaed4fb8ff1ef">str</a>);</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;}</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;</div>
<div class="line"><a name="l00035"></a><span class="lineno"><a class="code" href="../../d9/d49/class_s_l_net_1_1_string_table.xhtml#a0e18ab7bcd59dfc3e2ac78b85a60e659"> 35</a></span>&#160;<a class="code" href="../../d9/d49/class_s_l_net_1_1_string_table.xhtml#a0e18ab7bcd59dfc3e2ac78b85a60e659" title="Private Constructor.">StringTable::StringTable</a>()</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;{</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; </div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;}</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;</div>
<div class="line"><a name="l00040"></a><span class="lineno"><a class="code" href="../../d9/d49/class_s_l_net_1_1_string_table.xhtml#a1772239d39a3e9c1a190774d827c276a"> 40</a></span>&#160;<a class="code" href="../../d9/d49/class_s_l_net_1_1_string_table.xhtml#a1772239d39a3e9c1a190774d827c276a">StringTable::~StringTable</a>()</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;{</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; <span class="keywordtype">unsigned</span> i;</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; <span class="keywordflow">for</span> (i=0; i &lt; <a class="code" href="../../d9/d49/class_s_l_net_1_1_string_table.xhtml#a97b8695ff09609662de488660a993071">orderedStringList</a>.<a class="code" href="../../da/dfc/class_data_structures_1_1_ordered_list.xhtml#ad64cf6af46df6a5e68747740ee2c1fec">Size</a>(); i++)</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; {</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="../../d9/d49/class_s_l_net_1_1_string_table.xhtml#a97b8695ff09609662de488660a993071">orderedStringList</a>[i].b)</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; <a class="code" href="../../d9/d4c/_rak_memory_override_8cpp.xhtml#ab91fbe0570bf501cd97a53c6cffcef8f">rakFree_Ex</a>(<a class="code" href="../../d9/d49/class_s_l_net_1_1_string_table.xhtml#a97b8695ff09609662de488660a993071">orderedStringList</a>[i].str, <a class="code" href="../../d8/db0/defines_8h.xhtml#a8661ec2137eef33a8cd0cd618a748871">_FILE_AND_LINE_</a> );</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; }</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;}</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;</div>
<div class="line"><a name="l00050"></a><span class="lineno"><a class="code" href="../../d9/d49/class_s_l_net_1_1_string_table.xhtml#a419a84cb6af498ea958ed7996b7a67be"> 50</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../d9/d49/class_s_l_net_1_1_string_table.xhtml#a419a84cb6af498ea958ed7996b7a67be" title="Used so I can allocate and deallocate this singleton at runtime.">StringTable::AddReference</a>(<span class="keywordtype">void</span>)</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;{</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; <span class="keywordflow">if</span> (++<a class="code" href="../../d9/d49/class_s_l_net_1_1_string_table.xhtml#aa32ce681913860538db4099e86bb5ff8">referenceCount</a>==1)</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; {</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <a class="code" href="../../d9/d49/class_s_l_net_1_1_string_table.xhtml#a0ee1c91fdca2c5f4c8657dd4cc4e03ad" title="Singleton instance.">instance</a> = SLNet::OP_NEW&lt;StringTable&gt;( <a class="code" href="../../d8/db0/defines_8h.xhtml#a8661ec2137eef33a8cd0cd618a748871">_FILE_AND_LINE_</a> );</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; }</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;}</div>
<div class="line"><a name="l00057"></a><span class="lineno"><a class="code" href="../../d9/d49/class_s_l_net_1_1_string_table.xhtml#abf88fc8afa1e79e105110cebd2c81b72"> 57</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../d9/d49/class_s_l_net_1_1_string_table.xhtml#abf88fc8afa1e79e105110cebd2c81b72" title="Used so I can allocate and deallocate this singleton at runtime.">StringTable::RemoveReference</a>(<span class="keywordtype">void</span>)</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;{</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <a class="code" href="../../d8/db0/defines_8h.xhtml#afaa3647d29f5960651eb23fd3d2b5368">RakAssert</a>(<a class="code" href="../../d9/d49/class_s_l_net_1_1_string_table.xhtml#aa32ce681913860538db4099e86bb5ff8">referenceCount</a> &gt; 0);</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="../../d9/d49/class_s_l_net_1_1_string_table.xhtml#aa32ce681913860538db4099e86bb5ff8">referenceCount</a> &gt; 0)</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; {</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; <span class="keywordflow">if</span> (--<a class="code" href="../../d9/d49/class_s_l_net_1_1_string_table.xhtml#aa32ce681913860538db4099e86bb5ff8">referenceCount</a>==0)</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; {</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a79772d09451f784e87bec85694fad1ed">SLNet::OP_DELETE</a>(<a class="code" href="../../d9/d49/class_s_l_net_1_1_string_table.xhtml#a0ee1c91fdca2c5f4c8657dd4cc4e03ad" title="Singleton instance.">instance</a>, <a class="code" href="../../d8/db0/defines_8h.xhtml#a8661ec2137eef33a8cd0cd618a748871">_FILE_AND_LINE_</a>);</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <a class="code" href="../../d9/d49/class_s_l_net_1_1_string_table.xhtml#a0ee1c91fdca2c5f4c8657dd4cc4e03ad" title="Singleton instance.">instance</a>=0;</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; }</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; }</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;}</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;</div>
<div class="line"><a name="l00071"></a><span class="lineno"><a class="code" href="../../d9/d49/class_s_l_net_1_1_string_table.xhtml#a79ffc00fb29db388489a982a0f39a7be"> 71</a></span>&#160;<a class="code" href="../../d9/d49/class_s_l_net_1_1_string_table.xhtml" title="Writes a string index, instead of the whole string.">StringTable</a>* <a class="code" href="../../d9/d49/class_s_l_net_1_1_string_table.xhtml#a79ffc00fb29db388489a982a0f39a7be">StringTable::Instance</a>(<span class="keywordtype">void</span>)</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;{</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <span class="keywordflow">return</span> <a class="code" href="../../d9/d49/class_s_l_net_1_1_string_table.xhtml#a0ee1c91fdca2c5f4c8657dd4cc4e03ad" title="Singleton instance.">instance</a>;</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;}</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;</div>
<div class="line"><a name="l00076"></a><span class="lineno"><a class="code" href="../../d9/d49/class_s_l_net_1_1_string_table.xhtml#abd93f02e3cb08103e0f2c03c04255d90"> 76</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../d9/d49/class_s_l_net_1_1_string_table.xhtml#abd93f02e3cb08103e0f2c03c04255d90">StringTable::AddString</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *str, <span class="keywordtype">bool</span> copyString)</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160;{</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <a class="code" href="../../d3/d0e/_string_table_8h.xhtml#da/dc7/struct_str_and_bool" title="The string plus a bool telling us if this string was copied or not.">StrAndBool</a> sab;</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; sab.<a class="code" href="../../d3/d0e/_string_table_8h.xhtml#a955d8e0dff56301af84faf72239ab6d8">b</a>=copyString;</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <span class="keywordflow">if</span> (copyString)</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; {</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; sab.<a class="code" href="../../d3/d0e/_string_table_8h.xhtml#a505ed8946b9eea32c1aaaed4fb8ff1ef">str</a> = (<span class="keywordtype">char</span>*) <a class="code" href="../../d9/d4c/_rak_memory_override_8cpp.xhtml#aebeb2e4754399ea3e2c7af3dd9bbe8c3">rakMalloc_Ex</a>( strlen(str)+1, <a class="code" href="../../d8/db0/defines_8h.xhtml#a8661ec2137eef33a8cd0cd618a748871">_FILE_AND_LINE_</a> );</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; strcpy_s(sab.<a class="code" href="../../d3/d0e/_string_table_8h.xhtml#a505ed8946b9eea32c1aaaed4fb8ff1ef">str</a>, strlen(str)+1, str);</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; }</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; {</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; sab.<a class="code" href="../../d3/d0e/_string_table_8h.xhtml#a505ed8946b9eea32c1aaaed4fb8ff1ef">str</a>=(<span class="keywordtype">char</span>*)str;</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; }</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <span class="comment">// If it asserts inside here you are adding duplicate strings.</span></div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; <a class="code" href="../../d9/d49/class_s_l_net_1_1_string_table.xhtml#a97b8695ff09609662de488660a993071">orderedStringList</a>.<a class="code" href="../../da/dfc/class_data_structures_1_1_ordered_list.xhtml#a30d44cd52bdb782478472a95cc5a4b0a">Insert</a>(sab.<a class="code" href="../../d3/d0e/_string_table_8h.xhtml#a505ed8946b9eea32c1aaaed4fb8ff1ef">str</a>,sab, <span class="keyword">true</span>, <a class="code" href="../../d8/db0/defines_8h.xhtml#a8661ec2137eef33a8cd0cd618a748871">_FILE_AND_LINE_</a>);</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160;</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <span class="comment">// If this assert hits you need to increase the range of StringTableType</span></div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <a class="code" href="../../d8/db0/defines_8h.xhtml#afaa3647d29f5960651eb23fd3d2b5368">RakAssert</a>(<a class="code" href="../../d9/d49/class_s_l_net_1_1_string_table.xhtml#a97b8695ff09609662de488660a993071">orderedStringList</a>.<a class="code" href="../../da/dfc/class_data_structures_1_1_ordered_list.xhtml#ad64cf6af46df6a5e68747740ee2c1fec">Size</a>() &lt; (<a class="code" href="../../d3/d0e/_string_table_8h.xhtml#a73364e8792199e225e97aae3ac75633b" title="StringTableType should be the smallest type possible, or else it defeats the purpose of the StringTab...">StringTableType</a>)-1); </div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; </div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160;}</div>
<div class="line"><a name="l00097"></a><span class="lineno"><a class="code" href="../../d9/d49/class_s_l_net_1_1_string_table.xhtml#a37fbc7bcc37c1fff0f41b52ad3c18135"> 97</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../d9/d49/class_s_l_net_1_1_string_table.xhtml#a37fbc7bcc37c1fff0f41b52ad3c18135">StringTable::EncodeString</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> *input, <span class="keywordtype">int</span> maxCharsToWrite, <a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a> *output )</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160;{</div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; <span class="keywordtype">unsigned</span> index;</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <span class="keywordtype">bool</span> objectExists;</div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; <span class="comment">// This is fast because the list is kept ordered.</span></div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; index=<a class="code" href="../../d9/d49/class_s_l_net_1_1_string_table.xhtml#a97b8695ff09609662de488660a993071">orderedStringList</a>.<a class="code" href="../../da/dfc/class_data_structures_1_1_ordered_list.xhtml#a54b7abdd81f650f9d1755a4fd56b1aaa">GetIndexFromKey</a>((<span class="keywordtype">char</span>*)input, &amp;objectExists);</div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; <span class="keywordflow">if</span> (objectExists)</div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; {</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; output-&gt;<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a2d1187ee508dc9d231d27aed1867d201" title="Write any integral type to a bitstream.">Write</a>(<span class="keyword">true</span>);</div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; output-&gt;<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a2d1187ee508dc9d231d27aed1867d201" title="Write any integral type to a bitstream.">Write</a>((<a class="code" href="../../d3/d0e/_string_table_8h.xhtml#a73364e8792199e225e97aae3ac75633b" title="StringTableType should be the smallest type possible, or else it defeats the purpose of the StringTab...">StringTableType</a>)index);</div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; }</div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; {</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; <a class="code" href="../../d9/d49/class_s_l_net_1_1_string_table.xhtml#a228146b55c10117ff2311fc860f89147">LogStringNotFound</a>(input);</div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; output-&gt;<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a2d1187ee508dc9d231d27aed1867d201" title="Write any integral type to a bitstream.">Write</a>(<span class="keyword">false</span>);</div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <a class="code" href="../../de/d3d/class_s_l_net_1_1_string_compressor.xhtml#acbd6add1c51c15fbbb616ce17b527aab">StringCompressor::Instance</a>()-&gt;<a class="code" href="../../de/d3d/class_s_l_net_1_1_string_compressor.xhtml#a44be8cc8a469a28085a7502650040459">EncodeString</a>(input, maxCharsToWrite, output);</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; }</div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;}</div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;</div>
<div class="line"><a name="l00116"></a><span class="lineno"><a class="code" href="../../d9/d49/class_s_l_net_1_1_string_table.xhtml#ae53f3af04d00b77d862c3cfaa6d009fd"> 116</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="../../d9/d49/class_s_l_net_1_1_string_table.xhtml#ae53f3af04d00b77d862c3cfaa6d009fd">StringTable::DecodeString</a>( <span class="keywordtype">char</span> *output, <span class="keywordtype">int</span> maxCharsToWrite, <a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a> *input )</div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;{</div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <span class="keywordtype">bool</span> hasIndex=<span class="keyword">false</span>;</div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <a class="code" href="../../d8/db0/defines_8h.xhtml#afaa3647d29f5960651eb23fd3d2b5368">RakAssert</a>(maxCharsToWrite&gt;0);</div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;</div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <span class="keywordflow">if</span> (maxCharsToWrite==0)</div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; <span class="keywordflow">if</span> (!input-&gt;<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a59f38126d8d19bfd264a2e2cace7d1db" title="Read any integral type from a bitstream.">Read</a>(hasIndex))</div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <span class="keywordflow">if</span> (hasIndex==<span class="keyword">false</span>)</div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; {</div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <a class="code" href="../../de/d3d/class_s_l_net_1_1_string_compressor.xhtml#acbd6add1c51c15fbbb616ce17b527aab">StringCompressor::Instance</a>()-&gt;<a class="code" href="../../de/d3d/class_s_l_net_1_1_string_compressor.xhtml#a5ff01d168653fbd47d917e7ffd3675cd">DecodeString</a>(output, maxCharsToWrite, input);</div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; }</div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; {</div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; <a class="code" href="../../d3/d0e/_string_table_8h.xhtml#a73364e8792199e225e97aae3ac75633b" title="StringTableType should be the smallest type possible, or else it defeats the purpose of the StringTab...">StringTableType</a> index;</div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; <span class="keywordflow">if</span> (!input-&gt;<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a59f38126d8d19bfd264a2e2cace7d1db" title="Read any integral type from a bitstream.">Read</a>(index))</div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; <span class="keywordflow">if</span> (index &gt;= <a class="code" href="../../d9/d49/class_s_l_net_1_1_string_table.xhtml#a97b8695ff09609662de488660a993071">orderedStringList</a>.<a class="code" href="../../da/dfc/class_data_structures_1_1_ordered_list.xhtml#ad64cf6af46df6a5e68747740ee2c1fec">Size</a>())</div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; {</div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;<span class="preprocessor">#ifdef _DEBUG</span></div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160;<span class="preprocessor"></span> <span class="comment">// Critical error - got a string index out of range, which means AddString was called more times on the remote system than on this system.</span></div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; <span class="comment">// All systems must call AddString the same number of types, with the same strings in the same order.</span></div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; <a class="code" href="../../d8/db0/defines_8h.xhtml#afaa3647d29f5960651eb23fd3d2b5368">RakAssert</a>(0);</div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160;<span class="preprocessor"></span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; }</div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; </div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; strncpy_s(output, maxCharsToWrite, <a class="code" href="../../d9/d49/class_s_l_net_1_1_string_table.xhtml#a97b8695ff09609662de488660a993071">orderedStringList</a>[index].str, maxCharsToWrite);</div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; output[maxCharsToWrite-1]=0;</div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; }</div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160;</div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160;}</div>
<div class="line"><a name="l00150"></a><span class="lineno"><a class="code" href="../../d9/d49/class_s_l_net_1_1_string_table.xhtml#a228146b55c10117ff2311fc860f89147"> 150</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../d9/d49/class_s_l_net_1_1_string_table.xhtml#a228146b55c10117ff2311fc860f89147">StringTable::LogStringNotFound</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *strName)</div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;{</div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; (void) strName;</div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;</div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;<span class="preprocessor">#ifdef _DEBUG</span></div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;<span class="preprocessor"></span> <a class="code" href="../../d8/db0/defines_8h.xhtml#a2a5d867f7ae6521f217847a78f17ab4a">RAKNET_DEBUG_PRINTF</a>(<span class="stringliteral">&quot;Efficiency Warning! Unregistered String %s sent to StringTable.\n&quot;</span>, strName);</div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160;<span class="preprocessor"></span>}</div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_74389ed8173ad57b461b9d623a1f3867.xhtml">Source</a></li><li class="navelem"><a class="el" href="../../dir_d1eb22c2ecfd8b50f59e9cbaf8260105.xhtml">src</a></li><li class="navelem"><a class="el" href="../../d7/dcf/_string_table_8cpp.xhtml">StringTable.cpp</a></li>
<li class="footer">Generated on Wed Aug 14 2019 22:09:48 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,129 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>SLikeNet: Member List</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="../../index.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li class="current"><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../annotated.xhtml"><span>Class&#160;List</span></a></li>
<li><a href="../../classes.xhtml"><span>Class&#160;Index</span></a></li>
<li><a href="../../inherits.xhtml"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="../../functions.xhtml"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('d2/d79/class_s_l_net_1_1_r_p_c4_global_registration.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">SLNet::RPC4GlobalRegistration Member List</div> </div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="../../d2/d79/class_s_l_net_1_1_r_p_c4_global_registration.xhtml">SLNet::RPC4GlobalRegistration</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="../../d2/d79/class_s_l_net_1_1_r_p_c4_global_registration.xhtml#abd4f3d9e62dcd92bb9e9c19d970d5fab">RPC4GlobalRegistration</a>(const char *uniqueID, void(*functionPointer)(SLNet::BitStream *userData, Packet *packet))</td><td class="entry"><a class="el" href="../../d2/d79/class_s_l_net_1_1_r_p_c4_global_registration.xhtml">SLNet::RPC4GlobalRegistration</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d2/d79/class_s_l_net_1_1_r_p_c4_global_registration.xhtml#a9262d596aa237facefe28ad92463426e">RPC4GlobalRegistration</a>(const char *uniqueID, void(*functionPointer)(SLNet::BitStream *userData, Packet *packet), int callPriority)</td><td class="entry"><a class="el" href="../../d2/d79/class_s_l_net_1_1_r_p_c4_global_registration.xhtml">SLNet::RPC4GlobalRegistration</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d2/d79/class_s_l_net_1_1_r_p_c4_global_registration.xhtml#a577c78b58cd33eca29b56a9bb0fce05d">RPC4GlobalRegistration</a>(const char *uniqueID, void(*functionPointer)(SLNet::BitStream *userData, SLNet::BitStream *returnData, Packet *packet))</td><td class="entry"><a class="el" href="../../d2/d79/class_s_l_net_1_1_r_p_c4_global_registration.xhtml">SLNet::RPC4GlobalRegistration</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d2/d79/class_s_l_net_1_1_r_p_c4_global_registration.xhtml#a912b87e37ffdd7abca73a53291e135b7">RPC4GlobalRegistration</a>(const char *uniqueID, MessageID messageId)</td><td class="entry"><a class="el" href="../../d2/d79/class_s_l_net_1_1_r_p_c4_global_registration.xhtml">SLNet::RPC4GlobalRegistration</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated on Wed Aug 14 2019 22:09:50 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,61 @@
var group___r_e_a_d_y___e_v_e_n_t___g_r_o_u_p =
[
[ "ReadyEvent", "d7/dda/group___r_e_a_d_y___e_v_e_n_t___g_r_o_u_p.xhtml#d6/dad/class_s_l_net_1_1_ready_event", [
[ "ReadyEvent", "d7/dda/group___r_e_a_d_y___e_v_e_n_t___g_r_o_u_p.xhtml#af61f5df2c4511d69ae206cf095622a68", null ],
[ "~ReadyEvent", "d7/dda/group___r_e_a_d_y___e_v_e_n_t___g_r_o_u_p.xhtml#ab345ac9a2b93a5b3519ca8c480e2a1fb", null ],
[ "AddToWaitList", "d7/dda/group___r_e_a_d_y___e_v_e_n_t___g_r_o_u_p.xhtml#a275d2410466836f6b8813516d74685fe", null ],
[ "AddToWaitListInternal", "d7/dda/group___r_e_a_d_y___e_v_e_n_t___g_r_o_u_p.xhtml#a05ea6afb0d98bd398c10742ceb573a20", null ],
[ "BroadcastReadyUpdate", "d7/dda/group___r_e_a_d_y___e_v_e_n_t___g_r_o_u_p.xhtml#ae8e55b1a8f0c066d26b267daeaa4c12b", null ],
[ "Clear", "d7/dda/group___r_e_a_d_y___e_v_e_n_t___g_r_o_u_p.xhtml#a7359206213a9be60e454fca34e84fb35", null ],
[ "CreateNewEvent", "d7/dda/group___r_e_a_d_y___e_v_e_n_t___g_r_o_u_p.xhtml#a8ce0b09d6a859b8b945855884fff36fc", null ],
[ "DeleteEvent", "d7/dda/group___r_e_a_d_y___e_v_e_n_t___g_r_o_u_p.xhtml#a384acd813e76ca7a8dbcb071bbbb505c", null ],
[ "ForceCompletion", "d7/dda/group___r_e_a_d_y___e_v_e_n_t___g_r_o_u_p.xhtml#a746e2177f3be2ab4c69ca7fa449e8622", null ],
[ "GetEventAtIndex", "d7/dda/group___r_e_a_d_y___e_v_e_n_t___g_r_o_u_p.xhtml#a6c1553b33383a15e35ac672f7f468d23", null ],
[ "GetEventListSize", "d7/dda/group___r_e_a_d_y___e_v_e_n_t___g_r_o_u_p.xhtml#abcef0da487467377b77d67154f57bb7f", null ],
[ "GetFromWaitListAtIndex", "d7/dda/group___r_e_a_d_y___e_v_e_n_t___g_r_o_u_p.xhtml#ae9a8364cf00b7d8f23cd24dc0db59e9e", null ],
[ "GetReadyStatus", "d7/dda/group___r_e_a_d_y___e_v_e_n_t___g_r_o_u_p.xhtml#a87c0c5353ba4fd722045d83a8f2a4bcd", null ],
[ "GetRemoteWaitListSize", "d7/dda/group___r_e_a_d_y___e_v_e_n_t___g_r_o_u_p.xhtml#a6bc98e161c058b0d80d46a9868877fbe", null ],
[ "HasEvent", "d7/dda/group___r_e_a_d_y___e_v_e_n_t___g_r_o_u_p.xhtml#aa30099b01f19c451ab060880793ba633", null ],
[ "IsEventCompleted", "d7/dda/group___r_e_a_d_y___e_v_e_n_t___g_r_o_u_p.xhtml#a0298a5081e8ca04963829444de6e2826", null ],
[ "IsEventCompletedByIndex", "d7/dda/group___r_e_a_d_y___e_v_e_n_t___g_r_o_u_p.xhtml#a94ad227c7d04af32364b6ad08e866d4b", null ],
[ "IsEventCompletionProcessing", "d7/dda/group___r_e_a_d_y___e_v_e_n_t___g_r_o_u_p.xhtml#a00954c2c9d4a9fb37333e69db6819c53", null ],
[ "IsEventSet", "d7/dda/group___r_e_a_d_y___e_v_e_n_t___g_r_o_u_p.xhtml#acbd213ac47e2ecd97858f61edd72cef2", null ],
[ "IsInWaitList", "d7/dda/group___r_e_a_d_y___e_v_e_n_t___g_r_o_u_p.xhtml#a44015b21ebac500ea8be4903c0cdfc26", null ],
[ "OnClosedConnection", "d7/dda/group___r_e_a_d_y___e_v_e_n_t___g_r_o_u_p.xhtml#a3998f6b91c14c2c6f060cc6fbbb96487", null ],
[ "OnRakPeerShutdown", "d7/dda/group___r_e_a_d_y___e_v_e_n_t___g_r_o_u_p.xhtml#aebe72a6c1e27be5bdd0551b275865713", null ],
[ "OnReadyEventForceAllSet", "d7/dda/group___r_e_a_d_y___e_v_e_n_t___g_r_o_u_p.xhtml#aa9946147819e1398393804d8db7c8f0d", null ],
[ "OnReadyEventPacketUpdate", "d7/dda/group___r_e_a_d_y___e_v_e_n_t___g_r_o_u_p.xhtml#a3dcbc108af9a46c597e0ca0725dd400a", null ],
[ "OnReadyEventQuery", "d7/dda/group___r_e_a_d_y___e_v_e_n_t___g_r_o_u_p.xhtml#a7f3ae9ab621884fea9ce591edb642ee8", null ],
[ "OnReceive", "d7/dda/group___r_e_a_d_y___e_v_e_n_t___g_r_o_u_p.xhtml#a9e4aa7e7e2bbd066e9615a604cb0acca", null ],
[ "PushCompletionPacket", "d7/dda/group___r_e_a_d_y___e_v_e_n_t___g_r_o_u_p.xhtml#aba5a147211b9ef2ea3ae1e4d19bfaed7", null ],
[ "ReadyEventNodeComp", "d7/dda/group___r_e_a_d_y___e_v_e_n_t___g_r_o_u_p.xhtml#a489db7126d488ba04bda51fe4c85d12b", null ],
[ "RemoteSystemCompByGuid", "d7/dda/group___r_e_a_d_y___e_v_e_n_t___g_r_o_u_p.xhtml#a1dde46e4ce4199ddf10707df8f317f2f", null ],
[ "RemoveFromAllLists", "d7/dda/group___r_e_a_d_y___e_v_e_n_t___g_r_o_u_p.xhtml#a2e3330f0989ea0b3444e3897322bbfee", null ],
[ "RemoveFromWaitList", "d7/dda/group___r_e_a_d_y___e_v_e_n_t___g_r_o_u_p.xhtml#a257c91155d85d71fb9a23a5cfe6e62c1", null ],
[ "SendReadyStateQuery", "d7/dda/group___r_e_a_d_y___e_v_e_n_t___g_r_o_u_p.xhtml#a4a2dd2c97fcd6444a81ab09192f0d92a", null ],
[ "SendReadyUpdate", "d7/dda/group___r_e_a_d_y___e_v_e_n_t___g_r_o_u_p.xhtml#a8bb948222d68e75a9b870593a9edcc21", null ],
[ "SetEvent", "d7/dda/group___r_e_a_d_y___e_v_e_n_t___g_r_o_u_p.xhtml#a6e01579dd142ff74b7196bce2811270d", null ],
[ "SetEventByIndex", "d7/dda/group___r_e_a_d_y___e_v_e_n_t___g_r_o_u_p.xhtml#a6e614fb2c0633116f2dd746f25a52f71", null ],
[ "SetSendChannel", "d7/dda/group___r_e_a_d_y___e_v_e_n_t___g_r_o_u_p.xhtml#a90ceb0a8c7aae3bb7ff889889c5e9d37", null ],
[ "UpdateReadyStatus", "d7/dda/group___r_e_a_d_y___e_v_e_n_t___g_r_o_u_p.xhtml#a7b6ad75b0602bbce1b100c197263357f", null ],
[ "channel", "d7/dda/group___r_e_a_d_y___e_v_e_n_t___g_r_o_u_p.xhtml#a07c3738a3a5c6a2a9e91f23dbf958317", null ],
[ "readyEventNodeList", "d7/dda/group___r_e_a_d_y___e_v_e_n_t___g_r_o_u_p.xhtml#af249d18a3d8693986492875a81a6f81d", null ]
] ],
[ "ReadyEventNode", "d7/dda/group___r_e_a_d_y___e_v_e_n_t___g_r_o_u_p.xhtml#d5/d98/struct_s_l_net_1_1_ready_event_1_1_ready_event_node", [
[ "eventId", "d7/dda/group___r_e_a_d_y___e_v_e_n_t___g_r_o_u_p.xhtml#aa32b27837bea68e15c4cc93d857da7f4", null ],
[ "eventStatus", "d7/dda/group___r_e_a_d_y___e_v_e_n_t___g_r_o_u_p.xhtml#a676256bd38613007f9c634628cd39313", null ],
[ "systemList", "d7/dda/group___r_e_a_d_y___e_v_e_n_t___g_r_o_u_p.xhtml#a2c9d1f93c055061d69e36bf57996d357", null ]
] ],
[ "RemoteSystem", "d7/dda/group___r_e_a_d_y___e_v_e_n_t___g_r_o_u_p.xhtml#d1/d2d/struct_s_l_net_1_1_ready_event_1_1_remote_system", [
[ "lastReceivedStatus", "d7/dda/group___r_e_a_d_y___e_v_e_n_t___g_r_o_u_p.xhtml#a1d9cc8c2f059007dfa4d43563115b901", null ],
[ "lastSentStatus", "d7/dda/group___r_e_a_d_y___e_v_e_n_t___g_r_o_u_p.xhtml#acdd2e0104f5b38f18f8ae0310b57b0d0", null ],
[ "rakNetGuid", "d7/dda/group___r_e_a_d_y___e_v_e_n_t___g_r_o_u_p.xhtml#a0d63cbf5f232e15f00ad8639073197f7", null ]
] ],
[ "ReadyEventSystemStatus", "d7/dda/group___r_e_a_d_y___e_v_e_n_t___g_r_o_u_p.xhtml#ga1d04a0c6284e814a187e5d337ba4760b", [
[ "RES_NOT_WAITING", "d7/dda/group___r_e_a_d_y___e_v_e_n_t___g_r_o_u_p.xhtml#gga1d04a0c6284e814a187e5d337ba4760ba65b805617ce26f98c83f9f01f2b7776e", null ],
[ "RES_WAITING", "d7/dda/group___r_e_a_d_y___e_v_e_n_t___g_r_o_u_p.xhtml#gga1d04a0c6284e814a187e5d337ba4760ba8cdc766b5ca3ef985b0ce1472e86b04d", null ],
[ "RES_READY", "d7/dda/group___r_e_a_d_y___e_v_e_n_t___g_r_o_u_p.xhtml#gga1d04a0c6284e814a187e5d337ba4760baf1de8b9e87701bdc1eae68cb167e0908", null ],
[ "RES_ALL_READY", "d7/dda/group___r_e_a_d_y___e_v_e_n_t___g_r_o_u_p.xhtml#gga1d04a0c6284e814a187e5d337ba4760bafec669ec341fcfbf449048e9938c6a36", null ],
[ "RES_UNKNOWN_EVENT", "d7/dda/group___r_e_a_d_y___e_v_e_n_t___g_r_o_u_p.xhtml#gga1d04a0c6284e814a187e5d337ba4760ba1d9a96d979d6772586ac327d0115cd44", null ]
] ]
];

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,3 @@
<map id="SLNet::TCPInterface" name="SLNet::TCPInterface">
<area shape="rect" id="node2" href="$d6/d05/class_s_l_net_1_1_packetized_t_c_p.xhtml" title="{SLNet::PacketizedTCP\n|# waitingPackets\l# connections\l# _newIncomingConnections\l# _lostConnections\l# _failedConnectionAttempts\l# _completedConnectionAttempts\l|+ PacketizedTCP()\l+ ~PacketizedTCP()\l+ Stop()\l+ Send()\l+ SendList()\l+ Receive()\l+ CloseConnection()\l+ HasCompletedConnectionAttempt()\l+ HasFailedConnectionAttempt()\l+ HasNewIncomingConnection()\l+ HasLostConnection()\l# ClearAllConnections()\l# RemoveFromConnectionList()\l# AddToConnectionList()\l# PushNotificationsToQueues()\l# ReturnOutgoingPacket()\l}" alt="" coords="5,497,244,868"/>
</map>

View File

@ -0,0 +1 @@
35a7584919f8154683c7c9e698d0368c

View File

@ -0,0 +1,157 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.38.0 (20140413.2041)
-->
<!-- Title: SLNet::TCPInterface Pages: 1 -->
<!--zoomable 655 -->
<svg id="main" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" onload="init(evt)">
<defs>
<circle id="rim" cx="0" cy="0" r="7"/>
<circle id="rim2" cx="0" cy="0" r="3.5"/>
<g id="zoomPlus">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="zoomplus.mouseover" end="zoomplus.mouseout"/>
</use>
<path d="M-4,0h8M0,-4v8" fill="none" stroke="white" stroke-width="1.5" pointer-events="none"/>
</g>
<g id="zoomMin">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="zoomminus.mouseover" end="zoomminus.mouseout"/>
</use>
<path d="M-4,0h8" fill="none" stroke="white" stroke-width="1.5" pointer-events="none"/>
</g>
<g id="dirArrow">
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="resetDef">
<use xlink:href="#rim2" fill="#404040">
<set attributeName="fill" to="#808080" begin="reset.mouseover" end="reset.mouseout"/>
</use>
</g>
</defs>
<script type="text/javascript">
var viewWidth = 187;
var viewHeight = 655;
var sectionId = 'dynsection-0';
</script>
<script xlink:href="../../svgpan.js"/>
<svg id="graph" class="graph">
<g id="viewport">
<title>SLNet::TCPInterface</title>
<!-- Node1 -->
<g id="node1" class="node"><title>Node1</title>
<polygon fill="#bfbfbf" stroke="black" points="5.5,-314.5 5.5,-646.5 173.5,-646.5 173.5,-314.5 5.5,-314.5"/>
<text text-anchor="middle" x="89.5" y="-634.5" font-family="Helvetica,sans-Serif" font-size="10.00">SLNet::TCPInterface</text>
<polyline fill="none" stroke="black" points="5.5,-627.5 173.5,-627.5 "/>
<text text-anchor="start" x="13.5" y="-615.5" font-family="Helvetica,sans-Serif" font-size="10.00"># messageHandlerList</text>
<text text-anchor="start" x="13.5" y="-604.5" font-family="Helvetica,sans-Serif" font-size="10.00"># isStarted</text>
<text text-anchor="start" x="13.5" y="-593.5" font-family="Helvetica,sans-Serif" font-size="10.00"># threadRunning</text>
<text text-anchor="start" x="13.5" y="-582.5" font-family="Helvetica,sans-Serif" font-size="10.00"># listenSocket</text>
<text text-anchor="start" x="13.5" y="-571.5" font-family="Helvetica,sans-Serif" font-size="10.00"># headPush</text>
<text text-anchor="start" x="13.5" y="-560.5" font-family="Helvetica,sans-Serif" font-size="10.00"># tailPush</text>
<text text-anchor="start" x="13.5" y="-549.5" font-family="Helvetica,sans-Serif" font-size="10.00"># remoteClients</text>
<text text-anchor="start" x="13.5" y="-538.5" font-family="Helvetica,sans-Serif" font-size="10.00"># remoteClientsLength</text>
<text text-anchor="start" x="13.5" y="-527.5" font-family="Helvetica,sans-Serif" font-size="10.00"># incomingMessages</text>
<text text-anchor="start" x="13.5" y="-516.5" font-family="Helvetica,sans-Serif" font-size="10.00"># newIncomingConnections</text>
<text text-anchor="start" x="13.5" y="-505.5" font-family="Helvetica,sans-Serif" font-size="10.00">and 10 more...</text>
<polyline fill="none" stroke="black" points="5.5,-498.5 173.5,-498.5 "/>
<text text-anchor="start" x="13.5" y="-486.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TCPInterface()</text>
<text text-anchor="start" x="13.5" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~TCPInterface()</text>
<text text-anchor="start" x="13.5" y="-464.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Start()</text>
<text text-anchor="start" x="13.5" y="-453.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Stop()</text>
<text text-anchor="start" x="13.5" y="-442.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Connect()</text>
<text text-anchor="start" x="13.5" y="-431.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Send()</text>
<text text-anchor="start" x="13.5" y="-420.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SendList()</text>
<text text-anchor="start" x="13.5" y="-409.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetOutgoingDataBufferSize()</text>
<text text-anchor="start" x="13.5" y="-398.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ReceiveHasPackets()</text>
<text text-anchor="start" x="13.5" y="-387.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Receive()</text>
<text text-anchor="start" x="13.5" y="-376.5" font-family="Helvetica,sans-Serif" font-size="10.00">and 13 more...</text>
<text text-anchor="start" x="13.5" y="-365.5" font-family="Helvetica,sans-Serif" font-size="10.00"># ReceiveInt()</text>
<text text-anchor="start" x="13.5" y="-354.5" font-family="Helvetica,sans-Serif" font-size="10.00"># CreateListenSocket()</text>
<text text-anchor="start" x="13.5" y="-343.5" font-family="Helvetica,sans-Serif" font-size="10.00"># RAK_THREAD_DECLARATION()</text>
<text text-anchor="start" x="13.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00"># RAK_THREAD_DECLARATION()</text>
<text text-anchor="start" x="13.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00"># SocketConnect()</text>
</g>
<!-- Node2 -->
<g id="node2" class="node"><title>Node2</title>
<g id="a_node2"><a xlink:href="../../d6/d05/class_s_l_net_1_1_packetized_t_c_p.xhtml" target="_top" xlink:title="{SLNet::PacketizedTCP\n|# waitingPackets\l# connections\l# _newIncomingConnections\l# _lostConnections\l# _failedConnectionAttempts\l# _completedConnectionAttempts\l|+ PacketizedTCP()\l+ ~PacketizedTCP()\l+ Stop()\l+ Send()\l+ SendList()\l+ Receive()\l+ CloseConnection()\l+ HasCompletedConnectionAttempt()\l+ HasFailedConnectionAttempt()\l+ HasNewIncomingConnection()\l+ HasLostConnection()\l# ClearAllConnections()\l# RemoveFromConnectionList()\l# AddToConnectionList()\l# PushNotificationsToQueues()\l# ReturnOutgoingPacket()\l}">
<polygon fill="none" stroke="black" points="0,-0.5 0,-277.5 179,-277.5 179,-0.5 0,-0.5"/>
<text text-anchor="middle" x="89.5" y="-265.5" font-family="Helvetica,sans-Serif" font-size="10.00">SLNet::PacketizedTCP</text>
<polyline fill="none" stroke="black" points="0,-258.5 179,-258.5 "/>
<text text-anchor="start" x="8" y="-246.5" font-family="Helvetica,sans-Serif" font-size="10.00"># waitingPackets</text>
<text text-anchor="start" x="8" y="-235.5" font-family="Helvetica,sans-Serif" font-size="10.00"># connections</text>
<text text-anchor="start" x="8" y="-224.5" font-family="Helvetica,sans-Serif" font-size="10.00"># _newIncomingConnections</text>
<text text-anchor="start" x="8" y="-213.5" font-family="Helvetica,sans-Serif" font-size="10.00"># _lostConnections</text>
<text text-anchor="start" x="8" y="-202.5" font-family="Helvetica,sans-Serif" font-size="10.00"># _failedConnectionAttempts</text>
<text text-anchor="start" x="8" y="-191.5" font-family="Helvetica,sans-Serif" font-size="10.00"># _completedConnectionAttempts</text>
<polyline fill="none" stroke="black" points="0,-184.5 179,-184.5 "/>
<text text-anchor="start" x="8" y="-172.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ PacketizedTCP()</text>
<text text-anchor="start" x="8" y="-161.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~PacketizedTCP()</text>
<text text-anchor="start" x="8" y="-150.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Stop()</text>
<text text-anchor="start" x="8" y="-139.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Send()</text>
<text text-anchor="start" x="8" y="-128.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SendList()</text>
<text text-anchor="start" x="8" y="-117.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Receive()</text>
<text text-anchor="start" x="8" y="-106.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ CloseConnection()</text>
<text text-anchor="start" x="8" y="-95.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ HasCompletedConnectionAttempt()</text>
<text text-anchor="start" x="8" y="-84.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ HasFailedConnectionAttempt()</text>
<text text-anchor="start" x="8" y="-73.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ HasNewIncomingConnection()</text>
<text text-anchor="start" x="8" y="-62.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ HasLostConnection()</text>
<text text-anchor="start" x="8" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00"># ClearAllConnections()</text>
<text text-anchor="start" x="8" y="-40.5" font-family="Helvetica,sans-Serif" font-size="10.00"># RemoveFromConnectionList()</text>
<text text-anchor="start" x="8" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00"># AddToConnectionList()</text>
<text text-anchor="start" x="8" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00"># PushNotificationsToQueues()</text>
<text text-anchor="start" x="8" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00"># ReturnOutgoingPacket()</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1" class="edge"><title>Node1&#45;&gt;Node2</title>
<path fill="none" stroke="midnightblue" d="M89.5,-303.979C89.5,-295.254 89.5,-286.55 89.5,-277.958"/>
<polygon fill="none" stroke="midnightblue" points="86.0001,-304.225 89.5,-314.225 93.0001,-304.225 86.0001,-304.225"/>
</g>
</g>
</svg>
<g id="navigator" transform="translate(0 0)" fill="#404254">
<rect fill="#f2f5e9" fill-opacity="0.5" stroke="#606060" stroke-width=".5" x="0" y="0" width="60" height="60"/>
<use id="zoomplus" xlink:href="#zoomPlus" x="17" y="9" onmousedown="handleZoom(evt,'in')"/>
<use id="zoomminus" xlink:href="#zoomMin" x="42" y="9" onmousedown="handleZoom(evt,'out')"/>
<use id="reset" xlink:href="#resetDef" x="30" y="36" onmousedown="handleReset()"/>
<g id="arrowUp" xlink:href="#dirArrow" transform="translate(30 24)" onmousedown="handlePan(0,-1)">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="arrowUp.mouseover" end="arrowUp.mouseout"/>
</use>
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowRight" xlink:href="#dirArrow" transform="rotate(90) translate(36 -43)" onmousedown="handlePan(1,0)">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="arrowRight.mouseover" end="arrowRight.mouseout"/>
</use>
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowDown" xlink:href="#dirArrow" transform="rotate(180) translate(-30 -48)" onmousedown="handlePan(0,1)">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="arrowDown.mouseover" end="arrowDown.mouseout"/>
</use>
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowLeft" xlink:href="#dirArrow" transform="rotate(270) translate(-36 17)" onmousedown="handlePan(-1,0)">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="arrowLeft.mouseover" end="arrowLeft.mouseout"/>
</use>
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
</g>
<svg viewBox="0 0 15 15" width="100%" height="30px" preserveAspectRatio="xMaxYMin meet">
<g id="arrow_out" transform="scale(0.3 0.3)">
<a xlink:href="class_s_l_net_1_1_t_c_p_interface__inherit__graph_org.svg" target="_base">
<rect id="button" ry="5" rx="5" y="6" x="6" height="38" width="38"
fill="#f2f5e9" fill-opacity="0.5" stroke="#606060" stroke-width="1.0"/>
<path id="arrow"
d="M 11.500037,31.436501 C 11.940474,20.09759 22.043105,11.32322 32.158766,21.979434 L 37.068811,17.246167 C 37.068811,17.246167 37.088388,32 37.088388,32 L 22.160133,31.978069 C 22.160133,31.978069 26.997745,27.140456 26.997745,27.140456 C 18.528582,18.264221 13.291696,25.230495 11.500037,31.436501 z"
style="fill:#404040;"/>
</a>
</g>
</svg>
</svg>

After

Width:  |  Height:  |  Size: 13 KiB

View File

@ -0,0 +1,83 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.38.0 (20140413.2041)
-->
<!-- Title: SLNet::TCPInterface Pages: 1 -->
<svg width="187pt" height="655pt"
viewBox="0.00 0.00 187.00 655.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 651)">
<title>SLNet::TCPInterface</title>
<!-- Node1 -->
<g id="node1" class="node"><title>Node1</title>
<polygon fill="#bfbfbf" stroke="black" points="5.5,-314.5 5.5,-646.5 173.5,-646.5 173.5,-314.5 5.5,-314.5"/>
<text text-anchor="middle" x="89.5" y="-634.5" font-family="Helvetica,sans-Serif" font-size="10.00">SLNet::TCPInterface</text>
<polyline fill="none" stroke="black" points="5.5,-627.5 173.5,-627.5 "/>
<text text-anchor="start" x="13.5" y="-615.5" font-family="Helvetica,sans-Serif" font-size="10.00"># messageHandlerList</text>
<text text-anchor="start" x="13.5" y="-604.5" font-family="Helvetica,sans-Serif" font-size="10.00"># isStarted</text>
<text text-anchor="start" x="13.5" y="-593.5" font-family="Helvetica,sans-Serif" font-size="10.00"># threadRunning</text>
<text text-anchor="start" x="13.5" y="-582.5" font-family="Helvetica,sans-Serif" font-size="10.00"># listenSocket</text>
<text text-anchor="start" x="13.5" y="-571.5" font-family="Helvetica,sans-Serif" font-size="10.00"># headPush</text>
<text text-anchor="start" x="13.5" y="-560.5" font-family="Helvetica,sans-Serif" font-size="10.00"># tailPush</text>
<text text-anchor="start" x="13.5" y="-549.5" font-family="Helvetica,sans-Serif" font-size="10.00"># remoteClients</text>
<text text-anchor="start" x="13.5" y="-538.5" font-family="Helvetica,sans-Serif" font-size="10.00"># remoteClientsLength</text>
<text text-anchor="start" x="13.5" y="-527.5" font-family="Helvetica,sans-Serif" font-size="10.00"># incomingMessages</text>
<text text-anchor="start" x="13.5" y="-516.5" font-family="Helvetica,sans-Serif" font-size="10.00"># newIncomingConnections</text>
<text text-anchor="start" x="13.5" y="-505.5" font-family="Helvetica,sans-Serif" font-size="10.00">and 10 more...</text>
<polyline fill="none" stroke="black" points="5.5,-498.5 173.5,-498.5 "/>
<text text-anchor="start" x="13.5" y="-486.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TCPInterface()</text>
<text text-anchor="start" x="13.5" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~TCPInterface()</text>
<text text-anchor="start" x="13.5" y="-464.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Start()</text>
<text text-anchor="start" x="13.5" y="-453.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Stop()</text>
<text text-anchor="start" x="13.5" y="-442.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Connect()</text>
<text text-anchor="start" x="13.5" y="-431.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Send()</text>
<text text-anchor="start" x="13.5" y="-420.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SendList()</text>
<text text-anchor="start" x="13.5" y="-409.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetOutgoingDataBufferSize()</text>
<text text-anchor="start" x="13.5" y="-398.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ReceiveHasPackets()</text>
<text text-anchor="start" x="13.5" y="-387.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Receive()</text>
<text text-anchor="start" x="13.5" y="-376.5" font-family="Helvetica,sans-Serif" font-size="10.00">and 13 more...</text>
<text text-anchor="start" x="13.5" y="-365.5" font-family="Helvetica,sans-Serif" font-size="10.00"># ReceiveInt()</text>
<text text-anchor="start" x="13.5" y="-354.5" font-family="Helvetica,sans-Serif" font-size="10.00"># CreateListenSocket()</text>
<text text-anchor="start" x="13.5" y="-343.5" font-family="Helvetica,sans-Serif" font-size="10.00"># RAK_THREAD_DECLARATION()</text>
<text text-anchor="start" x="13.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00"># RAK_THREAD_DECLARATION()</text>
<text text-anchor="start" x="13.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00"># SocketConnect()</text>
</g>
<!-- Node2 -->
<g id="node2" class="node"><title>Node2</title>
<g id="a_node2"><a xlink:href="../../d6/d05/class_s_l_net_1_1_packetized_t_c_p.xhtml" target="_top" xlink:title="{SLNet::PacketizedTCP\n|# waitingPackets\l# connections\l# _newIncomingConnections\l# _lostConnections\l# _failedConnectionAttempts\l# _completedConnectionAttempts\l|+ PacketizedTCP()\l+ ~PacketizedTCP()\l+ Stop()\l+ Send()\l+ SendList()\l+ Receive()\l+ CloseConnection()\l+ HasCompletedConnectionAttempt()\l+ HasFailedConnectionAttempt()\l+ HasNewIncomingConnection()\l+ HasLostConnection()\l# ClearAllConnections()\l# RemoveFromConnectionList()\l# AddToConnectionList()\l# PushNotificationsToQueues()\l# ReturnOutgoingPacket()\l}">
<polygon fill="none" stroke="black" points="0,-0.5 0,-277.5 179,-277.5 179,-0.5 0,-0.5"/>
<text text-anchor="middle" x="89.5" y="-265.5" font-family="Helvetica,sans-Serif" font-size="10.00">SLNet::PacketizedTCP</text>
<polyline fill="none" stroke="black" points="0,-258.5 179,-258.5 "/>
<text text-anchor="start" x="8" y="-246.5" font-family="Helvetica,sans-Serif" font-size="10.00"># waitingPackets</text>
<text text-anchor="start" x="8" y="-235.5" font-family="Helvetica,sans-Serif" font-size="10.00"># connections</text>
<text text-anchor="start" x="8" y="-224.5" font-family="Helvetica,sans-Serif" font-size="10.00"># _newIncomingConnections</text>
<text text-anchor="start" x="8" y="-213.5" font-family="Helvetica,sans-Serif" font-size="10.00"># _lostConnections</text>
<text text-anchor="start" x="8" y="-202.5" font-family="Helvetica,sans-Serif" font-size="10.00"># _failedConnectionAttempts</text>
<text text-anchor="start" x="8" y="-191.5" font-family="Helvetica,sans-Serif" font-size="10.00"># _completedConnectionAttempts</text>
<polyline fill="none" stroke="black" points="0,-184.5 179,-184.5 "/>
<text text-anchor="start" x="8" y="-172.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ PacketizedTCP()</text>
<text text-anchor="start" x="8" y="-161.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~PacketizedTCP()</text>
<text text-anchor="start" x="8" y="-150.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Stop()</text>
<text text-anchor="start" x="8" y="-139.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Send()</text>
<text text-anchor="start" x="8" y="-128.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SendList()</text>
<text text-anchor="start" x="8" y="-117.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Receive()</text>
<text text-anchor="start" x="8" y="-106.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ CloseConnection()</text>
<text text-anchor="start" x="8" y="-95.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ HasCompletedConnectionAttempt()</text>
<text text-anchor="start" x="8" y="-84.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ HasFailedConnectionAttempt()</text>
<text text-anchor="start" x="8" y="-73.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ HasNewIncomingConnection()</text>
<text text-anchor="start" x="8" y="-62.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ HasLostConnection()</text>
<text text-anchor="start" x="8" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00"># ClearAllConnections()</text>
<text text-anchor="start" x="8" y="-40.5" font-family="Helvetica,sans-Serif" font-size="10.00"># RemoveFromConnectionList()</text>
<text text-anchor="start" x="8" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00"># AddToConnectionList()</text>
<text text-anchor="start" x="8" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00"># PushNotificationsToQueues()</text>
<text text-anchor="start" x="8" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00"># ReturnOutgoingPacket()</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1" class="edge"><title>Node1&#45;&gt;Node2</title>
<path fill="none" stroke="midnightblue" d="M89.5,-303.979C89.5,-295.254 89.5,-286.55 89.5,-277.958"/>
<polygon fill="none" stroke="midnightblue" points="86.0001,-304.225 89.5,-314.225 93.0001,-304.225 86.0001,-304.225"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 8.2 KiB

View File

@ -0,0 +1,26 @@
var _plugin_interface2_8h =
[
[ "PI2_FailedConnectionAttemptReason", "d7/ddd/_plugin_interface2_8h.xhtml#ga111ccf3400cb3830cc7ef8c042c9b26c", [
[ "FCAR_CONNECTION_ATTEMPT_FAILED", "d7/ddd/_plugin_interface2_8h.xhtml#gga111ccf3400cb3830cc7ef8c042c9b26ca8b987e31c1a50418295eebc8a32d7bd9", null ],
[ "FCAR_ALREADY_CONNECTED", "d7/ddd/_plugin_interface2_8h.xhtml#gga111ccf3400cb3830cc7ef8c042c9b26ca3c351b48407e1209326942227afa181d", null ],
[ "FCAR_NO_FREE_INCOMING_CONNECTIONS", "d7/ddd/_plugin_interface2_8h.xhtml#gga111ccf3400cb3830cc7ef8c042c9b26caac6fb767a3055a217b885a369ecb1a42", null ],
[ "FCAR_SECURITY_PUBLIC_KEY_MISMATCH", "d7/ddd/_plugin_interface2_8h.xhtml#gga111ccf3400cb3830cc7ef8c042c9b26ca5ed987ddeeefcadb9b9a44c5215694dc", null ],
[ "FCAR_CONNECTION_BANNED", "d7/ddd/_plugin_interface2_8h.xhtml#gga111ccf3400cb3830cc7ef8c042c9b26ca56b69510bdfa6387034db12755fb77b6", null ],
[ "FCAR_INVALID_PASSWORD", "d7/ddd/_plugin_interface2_8h.xhtml#gga111ccf3400cb3830cc7ef8c042c9b26ca39b3cb106c029534bc8e335381df704c", null ],
[ "FCAR_INCOMPATIBLE_PROTOCOL", "d7/ddd/_plugin_interface2_8h.xhtml#gga111ccf3400cb3830cc7ef8c042c9b26ca18fe8bb7d6c06b9011b25a02d2b5145a", null ],
[ "FCAR_IP_RECENTLY_CONNECTED", "d7/ddd/_plugin_interface2_8h.xhtml#gga111ccf3400cb3830cc7ef8c042c9b26ca5363f84c5a008eed4ba59c38e4c6cecb", null ],
[ "FCAR_REMOTE_SYSTEM_REQUIRES_PUBLIC_KEY", "d7/ddd/_plugin_interface2_8h.xhtml#gga111ccf3400cb3830cc7ef8c042c9b26ca477a883f833f0cf823b8de018af68b44", null ],
[ "FCAR_OUR_SYSTEM_REQUIRES_SECURITY", "d7/ddd/_plugin_interface2_8h.xhtml#gga111ccf3400cb3830cc7ef8c042c9b26ca544a956633e3805a45a7c34a053a924f", null ],
[ "FCAR_PUBLIC_KEY_MISMATCH", "d7/ddd/_plugin_interface2_8h.xhtml#gga111ccf3400cb3830cc7ef8c042c9b26ca6728016c187c2e0c09093ea93aa6b859", null ]
] ],
[ "PI2_LostConnectionReason", "d7/ddd/_plugin_interface2_8h.xhtml#ga4d3ac5ca8821fadad6d22d0267e06803", [
[ "LCR_CLOSED_BY_USER", "d7/ddd/_plugin_interface2_8h.xhtml#gga4d3ac5ca8821fadad6d22d0267e06803a6512ab8e3d7180f4f61c35ff6ee79c37", null ],
[ "LCR_DISCONNECTION_NOTIFICATION", "d7/ddd/_plugin_interface2_8h.xhtml#gga4d3ac5ca8821fadad6d22d0267e06803a01e30ee7b1590feeaf2e6171580f1c05", null ],
[ "LCR_CONNECTION_LOST", "d7/ddd/_plugin_interface2_8h.xhtml#gga4d3ac5ca8821fadad6d22d0267e06803a5c693a8b52ee37ff6bd413e732260914", null ]
] ],
[ "PluginReceiveResult", "d7/ddd/_plugin_interface2_8h.xhtml#ga5c8f613a7c294e0b96deccbdabc38f18", [
[ "RR_STOP_PROCESSING_AND_DEALLOCATE", "d7/ddd/_plugin_interface2_8h.xhtml#gga5c8f613a7c294e0b96deccbdabc38f18a9f27ed7ccb7513dceb7ed4da3d99a1bf", null ],
[ "RR_CONTINUE_PROCESSING", "d7/ddd/_plugin_interface2_8h.xhtml#gga5c8f613a7c294e0b96deccbdabc38f18a5b5a476b87be78212057efd5535345d4", null ],
[ "RR_STOP_PROCESSING", "d7/ddd/_plugin_interface2_8h.xhtml#gga5c8f613a7c294e0b96deccbdabc38f18a5d14ff7b19cc1a48c87f0d91ef3c8a56", null ]
] ]
];

View File

@ -0,0 +1,180 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>SLikeNet: Source/include/slikenet/PluginInterface2.h File Reference</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="../../index.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li class="current"><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../files.xhtml"><span>File&#160;List</span></a></li>
<li><a href="../../globals.xhtml"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('d7/ddd/_plugin_interface2_8h.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#namespaces">Namespaces</a> &#124;
<a href="#enum-members">Enumerations</a> </div>
<div class="headertitle">
<div class="title">PluginInterface2.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><b>RakNet's</b> plugin functionality system, version 2. You can derive from this to create your own plugins.
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="../../de/ddb/_native_feature_includes_8h_source.xhtml">NativeFeatureIncludes.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../d9/d49/types_8h_source.xhtml">types.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../db/dbd/_export_8h_source.xhtml">Export.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../d7/d03/_packet_priority_8h_source.xhtml">PacketPriority.h</a>&quot;</code><br/>
</div>
<p><a href="../../d7/ddd/_plugin_interface2_8h_source.xhtml">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:db/d5e/class_s_l_net_1_1_plugin_interface2"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#db/d5e/class_s_l_net_1_1_plugin_interface2">SLNet::PluginInterface2</a></td></tr>
<tr class="separator:db/d5e/class_s_l_net_1_1_plugin_interface2"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:dd/d30/namespace_s_l_net"><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d30/namespace_s_l_net.xhtml">SLNet</a></td></tr>
<tr class="memdesc:dd/d30/namespace_s_l_net"><td class="mdescLeft">&#160;</td><td class="mdescRight">Simple class to send changes between directories. In essence, a simple autopatcher that can be used for transmitting levels, skins, etc. <br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:ga5c8f613a7c294e0b96deccbdabc38f18"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#ga5c8f613a7c294e0b96deccbdabc38f18">SLNet::PluginReceiveResult</a> { <a class="el" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#gga5c8f613a7c294e0b96deccbdabc38f18a9f27ed7ccb7513dceb7ed4da3d99a1bf">SLNet::RR_STOP_PROCESSING_AND_DEALLOCATE</a> =0,
<a class="el" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#gga5c8f613a7c294e0b96deccbdabc38f18a5b5a476b87be78212057efd5535345d4">SLNet::RR_CONTINUE_PROCESSING</a>,
<a class="el" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#gga5c8f613a7c294e0b96deccbdabc38f18a5d14ff7b19cc1a48c87f0d91ef3c8a56">SLNet::RR_STOP_PROCESSING</a>
}</td></tr>
<tr class="separator:ga5c8f613a7c294e0b96deccbdabc38f18"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4d3ac5ca8821fadad6d22d0267e06803"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#ga4d3ac5ca8821fadad6d22d0267e06803">SLNet::PI2_LostConnectionReason</a> { <a class="el" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#gga4d3ac5ca8821fadad6d22d0267e06803a6512ab8e3d7180f4f61c35ff6ee79c37">SLNet::LCR_CLOSED_BY_USER</a>,
<a class="el" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#gga4d3ac5ca8821fadad6d22d0267e06803a01e30ee7b1590feeaf2e6171580f1c05">SLNet::LCR_DISCONNECTION_NOTIFICATION</a>,
<a class="el" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#gga4d3ac5ca8821fadad6d22d0267e06803a5c693a8b52ee37ff6bd413e732260914">SLNet::LCR_CONNECTION_LOST</a>
}</td></tr>
<tr class="separator:ga4d3ac5ca8821fadad6d22d0267e06803"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga111ccf3400cb3830cc7ef8c042c9b26c"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#ga111ccf3400cb3830cc7ef8c042c9b26c">SLNet::PI2_FailedConnectionAttemptReason</a> { <br/>
&#160;&#160;<a class="el" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#gga111ccf3400cb3830cc7ef8c042c9b26ca8b987e31c1a50418295eebc8a32d7bd9">SLNet::FCAR_CONNECTION_ATTEMPT_FAILED</a>,
<a class="el" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#gga111ccf3400cb3830cc7ef8c042c9b26ca3c351b48407e1209326942227afa181d">SLNet::FCAR_ALREADY_CONNECTED</a>,
<a class="el" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#gga111ccf3400cb3830cc7ef8c042c9b26caac6fb767a3055a217b885a369ecb1a42">SLNet::FCAR_NO_FREE_INCOMING_CONNECTIONS</a>,
<a class="el" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#gga111ccf3400cb3830cc7ef8c042c9b26ca5ed987ddeeefcadb9b9a44c5215694dc">SLNet::FCAR_SECURITY_PUBLIC_KEY_MISMATCH</a>,
<br/>
&#160;&#160;<a class="el" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#gga111ccf3400cb3830cc7ef8c042c9b26ca56b69510bdfa6387034db12755fb77b6">SLNet::FCAR_CONNECTION_BANNED</a>,
<a class="el" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#gga111ccf3400cb3830cc7ef8c042c9b26ca39b3cb106c029534bc8e335381df704c">SLNet::FCAR_INVALID_PASSWORD</a>,
<a class="el" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#gga111ccf3400cb3830cc7ef8c042c9b26ca18fe8bb7d6c06b9011b25a02d2b5145a">SLNet::FCAR_INCOMPATIBLE_PROTOCOL</a>,
<a class="el" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#gga111ccf3400cb3830cc7ef8c042c9b26ca5363f84c5a008eed4ba59c38e4c6cecb">SLNet::FCAR_IP_RECENTLY_CONNECTED</a>,
<br/>
&#160;&#160;<a class="el" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#gga111ccf3400cb3830cc7ef8c042c9b26ca477a883f833f0cf823b8de018af68b44">SLNet::FCAR_REMOTE_SYSTEM_REQUIRES_PUBLIC_KEY</a>,
<a class="el" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#gga111ccf3400cb3830cc7ef8c042c9b26ca544a956633e3805a45a7c34a053a924f">SLNet::FCAR_OUR_SYSTEM_REQUIRES_SECURITY</a>,
<a class="el" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#gga111ccf3400cb3830cc7ef8c042c9b26ca6728016c187c2e0c09093ea93aa6b859">SLNet::FCAR_PUBLIC_KEY_MISMATCH</a>
<br/>
}</td></tr>
<tr class="separator:ga111ccf3400cb3830cc7ef8c042c9b26c"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p><b>RakNet's</b> plugin functionality system, version 2. You can derive from this to create your own plugins. </p>
<p>Definition in file <a class="el" href="../../d7/ddd/_plugin_interface2_8h_source.xhtml">PluginInterface2.h</a>.</p>
</div></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_74389ed8173ad57b461b9d623a1f3867.xhtml">Source</a></li><li class="navelem"><a class="el" href="../../dir_bbb90e3ef9167a594ae33323139a2595.xhtml">include</a></li><li class="navelem"><a class="el" href="../../dir_88467e66686deb9d3756fe4fc298e321.xhtml">slikenet</a></li><li class="navelem"><a class="el" href="../../d7/ddd/_plugin_interface2_8h.xhtml">PluginInterface2.h</a></li>
<li class="footer">Generated on Wed Aug 14 2019 22:09:48 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,258 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>SLikeNet: Source/include/slikenet/PluginInterface2.h Source File</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="../../index.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li class="current"><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../files.xhtml"><span>File&#160;List</span></a></li>
<li><a href="../../globals.xhtml"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('d7/ddd/_plugin_interface2_8h_source.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">PluginInterface2.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="../../d7/ddd/_plugin_interface2_8h.xhtml">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> * Original work: Copyright (c) 2014, Oculus VR, Inc.</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> * All rights reserved.</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> * This source code is licensed under the BSD-style license found in the</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> * RakNet License.txt file in the licenses directory of this source tree. An additional grant </span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> * of patent rights can be found in the RakNet Patents.txt file in the same directory.</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment"> * Modified work: Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> * This source code was modified by SLikeSoft. Modifications are licensed under the MIT-style</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> * license found in the license.txt file in the root directory of this source tree.</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;</div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;</div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;</div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="preprocessor">#ifndef __PLUGIN_INTERFACE_2_H</span></div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define __PLUGIN_INTERFACE_2_H</span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../de/ddb/_native_feature_includes_8h.xhtml">NativeFeatureIncludes.h</a>&quot;</span></div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../d9/d49/types_8h.xhtml" title="Types used by RakNet, most of which involve user code.">types.h</a>&quot;</span></div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../db/dbd/_export_8h.xhtml">Export.h</a>&quot;</span></div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../d7/d03/_packet_priority_8h.xhtml" title="This file contains enumerations for packet priority and reliability enumerations.">PacketPriority.h</a>&quot;</span></div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="keyword">namespace </span>SLNet {</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="keyword">class </span>RakPeerInterface;</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="keyword">class </span>TCPInterface;</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="keyword">struct </span>Packet;</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="keyword">struct </span>InternalPacket;</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;</div>
<div class="line"><a name="l00044"></a><span class="lineno"><a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#ga5c8f613a7c294e0b96deccbdabc38f18"> 44</a></span>&#160;<span class="keyword">enum</span> <a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#ga5c8f613a7c294e0b96deccbdabc38f18">PluginReceiveResult</a></div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;{</div>
<div class="line"><a name="l00047"></a><span class="lineno"><a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#gga5c8f613a7c294e0b96deccbdabc38f18a9f27ed7ccb7513dceb7ed4da3d99a1bf"> 47</a></span>&#160; <a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#gga5c8f613a7c294e0b96deccbdabc38f18a9f27ed7ccb7513dceb7ed4da3d99a1bf" title="The plugin used this message and it shouldn&#39;t be given to the user.">RR_STOP_PROCESSING_AND_DEALLOCATE</a>=0,</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;</div>
<div class="line"><a name="l00050"></a><span class="lineno"><a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#gga5c8f613a7c294e0b96deccbdabc38f18a5b5a476b87be78212057efd5535345d4"> 50</a></span>&#160; <a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#gga5c8f613a7c294e0b96deccbdabc38f18a5b5a476b87be78212057efd5535345d4" title="This message will be processed by other plugins, and at last by the user.">RR_CONTINUE_PROCESSING</a>,</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;</div>
<div class="line"><a name="l00053"></a><span class="lineno"><a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#gga5c8f613a7c294e0b96deccbdabc38f18a5d14ff7b19cc1a48c87f0d91ef3c8a56"> 53</a></span>&#160; <a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#gga5c8f613a7c294e0b96deccbdabc38f18a5d14ff7b19cc1a48c87f0d91ef3c8a56" title="The plugin is going to hold on to this message. Do not deallocate it but do not pass it to other plug...">RR_STOP_PROCESSING</a></div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;};</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;</div>
<div class="line"><a name="l00058"></a><span class="lineno"><a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#ga4d3ac5ca8821fadad6d22d0267e06803"> 58</a></span>&#160;<span class="keyword">enum</span> <a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#ga4d3ac5ca8821fadad6d22d0267e06803">PI2_LostConnectionReason</a></div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;{</div>
<div class="line"><a name="l00061"></a><span class="lineno"><a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#gga4d3ac5ca8821fadad6d22d0267e06803a6512ab8e3d7180f4f61c35ff6ee79c37"> 61</a></span>&#160; <a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#gga4d3ac5ca8821fadad6d22d0267e06803a6512ab8e3d7180f4f61c35ff6ee79c37" title="Called RakPeer::CloseConnection()">LCR_CLOSED_BY_USER</a>,</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;</div>
<div class="line"><a name="l00064"></a><span class="lineno"><a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#gga4d3ac5ca8821fadad6d22d0267e06803a01e30ee7b1590feeaf2e6171580f1c05"> 64</a></span>&#160; <a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#gga4d3ac5ca8821fadad6d22d0267e06803a01e30ee7b1590feeaf2e6171580f1c05" title="Got ID_DISCONNECTION_NOTIFICATION.">LCR_DISCONNECTION_NOTIFICATION</a>,</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;</div>
<div class="line"><a name="l00067"></a><span class="lineno"><a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#gga4d3ac5ca8821fadad6d22d0267e06803a5c693a8b52ee37ff6bd413e732260914"> 67</a></span>&#160; <a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#gga4d3ac5ca8821fadad6d22d0267e06803a5c693a8b52ee37ff6bd413e732260914" title="GOT ID_CONNECTION_LOST.">LCR_CONNECTION_LOST</a></div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;};</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;</div>
<div class="line"><a name="l00072"></a><span class="lineno"><a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#ga111ccf3400cb3830cc7ef8c042c9b26c"> 72</a></span>&#160;<span class="keyword">enum</span> <a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#ga111ccf3400cb3830cc7ef8c042c9b26c">PI2_FailedConnectionAttemptReason</a></div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;{</div>
<div class="line"><a name="l00074"></a><span class="lineno"><a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#gga111ccf3400cb3830cc7ef8c042c9b26ca8b987e31c1a50418295eebc8a32d7bd9"> 74</a></span>&#160; <a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#gga111ccf3400cb3830cc7ef8c042c9b26ca8b987e31c1a50418295eebc8a32d7bd9">FCAR_CONNECTION_ATTEMPT_FAILED</a>,</div>
<div class="line"><a name="l00075"></a><span class="lineno"><a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#gga111ccf3400cb3830cc7ef8c042c9b26ca3c351b48407e1209326942227afa181d"> 75</a></span>&#160; <a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#gga111ccf3400cb3830cc7ef8c042c9b26ca3c351b48407e1209326942227afa181d">FCAR_ALREADY_CONNECTED</a>,</div>
<div class="line"><a name="l00076"></a><span class="lineno"><a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#gga111ccf3400cb3830cc7ef8c042c9b26caac6fb767a3055a217b885a369ecb1a42"> 76</a></span>&#160; <a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#gga111ccf3400cb3830cc7ef8c042c9b26caac6fb767a3055a217b885a369ecb1a42">FCAR_NO_FREE_INCOMING_CONNECTIONS</a>,</div>
<div class="line"><a name="l00077"></a><span class="lineno"><a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#gga111ccf3400cb3830cc7ef8c042c9b26ca5ed987ddeeefcadb9b9a44c5215694dc"> 77</a></span>&#160; <a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#gga111ccf3400cb3830cc7ef8c042c9b26ca5ed987ddeeefcadb9b9a44c5215694dc">FCAR_SECURITY_PUBLIC_KEY_MISMATCH</a>,</div>
<div class="line"><a name="l00078"></a><span class="lineno"><a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#gga111ccf3400cb3830cc7ef8c042c9b26ca56b69510bdfa6387034db12755fb77b6"> 78</a></span>&#160; <a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#gga111ccf3400cb3830cc7ef8c042c9b26ca56b69510bdfa6387034db12755fb77b6">FCAR_CONNECTION_BANNED</a>,</div>
<div class="line"><a name="l00079"></a><span class="lineno"><a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#gga111ccf3400cb3830cc7ef8c042c9b26ca39b3cb106c029534bc8e335381df704c"> 79</a></span>&#160; <a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#gga111ccf3400cb3830cc7ef8c042c9b26ca39b3cb106c029534bc8e335381df704c">FCAR_INVALID_PASSWORD</a>,</div>
<div class="line"><a name="l00080"></a><span class="lineno"><a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#gga111ccf3400cb3830cc7ef8c042c9b26ca18fe8bb7d6c06b9011b25a02d2b5145a"> 80</a></span>&#160; <a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#gga111ccf3400cb3830cc7ef8c042c9b26ca18fe8bb7d6c06b9011b25a02d2b5145a">FCAR_INCOMPATIBLE_PROTOCOL</a>,</div>
<div class="line"><a name="l00081"></a><span class="lineno"><a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#gga111ccf3400cb3830cc7ef8c042c9b26ca5363f84c5a008eed4ba59c38e4c6cecb"> 81</a></span>&#160; <a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#gga111ccf3400cb3830cc7ef8c042c9b26ca5363f84c5a008eed4ba59c38e4c6cecb">FCAR_IP_RECENTLY_CONNECTED</a>,</div>
<div class="line"><a name="l00082"></a><span class="lineno"><a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#gga111ccf3400cb3830cc7ef8c042c9b26ca477a883f833f0cf823b8de018af68b44"> 82</a></span>&#160; <a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#gga111ccf3400cb3830cc7ef8c042c9b26ca477a883f833f0cf823b8de018af68b44">FCAR_REMOTE_SYSTEM_REQUIRES_PUBLIC_KEY</a>,</div>
<div class="line"><a name="l00083"></a><span class="lineno"><a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#gga111ccf3400cb3830cc7ef8c042c9b26ca544a956633e3805a45a7c34a053a924f"> 83</a></span>&#160; <a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#gga111ccf3400cb3830cc7ef8c042c9b26ca544a956633e3805a45a7c34a053a924f">FCAR_OUR_SYSTEM_REQUIRES_SECURITY</a>,</div>
<div class="line"><a name="l00084"></a><span class="lineno"><a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#gga111ccf3400cb3830cc7ef8c042c9b26ca6728016c187c2e0c09093ea93aa6b859"> 84</a></span>&#160; <a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#gga111ccf3400cb3830cc7ef8c042c9b26ca6728016c187c2e0c09093ea93aa6b859">FCAR_PUBLIC_KEY_MISMATCH</a></div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160;};</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160;</div>
<div class="line"><a name="l00094"></a><span class="lineno"><a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml"> 94</a></span>&#160;<span class="keyword">class </span><a class="code" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> <a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#db/d5e/class_s_l_net_1_1_plugin_interface2">PluginInterface2</a></div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160;{</div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#db/d5e/class_s_l_net_1_1_plugin_interface2">PluginInterface2</a>();</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; <span class="keyword">virtual</span> ~<a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#db/d5e/class_s_l_net_1_1_plugin_interface2">PluginInterface2</a>();</div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160;</div>
<div class="line"><a name="l00101"></a><span class="lineno"><a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#afe33b32b1729289a809ada304227cbd8"> 101</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#afe33b32b1729289a809ada304227cbd8" title="Called when the interface is attached.">OnAttach</a>(<span class="keywordtype">void</span>) {}</div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160;</div>
<div class="line"><a name="l00104"></a><span class="lineno"><a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#aad23dec19f2567a5b64c2108f73be0e4"> 104</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#aad23dec19f2567a5b64c2108f73be0e4" title="Called when the interface is detached.">OnDetach</a>(<span class="keywordtype">void</span>) {}</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;</div>
<div class="line"><a name="l00107"></a><span class="lineno"><a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#aa181a0ff58765c3d7878ac6dfd5e5a10"> 107</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#aa181a0ff58765c3d7878ac6dfd5e5a10" title="Update is called every time a packet is checked for .">Update</a>(<span class="keywordtype">void</span>) {}</div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;</div>
<div class="line"><a name="l00112"></a><span class="lineno"><a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#a3a401ad0acd5d326d7307e2f4fce20ea"> 112</a></span>&#160; <span class="keyword">virtual</span> <a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#ga5c8f613a7c294e0b96deccbdabc38f18">PluginReceiveResult</a> <a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#a3a401ad0acd5d326d7307e2f4fce20ea">OnReceive</a>(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#d8/d23/struct_s_l_net_1_1_packet" title="This represents a user message from another system.">Packet</a> *packet) {(void) packet; <span class="keywordflow">return</span> <a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#gga5c8f613a7c294e0b96deccbdabc38f18a5b5a476b87be78212057efd5535345d4" title="This message will be processed by other plugins, and at last by the user.">RR_CONTINUE_PROCESSING</a>;}</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;</div>
<div class="line"><a name="l00115"></a><span class="lineno"><a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#a9943065789510f76737975203f4d05bc"> 115</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#a9943065789510f76737975203f4d05bc" title="Called when RakPeer is initialized.">OnRakPeerStartup</a>(<span class="keywordtype">void</span>) {}</div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;</div>
<div class="line"><a name="l00118"></a><span class="lineno"><a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#aea8a90c4078ecc0db77545e44531b1de"> 118</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#aea8a90c4078ecc0db77545e44531b1de" title="Called when RakPeer is shutdown.">OnRakPeerShutdown</a>(<span class="keywordtype">void</span>) {}</div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;</div>
<div class="line"><a name="l00124"></a><span class="lineno"><a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#a95cb6fb37ada42840dafdbf6ffe078e4"> 124</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#a95cb6fb37ada42840dafdbf6ffe078e4">OnClosedConnection</a>(<span class="keyword">const</span> <a class="code" href="../../d8/dbe/struct_s_l_net_1_1_system_address.xhtml" title="Network address for a system.">SystemAddress</a> &amp;systemAddress, <a class="code" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml">RakNetGUID</a> rakNetGUID, <a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#ga4d3ac5ca8821fadad6d22d0267e06803">PI2_LostConnectionReason</a> lostConnectionReason ){(void) systemAddress; (void) rakNetGUID; (void) lostConnectionReason;}</div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;</div>
<div class="line"><a name="l00130"></a><span class="lineno"><a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#a225b5a285e1cf2b0f9b03f6133c409e8"> 130</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#a225b5a285e1cf2b0f9b03f6133c409e8">OnNewConnection</a>(<span class="keyword">const</span> <a class="code" href="../../d8/dbe/struct_s_l_net_1_1_system_address.xhtml" title="Network address for a system.">SystemAddress</a> &amp;systemAddress, <a class="code" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml">RakNetGUID</a> rakNetGUID, <span class="keywordtype">bool</span> isIncoming) {(void) systemAddress; (void) rakNetGUID; (void) isIncoming;}</div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160;</div>
<div class="line"><a name="l00135"></a><span class="lineno"><a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#aa95d4714e97480ac51a87b6b34161db7"> 135</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#aa95d4714e97480ac51a87b6b34161db7">OnFailedConnectionAttempt</a>(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#d8/d23/struct_s_l_net_1_1_packet" title="This represents a user message from another system.">Packet</a> *packet, <a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#ga111ccf3400cb3830cc7ef8c042c9b26c">PI2_FailedConnectionAttemptReason</a> failedConnectionAttemptReason) {(void) packet; (void) failedConnectionAttemptReason;}</div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;</div>
<div class="line"><a name="l00140"></a><span class="lineno"><a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#a4bed8468dd7d3624c9d8b6e17737ba77"> 140</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#a4bed8468dd7d3624c9d8b6e17737ba77">UsesReliabilityLayer</a>(<span class="keywordtype">void</span>)<span class="keyword"> const </span>{<span class="keywordflow">return</span> <span class="keyword">false</span>;}</div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160;</div>
<div class="line"><a name="l00147"></a><span class="lineno"><a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#acd6172fa97f484a0b874ebbe4f32de0e"> 147</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#acd6172fa97f484a0b874ebbe4f32de0e">OnDirectSocketSend</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *data, <span class="keyword">const</span> <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a227d2a5f9683a34d9d1e70772fd556ec">BitSize_t</a> bitsUsed, <a class="code" href="../../d8/dbe/struct_s_l_net_1_1_system_address.xhtml" title="Network address for a system.">SystemAddress</a> remoteSystemAddress) {(void) data; (void) bitsUsed; (void) remoteSystemAddress;}</div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; </div>
<div class="line"><a name="l00154"></a><span class="lineno"><a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#afe625ccabbbfea5b8d0dd717748ef857"> 154</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#afe625ccabbbfea5b8d0dd717748ef857">OnDirectSocketReceive</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *data, <span class="keyword">const</span> <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a227d2a5f9683a34d9d1e70772fd556ec">BitSize_t</a> bitsUsed, <a class="code" href="../../d8/dbe/struct_s_l_net_1_1_system_address.xhtml" title="Network address for a system.">SystemAddress</a> remoteSystemAddress) {(void) data; (void) bitsUsed; (void) remoteSystemAddress;}</div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;</div>
<div class="line"><a name="l00160"></a><span class="lineno"><a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#a775d3c4bf7e924a510becfa85b3f1f00"> 160</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#a775d3c4bf7e924a510becfa85b3f1f00">OnReliabilityLayerNotification</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *errorMessage, <span class="keyword">const</span> <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a227d2a5f9683a34d9d1e70772fd556ec">BitSize_t</a> bitsUsed, <a class="code" href="../../d8/dbe/struct_s_l_net_1_1_system_address.xhtml" title="Network address for a system.">SystemAddress</a> remoteSystemAddress, <span class="keywordtype">bool</span> isError) {(void) errorMessage; (void) bitsUsed; (void) remoteSystemAddress; (void) isError;}</div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; </div>
<div class="line"><a name="l00169"></a><span class="lineno"><a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#abb5ebc232cc45b62ea61ee7cde758a22"> 169</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#abb5ebc232cc45b62ea61ee7cde758a22">OnInternalPacket</a>(<a class="code" href="../../d9/d9a/struct_s_l_net_1_1_internal_packet.xhtml">InternalPacket</a> *internalPacket, <span class="keywordtype">unsigned</span> frameNumber, <a class="code" href="../../d8/dbe/struct_s_l_net_1_1_system_address.xhtml" title="Network address for a system.">SystemAddress</a> remoteSystemAddress, <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a26b4eb1be8467562f791e3c5af4a67ae">SLNet::TimeMS</a> time, <span class="keywordtype">int</span> isSend) {(void) internalPacket; (void) frameNumber; (void) remoteSystemAddress; (void) time; (void) isSend;}</div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160;</div>
<div class="line"><a name="l00176"></a><span class="lineno"><a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#acc1f6b096fd6d98064a1f1a4af8500d1"> 176</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#acc1f6b096fd6d98064a1f1a4af8500d1">OnAck</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> messageNumber, <a class="code" href="../../d8/dbe/struct_s_l_net_1_1_system_address.xhtml" title="Network address for a system.">SystemAddress</a> remoteSystemAddress, <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a26b4eb1be8467562f791e3c5af4a67ae">SLNet::TimeMS</a> time) {(void) messageNumber; (void) remoteSystemAddress; (void) time;}</div>
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160;</div>
<div class="line"><a name="l00182"></a><span class="lineno"><a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#a6b7373aa27360743e697c5afa38fc541"> 182</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#a6b7373aa27360743e697c5afa38fc541">OnPushBackPacket</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *data, <span class="keyword">const</span> <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a227d2a5f9683a34d9d1e70772fd556ec">BitSize_t</a> bitsUsed, <a class="code" href="../../d8/dbe/struct_s_l_net_1_1_system_address.xhtml" title="Network address for a system.">SystemAddress</a> remoteSystemAddress) {(void) data; (void) bitsUsed; (void) remoteSystemAddress;}</div>
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160;</div>
<div class="line"><a name="l00184"></a><span class="lineno"><a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#acd3c54782ccc647432571e5e5bae5e48"> 184</a></span>&#160; <a class="code" href="../../da/d27/class_s_l_net_1_1_rak_peer_interface.xhtml" title="The main interface for network communications.">RakPeerInterface</a> *<a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#acd3c54782ccc647432571e5e5bae5e48">GetRakPeerInterface</a>(<span class="keywordtype">void</span>)<span class="keyword"> const </span>{<span class="keywordflow">return</span> rakPeerInterface;}</div>
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160;</div>
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; <a class="code" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml">RakNetGUID</a> GetMyGUIDUnified(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160;</div>
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; <span class="keywordtype">void</span> SetRakPeerInterface( <a class="code" href="../../da/d27/class_s_l_net_1_1_rak_peer_interface.xhtml" title="The main interface for network communications.">RakPeerInterface</a> *ptr );</div>
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160;</div>
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160;<span class="preprocessor">#if _RAKNET_SUPPORT_TCPInterface==1</span></div>
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; <span class="keywordtype">void</span> SetTCPInterface( <a class="code" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml">TCPInterface</a> *ptr );</div>
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160;<span class="keyword">protected</span>:</div>
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; <span class="comment">// Send through either rakPeerInterface or tcpInterface, whichever is available</span></div>
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; <span class="keywordtype">void</span> SendUnified( <span class="keyword">const</span> <a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a> * bitStream, <a class="code" href="../../d7/d03/_packet_priority_8h.xhtml#a659378374e516180f93640c79f59705c" title="These enumerations are used to describe when packets are delivered.">PacketPriority</a> priority, <a class="code" href="../../d7/d03/_packet_priority_8h.xhtml#ae41fa01235e99dced384d137fa874a7e">PacketReliability</a> reliability, <span class="keywordtype">char</span> orderingChannel, <span class="keyword">const</span> <a class="code" href="../../d3/da8/struct_s_l_net_1_1_address_or_g_u_i_d.xhtml">AddressOrGUID</a> systemIdentifier, <span class="keywordtype">bool</span> broadcast );</div>
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; <span class="keywordtype">void</span> SendUnified( <span class="keyword">const</span> <span class="keywordtype">char</span> * data, <span class="keyword">const</span> <span class="keywordtype">int</span> length, <a class="code" href="../../d7/d03/_packet_priority_8h.xhtml#a659378374e516180f93640c79f59705c" title="These enumerations are used to describe when packets are delivered.">PacketPriority</a> priority, <a class="code" href="../../d7/d03/_packet_priority_8h.xhtml#ae41fa01235e99dced384d137fa874a7e">PacketReliability</a> reliability, <span class="keywordtype">char</span> orderingChannel, <span class="keyword">const</span> <a class="code" href="../../d3/da8/struct_s_l_net_1_1_address_or_g_u_i_d.xhtml">AddressOrGUID</a> systemIdentifier, <span class="keywordtype">bool</span> broadcast );</div>
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; <span class="keywordtype">bool</span> SendListUnified( <span class="keyword">const</span> <span class="keywordtype">char</span> **data, <span class="keyword">const</span> <span class="keywordtype">int</span> *lengths, <span class="keyword">const</span> <span class="keywordtype">int</span> numParameters, <a class="code" href="../../d7/d03/_packet_priority_8h.xhtml#a659378374e516180f93640c79f59705c" title="These enumerations are used to describe when packets are delivered.">PacketPriority</a> priority, <a class="code" href="../../d7/d03/_packet_priority_8h.xhtml#ae41fa01235e99dced384d137fa874a7e">PacketReliability</a> reliability, <span class="keywordtype">char</span> orderingChannel, <span class="keyword">const</span> <a class="code" href="../../d3/da8/struct_s_l_net_1_1_address_or_g_u_i_d.xhtml">AddressOrGUID</a> systemIdentifier, <span class="keywordtype">bool</span> broadcast );</div>
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160;</div>
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#d8/d23/struct_s_l_net_1_1_packet" title="This represents a user message from another system.">Packet</a> *AllocatePacketUnified(<span class="keywordtype">unsigned</span> dataSize);</div>
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; <span class="keywordtype">void</span> PushBackPacketUnified(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#d8/d23/struct_s_l_net_1_1_packet" title="This represents a user message from another system.">Packet</a> *packet, <span class="keywordtype">bool</span> pushAtHead);</div>
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; <span class="keywordtype">void</span> DeallocPacketUnified(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#d8/d23/struct_s_l_net_1_1_packet" title="This represents a user message from another system.">Packet</a> *packet);</div>
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160;</div>
<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; <span class="comment">// Filled automatically in when attached</span></div>
<div class="line"><a name="l00207"></a><span class="lineno"><a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#adac8deadf450a4e1d69c11b1db588bec"> 207</a></span>&#160; <a class="code" href="../../da/d27/class_s_l_net_1_1_rak_peer_interface.xhtml" title="The main interface for network communications.">RakPeerInterface</a> *<a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#adac8deadf450a4e1d69c11b1db588bec">rakPeerInterface</a>;</div>
<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160;<span class="preprocessor">#if _RAKNET_SUPPORT_TCPInterface==1</span></div>
<div class="line"><a name="l00209"></a><span class="lineno"><a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#ac298ef92904df807a3248e380e8edf43"> 209</a></span>&#160;<span class="preprocessor"></span> <a class="code" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml">TCPInterface</a> *<a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#ac298ef92904df807a3248e380e8edf43">tcpInterface</a>;</div>
<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160;<span class="preprocessor"></span>};</div>
<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160;</div>
<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160;} <span class="comment">// namespace SLNet</span></div>
<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160;</div>
<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160;<span class="preprocessor"></span></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_74389ed8173ad57b461b9d623a1f3867.xhtml">Source</a></li><li class="navelem"><a class="el" href="../../dir_bbb90e3ef9167a594ae33323139a2595.xhtml">include</a></li><li class="navelem"><a class="el" href="../../dir_88467e66686deb9d3756fe4fc298e321.xhtml">slikenet</a></li><li class="navelem"><a class="el" href="../../d7/ddd/_plugin_interface2_8h.xhtml">PluginInterface2.h</a></li>
<li class="footer">Generated on Wed Aug 14 2019 22:09:46 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,150 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>SLikeNet: Source/include/slikenet/SimpleMutex.h File Reference</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="../../index.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li class="current"><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../files.xhtml"><span>File&#160;List</span></a></li>
<li><a href="../../globals.xhtml"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('d7/ddd/_simple_mutex_8h.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#namespaces">Namespaces</a> </div>
<div class="headertitle">
<div class="title">SimpleMutex.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><b></b>[Internal] Encapsulates a mutex
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="../../dd/dc5/memoryoverride_8h_source.xhtml">memoryoverride.h</a>&quot;</code><br/>
<code>#include &lt;pthread.h&gt;</code><br/>
<code>#include &lt;sys/types.h&gt;</code><br/>
<code>#include &quot;<a class="el" href="../../db/dbd/_export_8h_source.xhtml">Export.h</a>&quot;</code><br/>
</div>
<p><a href="../../d7/ddd/_simple_mutex_8h_source.xhtml">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/da8/class_s_l_net_1_1_simple_mutex.xhtml">SLNet::SimpleMutex</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">An easy to use mutex. <a href="../../d9/da8/class_s_l_net_1_1_simple_mutex.xhtml#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:dd/d30/namespace_s_l_net"><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d30/namespace_s_l_net.xhtml">SLNet</a></td></tr>
<tr class="memdesc:dd/d30/namespace_s_l_net"><td class="mdescLeft">&#160;</td><td class="mdescRight">Simple class to send changes between directories. In essence, a simple autopatcher that can be used for transmitting levels, skins, etc. <br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p><b></b>[Internal] Encapsulates a mutex </p>
<p>Definition in file <a class="el" href="../../d7/ddd/_simple_mutex_8h_source.xhtml">SimpleMutex.h</a>.</p>
</div></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_74389ed8173ad57b461b9d623a1f3867.xhtml">Source</a></li><li class="navelem"><a class="el" href="../../dir_bbb90e3ef9167a594ae33323139a2595.xhtml">include</a></li><li class="navelem"><a class="el" href="../../dir_88467e66686deb9d3756fe4fc298e321.xhtml">slikenet</a></li><li class="navelem"><a class="el" href="../../d7/ddd/_simple_mutex_8h.xhtml">SimpleMutex.h</a></li>
<li class="footer">Generated on Wed Aug 14 2019 22:09:48 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,197 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>SLikeNet: Source/include/slikenet/SimpleMutex.h Source File</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="../../index.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li class="current"><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../files.xhtml"><span>File&#160;List</span></a></li>
<li><a href="../../globals.xhtml"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('d7/ddd/_simple_mutex_8h_source.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">SimpleMutex.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="../../d7/ddd/_simple_mutex_8h.xhtml">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> * Original work: Copyright (c) 2014, Oculus VR, Inc.</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> * All rights reserved.</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> * This source code is licensed under the BSD-style license found in the</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> * RakNet License.txt file in the licenses directory of this source tree. An additional grant </span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> * of patent rights can be found in the RakNet Patents.txt file in the same directory.</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment"> * Modified work: Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> * This source code was modified by SLikeSoft. Modifications are licensed under the MIT-style</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> * license found in the license.txt file in the root directory of this source tree.</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;</div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;</div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;</div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;</div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="preprocessor">#ifndef __SIMPLE_MUTEX_H</span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define __SIMPLE_MUTEX_H</span></div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../dd/dc5/memoryoverride_8h.xhtml" title="If _USE_RAK_MEMORY_OVERRIDE is defined, memory allocations go through rakMalloc, rakRealloc, and rakFree.">memoryoverride.h</a>&quot;</span></div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;</div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="preprocessor">#if defined(_WIN32)</span></div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#include &quot;<a class="code" href="../../db/d43/_windows_includes_8h.xhtml">WindowsIncludes.h</a>&quot;</span></div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="preprocessor">#else</span></div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#include &lt;pthread.h&gt;</span></div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="preprocessor">#include &lt;sys/types.h&gt;</span></div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#include &quot;<a class="code" href="../../db/dbd/_export_8h.xhtml">Export.h</a>&quot;</span></div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;<span class="keyword">namespace </span>SLNet</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;{</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;</div>
<div class="line"><a name="l00045"></a><span class="lineno"><a class="code" href="../../d9/da8/class_s_l_net_1_1_simple_mutex.xhtml"> 45</a></span>&#160;<span class="keyword">class </span><a class="code" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> <a class="code" href="../../d9/da8/class_s_l_net_1_1_simple_mutex.xhtml" title="An easy to use mutex.">SimpleMutex</a></div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;{</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <span class="comment">// Constructor</span></div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <a class="code" href="../../d9/da8/class_s_l_net_1_1_simple_mutex.xhtml" title="An easy to use mutex.">SimpleMutex</a>();</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; <span class="comment">// Destructor</span></div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; ~<a class="code" href="../../d9/da8/class_s_l_net_1_1_simple_mutex.xhtml" title="An easy to use mutex.">SimpleMutex</a>();</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <span class="comment">// Locks the mutex. Slow!</span></div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <span class="keywordtype">void</span> <a class="code" href="../../dc/d0b/_thread_pool_8h.xhtml#aa59dd972266d4af6d04aa7c165321e15">Lock</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <span class="comment">// Unlocks the mutex.</span></div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <span class="keywordtype">void</span> <a class="code" href="../../dc/d0b/_thread_pool_8h.xhtml#a1695444dc00654ce0d60191863aa750c">Unlock</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;<span class="keyword">private</span>:</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; <span class="keywordtype">void</span> Init(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;<span class="preprocessor">#ifdef _WIN32</span></div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;<span class="preprocessor"></span> CRITICAL_SECTION criticalSection; </div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;<span class="preprocessor">#else</span></div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;<span class="preprocessor"></span> pthread_mutex_t hMutex;</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160;<span class="preprocessor"></span> <span class="comment">// Not threadsafe</span></div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <span class="comment">// bool isInitialized;</span></div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;};</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;} <span class="comment">// namespace SLNet</span></div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160;</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160;<span class="preprocessor"></span></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_74389ed8173ad57b461b9d623a1f3867.xhtml">Source</a></li><li class="navelem"><a class="el" href="../../dir_bbb90e3ef9167a594ae33323139a2595.xhtml">include</a></li><li class="navelem"><a class="el" href="../../dir_88467e66686deb9d3756fe4fc298e321.xhtml">slikenet</a></li><li class="navelem"><a class="el" href="../../d7/ddd/_simple_mutex_8h.xhtml">SimpleMutex.h</a></li>
<li class="footer">Generated on Wed Aug 14 2019 22:09:46 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,3 @@
<map id="DataStructures::AVLBalancedBinarySearchTree&lt; BinarySearchTreeType &gt;" name="DataStructures::AVLBalancedBinarySearchTree&lt; BinarySearchTreeType &gt;">
<area shape="rect" id="node2" href="$db/d19/class_data_structures_1_1_binary_search_tree.xhtml" title="A binary search tree and an AVL balanced binary search tree." alt="" coords="24,5,227,405"/>
</map>

View File

@ -0,0 +1 @@
c2e6e4683e5dbc3aeef8f7c417425a40

View File

@ -0,0 +1,140 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.38.0 (20140413.2041)
-->
<!-- Title: DataStructures::AVLBalancedBinarySearchTree&lt; BinarySearchTreeType &gt; Pages: 1 -->
<!--zoomable 468 -->
<svg id="main" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" onload="init(evt)">
<defs>
<circle id="rim" cx="0" cy="0" r="7"/>
<circle id="rim2" cx="0" cy="0" r="3.5"/>
<g id="zoomPlus">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="zoomplus.mouseover" end="zoomplus.mouseout"/>
</use>
<path d="M-4,0h8M0,-4v8" fill="none" stroke="white" stroke-width="1.5" pointer-events="none"/>
</g>
<g id="zoomMin">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="zoomminus.mouseover" end="zoomminus.mouseout"/>
</use>
<path d="M-4,0h8" fill="none" stroke="white" stroke-width="1.5" pointer-events="none"/>
</g>
<g id="dirArrow">
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="resetDef">
<use xlink:href="#rim2" fill="#404040">
<set attributeName="fill" to="#808080" begin="reset.mouseover" end="reset.mouseout"/>
</use>
</g>
</defs>
<script type="text/javascript">
var viewWidth = 188;
var viewHeight = 468;
var sectionId = 'dynsection-0';
</script>
<script xlink:href="../../svgpan.js"/>
<svg id="graph" class="graph">
<g id="viewport">
<title>DataStructures::AVLBalancedBinarySearchTree&lt; BinarySearchTreeType &gt;</title>
<!-- Node1 -->
<g id="node1" class="node"><title>Node1</title>
<polygon fill="#bfbfbf" stroke="black" points="0,-0.5 0,-123.5 180,-123.5 180,-0.5 0,-0.5"/>
<text text-anchor="start" x="8" y="-111.5" font-family="Helvetica,sans-Serif" font-size="10.00">DataStructures::AVLBalanced</text>
<text text-anchor="start" x="8" y="-100.5" font-family="Helvetica,sans-Serif" font-size="10.00">BinarySearchTree&lt; BinarySearchTree</text>
<text text-anchor="middle" x="90" y="-89.5" font-family="Helvetica,sans-Serif" font-size="10.00">Type &gt;</text>
<polyline fill="none" stroke="black" points="0,-82.5 180,-82.5 "/>
<text text-anchor="middle" x="90" y="-70.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
<polyline fill="none" stroke="black" points="0,-63.5 180,-63.5 "/>
<text text-anchor="start" x="8" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ AVLBalancedBinarySearchTree()</text>
<text text-anchor="start" x="8" y="-40.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~AVLBalancedBinarySearchTree()</text>
<text text-anchor="start" x="8" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Add()</text>
<text text-anchor="start" x="8" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Del()</text>
<text text-anchor="start" x="8" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator=()</text>
</g>
<!-- Node2 -->
<g id="node2" class="node"><title>Node2</title>
<g id="a_node2"><a xlink:href="../../db/d19/class_data_structures_1_1_binary_search_tree.xhtml" target="_top" xlink:title="A binary search tree and an AVL balanced binary search tree.">
<polygon fill="none" stroke="black" points="14,-160.5 14,-459.5 166,-459.5 166,-160.5 14,-160.5"/>
<text text-anchor="start" x="22" y="-447.5" font-family="Helvetica,sans-Serif" font-size="10.00">DataStructures::BinarySearch</text>
<text text-anchor="middle" x="90" y="-436.5" font-family="Helvetica,sans-Serif" font-size="10.00">Tree&lt; BinarySearchTreeType &gt;</text>
<polyline fill="none" stroke="black" points="14,-429.5 166,-429.5 "/>
<text text-anchor="start" x="22" y="-417.5" font-family="Helvetica,sans-Serif" font-size="10.00"># root</text>
<text text-anchor="start" x="22" y="-406.5" font-family="Helvetica,sans-Serif" font-size="10.00"># direction</text>
<text text-anchor="start" x="22" y="-395.5" font-family="Helvetica,sans-Serif" font-size="10.00"># BinarySearchTree_size</text>
<polyline fill="none" stroke="black" points="14,-388.5 166,-388.5 "/>
<text text-anchor="start" x="22" y="-376.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ BinarySearchTree()</text>
<text text-anchor="start" x="22" y="-365.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~BinarySearchTree()</text>
<text text-anchor="start" x="22" y="-354.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ BinarySearchTree()</text>
<text text-anchor="start" x="22" y="-343.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator=()</text>
<text text-anchor="start" x="22" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Size()</text>
<text text-anchor="start" x="22" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Clear()</text>
<text text-anchor="start" x="22" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Height()</text>
<text text-anchor="start" x="22" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Add()</text>
<text text-anchor="start" x="22" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Del()</text>
<text text-anchor="start" x="22" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ IsIn()</text>
<text text-anchor="start" x="22" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ DisplayInorder()</text>
<text text-anchor="start" x="22" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ DisplayPreorder()</text>
<text text-anchor="start" x="22" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ DisplayPostorder()</text>
<text text-anchor="start" x="22" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ DisplayBreadthFirstSearch()</text>
<text text-anchor="start" x="22" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetPointerToNode()</text>
<text text-anchor="start" x="22" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00"># HeightRecursive()</text>
<text text-anchor="start" x="22" y="-200.5" font-family="Helvetica,sans-Serif" font-size="10.00"># Find()</text>
<text text-anchor="start" x="22" y="-189.5" font-family="Helvetica,sans-Serif" font-size="10.00"># FindParent()</text>
<text text-anchor="start" x="22" y="-178.5" font-family="Helvetica,sans-Serif" font-size="10.00"># DisplayPostorderRecursive()</text>
<text text-anchor="start" x="22" y="-167.5" font-family="Helvetica,sans-Serif" font-size="10.00"># FixTree()</text>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node1 -->
<g id="edge1" class="edge"><title>Node2&#45;&gt;Node1</title>
<path fill="none" stroke="midnightblue" d="M90,-150.159C90,-140.977 90,-132.088 90,-123.72"/>
<polygon fill="none" stroke="midnightblue" points="86.5001,-150.226 90,-160.226 93.5001,-150.226 86.5001,-150.226"/>
</g>
</g>
</svg>
<g id="navigator" transform="translate(0 0)" fill="#404254">
<rect fill="#f2f5e9" fill-opacity="0.5" stroke="#606060" stroke-width=".5" x="0" y="0" width="60" height="60"/>
<use id="zoomplus" xlink:href="#zoomPlus" x="17" y="9" onmousedown="handleZoom(evt,'in')"/>
<use id="zoomminus" xlink:href="#zoomMin" x="42" y="9" onmousedown="handleZoom(evt,'out')"/>
<use id="reset" xlink:href="#resetDef" x="30" y="36" onmousedown="handleReset()"/>
<g id="arrowUp" xlink:href="#dirArrow" transform="translate(30 24)" onmousedown="handlePan(0,-1)">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="arrowUp.mouseover" end="arrowUp.mouseout"/>
</use>
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowRight" xlink:href="#dirArrow" transform="rotate(90) translate(36 -43)" onmousedown="handlePan(1,0)">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="arrowRight.mouseover" end="arrowRight.mouseout"/>
</use>
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowDown" xlink:href="#dirArrow" transform="rotate(180) translate(-30 -48)" onmousedown="handlePan(0,1)">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="arrowDown.mouseover" end="arrowDown.mouseout"/>
</use>
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowLeft" xlink:href="#dirArrow" transform="rotate(270) translate(-36 17)" onmousedown="handlePan(-1,0)">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="arrowLeft.mouseover" end="arrowLeft.mouseout"/>
</use>
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
</g>
<svg viewBox="0 0 15 15" width="100%" height="30px" preserveAspectRatio="xMaxYMin meet">
<g id="arrow_out" transform="scale(0.3 0.3)">
<a xlink:href="class_data_structures_1_1_a_v_l_balanced_binary_search_tree__inherit__graph_org.svg" target="_base">
<rect id="button" ry="5" rx="5" y="6" x="6" height="38" width="38"
fill="#f2f5e9" fill-opacity="0.5" stroke="#606060" stroke-width="1.0"/>
<path id="arrow"
d="M 11.500037,31.436501 C 11.940474,20.09759 22.043105,11.32322 32.158766,21.979434 L 37.068811,17.246167 C 37.068811,17.246167 37.088388,32 37.088388,32 L 22.160133,31.978069 C 22.160133,31.978069 26.997745,27.140456 26.997745,27.140456 C 18.528582,18.264221 13.291696,25.230495 11.500037,31.436501 z"
style="fill:#404040;"/>
</a>
</g>
</svg>
</svg>

After

Width:  |  Height:  |  Size: 10 KiB

View File

@ -0,0 +1,66 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.38.0 (20140413.2041)
-->
<!-- Title: DataStructures::AVLBalancedBinarySearchTree&lt; BinarySearchTreeType &gt; Pages: 1 -->
<svg width="188pt" height="468pt"
viewBox="0.00 0.00 188.00 468.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 464)">
<title>DataStructures::AVLBalancedBinarySearchTree&lt; BinarySearchTreeType &gt;</title>
<!-- Node1 -->
<g id="node1" class="node"><title>Node1</title>
<polygon fill="#bfbfbf" stroke="black" points="0,-0.5 0,-123.5 180,-123.5 180,-0.5 0,-0.5"/>
<text text-anchor="start" x="8" y="-111.5" font-family="Helvetica,sans-Serif" font-size="10.00">DataStructures::AVLBalanced</text>
<text text-anchor="start" x="8" y="-100.5" font-family="Helvetica,sans-Serif" font-size="10.00">BinarySearchTree&lt; BinarySearchTree</text>
<text text-anchor="middle" x="90" y="-89.5" font-family="Helvetica,sans-Serif" font-size="10.00">Type &gt;</text>
<polyline fill="none" stroke="black" points="0,-82.5 180,-82.5 "/>
<text text-anchor="middle" x="90" y="-70.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
<polyline fill="none" stroke="black" points="0,-63.5 180,-63.5 "/>
<text text-anchor="start" x="8" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ AVLBalancedBinarySearchTree()</text>
<text text-anchor="start" x="8" y="-40.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~AVLBalancedBinarySearchTree()</text>
<text text-anchor="start" x="8" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Add()</text>
<text text-anchor="start" x="8" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Del()</text>
<text text-anchor="start" x="8" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator=()</text>
</g>
<!-- Node2 -->
<g id="node2" class="node"><title>Node2</title>
<g id="a_node2"><a xlink:href="../../db/d19/class_data_structures_1_1_binary_search_tree.xhtml" target="_top" xlink:title="A binary search tree and an AVL balanced binary search tree.">
<polygon fill="none" stroke="black" points="14,-160.5 14,-459.5 166,-459.5 166,-160.5 14,-160.5"/>
<text text-anchor="start" x="22" y="-447.5" font-family="Helvetica,sans-Serif" font-size="10.00">DataStructures::BinarySearch</text>
<text text-anchor="middle" x="90" y="-436.5" font-family="Helvetica,sans-Serif" font-size="10.00">Tree&lt; BinarySearchTreeType &gt;</text>
<polyline fill="none" stroke="black" points="14,-429.5 166,-429.5 "/>
<text text-anchor="start" x="22" y="-417.5" font-family="Helvetica,sans-Serif" font-size="10.00"># root</text>
<text text-anchor="start" x="22" y="-406.5" font-family="Helvetica,sans-Serif" font-size="10.00"># direction</text>
<text text-anchor="start" x="22" y="-395.5" font-family="Helvetica,sans-Serif" font-size="10.00"># BinarySearchTree_size</text>
<polyline fill="none" stroke="black" points="14,-388.5 166,-388.5 "/>
<text text-anchor="start" x="22" y="-376.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ BinarySearchTree()</text>
<text text-anchor="start" x="22" y="-365.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~BinarySearchTree()</text>
<text text-anchor="start" x="22" y="-354.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ BinarySearchTree()</text>
<text text-anchor="start" x="22" y="-343.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator=()</text>
<text text-anchor="start" x="22" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Size()</text>
<text text-anchor="start" x="22" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Clear()</text>
<text text-anchor="start" x="22" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Height()</text>
<text text-anchor="start" x="22" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Add()</text>
<text text-anchor="start" x="22" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Del()</text>
<text text-anchor="start" x="22" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ IsIn()</text>
<text text-anchor="start" x="22" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ DisplayInorder()</text>
<text text-anchor="start" x="22" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ DisplayPreorder()</text>
<text text-anchor="start" x="22" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ DisplayPostorder()</text>
<text text-anchor="start" x="22" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ DisplayBreadthFirstSearch()</text>
<text text-anchor="start" x="22" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetPointerToNode()</text>
<text text-anchor="start" x="22" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00"># HeightRecursive()</text>
<text text-anchor="start" x="22" y="-200.5" font-family="Helvetica,sans-Serif" font-size="10.00"># Find()</text>
<text text-anchor="start" x="22" y="-189.5" font-family="Helvetica,sans-Serif" font-size="10.00"># FindParent()</text>
<text text-anchor="start" x="22" y="-178.5" font-family="Helvetica,sans-Serif" font-size="10.00"># DisplayPostorderRecursive()</text>
<text text-anchor="start" x="22" y="-167.5" font-family="Helvetica,sans-Serif" font-size="10.00"># FixTree()</text>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node1 -->
<g id="edge1" class="edge"><title>Node2&#45;&gt;Node1</title>
<path fill="none" stroke="midnightblue" d="M90,-150.159C90,-140.977 90,-132.088 90,-123.72"/>
<polygon fill="none" stroke="midnightblue" points="86.5001,-150.226 90,-160.226 93.5001,-150.226 86.5001,-150.226"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 5.7 KiB

View File

@ -0,0 +1,22 @@
var _u_d_p_proxy_common_8h =
[
[ "UDP_FORWARDER_MAXIMUM_TIMEOUT", "d7/de7/_u_d_p_proxy_common_8h.xhtml#a65d6f65937ccacd1d3056bf832b14cd2", null ],
[ "UDPProxyMessages", "d7/de7/_u_d_p_proxy_common_8h.xhtml#a29484f0e9e8b610f2ef941aa44a1f9a2", [
[ "ID_UDP_PROXY_FORWARDING_SUCCEEDED", "d7/de7/_u_d_p_proxy_common_8h.xhtml#a29484f0e9e8b610f2ef941aa44a1f9a2a1d2c2a6d2aead0447309d8c21fbb43eb", null ],
[ "ID_UDP_PROXY_FORWARDING_NOTIFICATION", "d7/de7/_u_d_p_proxy_common_8h.xhtml#a29484f0e9e8b610f2ef941aa44a1f9a2a78973d656e0baf3f4a44dd001d0b704c", null ],
[ "ID_UDP_PROXY_NO_SERVERS_ONLINE", "d7/de7/_u_d_p_proxy_common_8h.xhtml#a29484f0e9e8b610f2ef941aa44a1f9a2a37f6ba98425f3077ca47e1a0bd269e9d", null ],
[ "ID_UDP_PROXY_RECIPIENT_GUID_NOT_CONNECTED_TO_COORDINATOR", "d7/de7/_u_d_p_proxy_common_8h.xhtml#a29484f0e9e8b610f2ef941aa44a1f9a2a7f6b879378bbf37a7acaa89eb6f5714d", null ],
[ "ID_UDP_PROXY_ALL_SERVERS_BUSY", "d7/de7/_u_d_p_proxy_common_8h.xhtml#a29484f0e9e8b610f2ef941aa44a1f9a2a38d5adfb5ecad1a743e422c069be724b", null ],
[ "ID_UDP_PROXY_IN_PROGRESS", "d7/de7/_u_d_p_proxy_common_8h.xhtml#a29484f0e9e8b610f2ef941aa44a1f9a2ac07bc5c17f5f021e491e542b352d32e6", null ],
[ "ID_UDP_PROXY_FORWARDING_REQUEST_FROM_CLIENT_TO_COORDINATOR", "d7/de7/_u_d_p_proxy_common_8h.xhtml#a29484f0e9e8b610f2ef941aa44a1f9a2a400d1d70525fb49c6f172e873e6716ef", null ],
[ "ID_UDP_PROXY_PING_SERVERS_FROM_COORDINATOR_TO_CLIENT", "d7/de7/_u_d_p_proxy_common_8h.xhtml#a29484f0e9e8b610f2ef941aa44a1f9a2adaede22cc5ac6f085fe8d96646344384", null ],
[ "ID_UDP_PROXY_PING_SERVERS_REPLY_FROM_CLIENT_TO_COORDINATOR", "d7/de7/_u_d_p_proxy_common_8h.xhtml#a29484f0e9e8b610f2ef941aa44a1f9a2a1ff614b051970e3bf9ea356458707ae3", null ],
[ "ID_UDP_PROXY_FORWARDING_REQUEST_FROM_COORDINATOR_TO_SERVER", "d7/de7/_u_d_p_proxy_common_8h.xhtml#a29484f0e9e8b610f2ef941aa44a1f9a2a8507758530db866a6607c6822ac81f59", null ],
[ "ID_UDP_PROXY_FORWARDING_REPLY_FROM_SERVER_TO_COORDINATOR", "d7/de7/_u_d_p_proxy_common_8h.xhtml#a29484f0e9e8b610f2ef941aa44a1f9a2aec594366544af162006ee3caf54b7e3c", null ],
[ "ID_UDP_PROXY_LOGIN_REQUEST_FROM_SERVER_TO_COORDINATOR", "d7/de7/_u_d_p_proxy_common_8h.xhtml#a29484f0e9e8b610f2ef941aa44a1f9a2a647a1f35adc22c996485e6a0795f6fb9", null ],
[ "ID_UDP_PROXY_LOGIN_SUCCESS_FROM_COORDINATOR_TO_SERVER", "d7/de7/_u_d_p_proxy_common_8h.xhtml#a29484f0e9e8b610f2ef941aa44a1f9a2a28d2d640e82dabf2d16f8d6a7e26a885", null ],
[ "ID_UDP_PROXY_ALREADY_LOGGED_IN_FROM_COORDINATOR_TO_SERVER", "d7/de7/_u_d_p_proxy_common_8h.xhtml#a29484f0e9e8b610f2ef941aa44a1f9a2a7c6c52f9d67f41549b178d15b7764da2", null ],
[ "ID_UDP_PROXY_NO_PASSWORD_SET_FROM_COORDINATOR_TO_SERVER", "d7/de7/_u_d_p_proxy_common_8h.xhtml#a29484f0e9e8b610f2ef941aa44a1f9a2af3ff7449888a51faa00d646c6cb64ff6", null ],
[ "ID_UDP_PROXY_WRONG_PASSWORD_FROM_COORDINATOR_TO_SERVER", "d7/de7/_u_d_p_proxy_common_8h.xhtml#a29484f0e9e8b610f2ef941aa44a1f9a2a40430d873d9fec017ca35cfd20d4ced9", null ]
] ]
];

View File

@ -0,0 +1,224 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>SLikeNet: Source/include/slikenet/UDPProxyCommon.h File Reference</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="../../index.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li class="current"><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../files.xhtml"><span>File&#160;List</span></a></li>
<li><a href="../../globals.xhtml"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('d7/de7/_u_d_p_proxy_common_8h.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#define-members">Macros</a> &#124;
<a href="#enum-members">Enumerations</a> </div>
<div class="headertitle">
<div class="title">UDPProxyCommon.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><a href="../../d7/de7/_u_d_p_proxy_common_8h_source.xhtml">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:a65d6f65937ccacd1d3056bf832b14cd2"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/de7/_u_d_p_proxy_common_8h.xhtml#a65d6f65937ccacd1d3056bf832b14cd2">UDP_FORWARDER_MAXIMUM_TIMEOUT</a>&#160;&#160;&#160;(60000 * 10)</td></tr>
<tr class="separator:a65d6f65937ccacd1d3056bf832b14cd2"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:a29484f0e9e8b610f2ef941aa44a1f9a2"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/de7/_u_d_p_proxy_common_8h.xhtml#a29484f0e9e8b610f2ef941aa44a1f9a2">UDPProxyMessages</a> { <br/>
&#160;&#160;<a class="el" href="../../d7/de7/_u_d_p_proxy_common_8h.xhtml#a29484f0e9e8b610f2ef941aa44a1f9a2a1d2c2a6d2aead0447309d8c21fbb43eb">ID_UDP_PROXY_FORWARDING_SUCCEEDED</a>,
<a class="el" href="../../d7/de7/_u_d_p_proxy_common_8h.xhtml#a29484f0e9e8b610f2ef941aa44a1f9a2a78973d656e0baf3f4a44dd001d0b704c">ID_UDP_PROXY_FORWARDING_NOTIFICATION</a>,
<a class="el" href="../../d7/de7/_u_d_p_proxy_common_8h.xhtml#a29484f0e9e8b610f2ef941aa44a1f9a2a37f6ba98425f3077ca47e1a0bd269e9d">ID_UDP_PROXY_NO_SERVERS_ONLINE</a>,
<a class="el" href="../../d7/de7/_u_d_p_proxy_common_8h.xhtml#a29484f0e9e8b610f2ef941aa44a1f9a2a7f6b879378bbf37a7acaa89eb6f5714d">ID_UDP_PROXY_RECIPIENT_GUID_NOT_CONNECTED_TO_COORDINATOR</a>,
<br/>
&#160;&#160;<a class="el" href="../../d7/de7/_u_d_p_proxy_common_8h.xhtml#a29484f0e9e8b610f2ef941aa44a1f9a2a38d5adfb5ecad1a743e422c069be724b">ID_UDP_PROXY_ALL_SERVERS_BUSY</a>,
<a class="el" href="../../d7/de7/_u_d_p_proxy_common_8h.xhtml#a29484f0e9e8b610f2ef941aa44a1f9a2ac07bc5c17f5f021e491e542b352d32e6">ID_UDP_PROXY_IN_PROGRESS</a>,
<a class="el" href="../../d7/de7/_u_d_p_proxy_common_8h.xhtml#a29484f0e9e8b610f2ef941aa44a1f9a2a400d1d70525fb49c6f172e873e6716ef">ID_UDP_PROXY_FORWARDING_REQUEST_FROM_CLIENT_TO_COORDINATOR</a>,
<a class="el" href="../../d7/de7/_u_d_p_proxy_common_8h.xhtml#a29484f0e9e8b610f2ef941aa44a1f9a2adaede22cc5ac6f085fe8d96646344384">ID_UDP_PROXY_PING_SERVERS_FROM_COORDINATOR_TO_CLIENT</a>,
<br/>
&#160;&#160;<a class="el" href="../../d7/de7/_u_d_p_proxy_common_8h.xhtml#a29484f0e9e8b610f2ef941aa44a1f9a2a1ff614b051970e3bf9ea356458707ae3">ID_UDP_PROXY_PING_SERVERS_REPLY_FROM_CLIENT_TO_COORDINATOR</a>,
<a class="el" href="../../d7/de7/_u_d_p_proxy_common_8h.xhtml#a29484f0e9e8b610f2ef941aa44a1f9a2a8507758530db866a6607c6822ac81f59">ID_UDP_PROXY_FORWARDING_REQUEST_FROM_COORDINATOR_TO_SERVER</a>,
<a class="el" href="../../d7/de7/_u_d_p_proxy_common_8h.xhtml#a29484f0e9e8b610f2ef941aa44a1f9a2aec594366544af162006ee3caf54b7e3c">ID_UDP_PROXY_FORWARDING_REPLY_FROM_SERVER_TO_COORDINATOR</a>,
<a class="el" href="../../d7/de7/_u_d_p_proxy_common_8h.xhtml#a29484f0e9e8b610f2ef941aa44a1f9a2a647a1f35adc22c996485e6a0795f6fb9">ID_UDP_PROXY_LOGIN_REQUEST_FROM_SERVER_TO_COORDINATOR</a>,
<br/>
&#160;&#160;<a class="el" href="../../d7/de7/_u_d_p_proxy_common_8h.xhtml#a29484f0e9e8b610f2ef941aa44a1f9a2a28d2d640e82dabf2d16f8d6a7e26a885">ID_UDP_PROXY_LOGIN_SUCCESS_FROM_COORDINATOR_TO_SERVER</a>,
<a class="el" href="../../d7/de7/_u_d_p_proxy_common_8h.xhtml#a29484f0e9e8b610f2ef941aa44a1f9a2a7c6c52f9d67f41549b178d15b7764da2">ID_UDP_PROXY_ALREADY_LOGGED_IN_FROM_COORDINATOR_TO_SERVER</a>,
<a class="el" href="../../d7/de7/_u_d_p_proxy_common_8h.xhtml#a29484f0e9e8b610f2ef941aa44a1f9a2af3ff7449888a51faa00d646c6cb64ff6">ID_UDP_PROXY_NO_PASSWORD_SET_FROM_COORDINATOR_TO_SERVER</a>,
<a class="el" href="../../d7/de7/_u_d_p_proxy_common_8h.xhtml#a29484f0e9e8b610f2ef941aa44a1f9a2a40430d873d9fec017ca35cfd20d4ced9">ID_UDP_PROXY_WRONG_PASSWORD_FROM_COORDINATOR_TO_SERVER</a>
<br/>
}</td></tr>
<tr class="separator:a29484f0e9e8b610f2ef941aa44a1f9a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a class="anchor" id="a65d6f65937ccacd1d3056bf832b14cd2"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define UDP_FORWARDER_MAXIMUM_TIMEOUT&#160;&#160;&#160;(60000 * 10)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d7/de7/_u_d_p_proxy_common_8h_source.xhtml#l00065">65</a> of file <a class="el" href="../../d7/de7/_u_d_p_proxy_common_8h_source.xhtml">UDPProxyCommon.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a class="anchor" id="a29484f0e9e8b610f2ef941aa44a1f9a2"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="../../d7/de7/_u_d_p_proxy_common_8h.xhtml#a29484f0e9e8b610f2ef941aa44a1f9a2">UDPProxyMessages</a></td>
</tr>
</table>
</div><div class="memdoc">
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="a29484f0e9e8b610f2ef941aa44a1f9a2a1d2c2a6d2aead0447309d8c21fbb43eb"></a>ID_UDP_PROXY_FORWARDING_SUCCEEDED</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a29484f0e9e8b610f2ef941aa44a1f9a2a78973d656e0baf3f4a44dd001d0b704c"></a>ID_UDP_PROXY_FORWARDING_NOTIFICATION</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a29484f0e9e8b610f2ef941aa44a1f9a2a37f6ba98425f3077ca47e1a0bd269e9d"></a>ID_UDP_PROXY_NO_SERVERS_ONLINE</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a29484f0e9e8b610f2ef941aa44a1f9a2a7f6b879378bbf37a7acaa89eb6f5714d"></a>ID_UDP_PROXY_RECIPIENT_GUID_NOT_CONNECTED_TO_COORDINATOR</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a29484f0e9e8b610f2ef941aa44a1f9a2a38d5adfb5ecad1a743e422c069be724b"></a>ID_UDP_PROXY_ALL_SERVERS_BUSY</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a29484f0e9e8b610f2ef941aa44a1f9a2ac07bc5c17f5f021e491e542b352d32e6"></a>ID_UDP_PROXY_IN_PROGRESS</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a29484f0e9e8b610f2ef941aa44a1f9a2a400d1d70525fb49c6f172e873e6716ef"></a>ID_UDP_PROXY_FORWARDING_REQUEST_FROM_CLIENT_TO_COORDINATOR</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a29484f0e9e8b610f2ef941aa44a1f9a2adaede22cc5ac6f085fe8d96646344384"></a>ID_UDP_PROXY_PING_SERVERS_FROM_COORDINATOR_TO_CLIENT</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a29484f0e9e8b610f2ef941aa44a1f9a2a1ff614b051970e3bf9ea356458707ae3"></a>ID_UDP_PROXY_PING_SERVERS_REPLY_FROM_CLIENT_TO_COORDINATOR</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a29484f0e9e8b610f2ef941aa44a1f9a2a8507758530db866a6607c6822ac81f59"></a>ID_UDP_PROXY_FORWARDING_REQUEST_FROM_COORDINATOR_TO_SERVER</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a29484f0e9e8b610f2ef941aa44a1f9a2aec594366544af162006ee3caf54b7e3c"></a>ID_UDP_PROXY_FORWARDING_REPLY_FROM_SERVER_TO_COORDINATOR</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a29484f0e9e8b610f2ef941aa44a1f9a2a647a1f35adc22c996485e6a0795f6fb9"></a>ID_UDP_PROXY_LOGIN_REQUEST_FROM_SERVER_TO_COORDINATOR</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a29484f0e9e8b610f2ef941aa44a1f9a2a28d2d640e82dabf2d16f8d6a7e26a885"></a>ID_UDP_PROXY_LOGIN_SUCCESS_FROM_COORDINATOR_TO_SERVER</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a29484f0e9e8b610f2ef941aa44a1f9a2a7c6c52f9d67f41549b178d15b7764da2"></a>ID_UDP_PROXY_ALREADY_LOGGED_IN_FROM_COORDINATOR_TO_SERVER</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a29484f0e9e8b610f2ef941aa44a1f9a2af3ff7449888a51faa00d646c6cb64ff6"></a>ID_UDP_PROXY_NO_PASSWORD_SET_FROM_COORDINATOR_TO_SERVER</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a29484f0e9e8b610f2ef941aa44a1f9a2a40430d873d9fec017ca35cfd20d4ced9"></a>ID_UDP_PROXY_WRONG_PASSWORD_FROM_COORDINATOR_TO_SERVER</em>&nbsp;</td><td>
</td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="../../d7/de7/_u_d_p_proxy_common_8h_source.xhtml#l00044">44</a> of file <a class="el" href="../../d7/de7/_u_d_p_proxy_common_8h_source.xhtml">UDPProxyCommon.h</a>.</p>
</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_74389ed8173ad57b461b9d623a1f3867.xhtml">Source</a></li><li class="navelem"><a class="el" href="../../dir_bbb90e3ef9167a594ae33323139a2595.xhtml">include</a></li><li class="navelem"><a class="el" href="../../dir_88467e66686deb9d3756fe4fc298e321.xhtml">slikenet</a></li><li class="navelem"><a class="el" href="../../d7/de7/_u_d_p_proxy_common_8h.xhtml">UDPProxyCommon.h</a></li>
<li class="footer">Generated on Wed Aug 14 2019 22:09:48 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,188 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>SLikeNet: Source/include/slikenet/UDPProxyCommon.h Source File</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="../../index.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li class="current"><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../files.xhtml"><span>File&#160;List</span></a></li>
<li><a href="../../globals.xhtml"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('d7/de7/_u_d_p_proxy_common_8h_source.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">UDPProxyCommon.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="../../d7/de7/_u_d_p_proxy_common_8h.xhtml">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> * Copyright (c) 2014, Oculus VR, Inc.</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> * All rights reserved.</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> * This source code is licensed under the BSD-style license found in the</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> * RakNet License.txt file in the licenses directory of this source tree. An additional grant </span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> * of patent rights can be found in the RakNet Patents.txt file in the same directory.</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;</div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="preprocessor">#ifndef __UDP_PROXY_COMMON_H</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define __UDP_PROXY_COMMON_H</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment">// System flow:</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment">UDPProxyClient: End user</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="comment">UDPProxyServer: open server, to route messages from end users that can&#39;t connect to each other using UDPForwarder class.</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment">UDPProxyCoordinator: Server somewhere, connected to by RakNet, to maintain a list of UDPProxyServer</span></div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="comment">UDPProxyServer</span></div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="comment"> On startup, log into UDPProxyCoordinator and register self</span></div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="comment">UDPProxyClient</span></div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="comment"> Wish to open route to X</span></div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="comment"> Send message to UDPProxyCoordinator containing X, desired timeout</span></div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="comment"> Wait for success or failure</span></div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="comment">UDPProxyCoordinator:</span></div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="comment">* Get openRouteRequest</span></div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="comment"> If no servers registered, return failure</span></div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="comment"> Add entry to memory</span></div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="comment"> chooseBestUDPProxyServer() (overridable, chooses at random by default)</span></div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="comment"> Query this server to StartForwarding(). Return success or failure</span></div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="comment"> If failure, choose another server from the remaining list. If none remaining, return failure. Else return success.</span></div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="comment">* Disconnect:</span></div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="comment"> If disconnected system is pending client on openRouteRequest, delete that request</span></div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="comment"> If disconnected system is UDPProxyServer, remove from list. For each pending client for this server, choose from remaining servers.</span></div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;<span class="comment">* Login:</span></div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;<span class="comment"> Add to UDPProxyServer list, validating password if set</span></div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;<span class="comment">*/</span></div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;<span class="comment">// Stored in the second byte after ID_UDP_PROXY_GENERAL</span></div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;<span class="comment">// Otherwise MessageIdentifiers.h is too cluttered and will hit the limit on enumerations in a single byte</span></div>
<div class="line"><a name="l00044"></a><span class="lineno"><a class="code" href="../../d7/de7/_u_d_p_proxy_common_8h.xhtml#a29484f0e9e8b610f2ef941aa44a1f9a2"> 44</a></span>&#160;<span class="keyword">enum</span> <a class="code" href="../../d7/de7/_u_d_p_proxy_common_8h.xhtml#a29484f0e9e8b610f2ef941aa44a1f9a2">UDPProxyMessages</a></div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;{</div>
<div class="line"><a name="l00046"></a><span class="lineno"><a class="code" href="../../d7/de7/_u_d_p_proxy_common_8h.xhtml#a29484f0e9e8b610f2ef941aa44a1f9a2a1d2c2a6d2aead0447309d8c21fbb43eb"> 46</a></span>&#160; <a class="code" href="../../d7/de7/_u_d_p_proxy_common_8h.xhtml#a29484f0e9e8b610f2ef941aa44a1f9a2a1d2c2a6d2aead0447309d8c21fbb43eb">ID_UDP_PROXY_FORWARDING_SUCCEEDED</a>,</div>
<div class="line"><a name="l00047"></a><span class="lineno"><a class="code" href="../../d7/de7/_u_d_p_proxy_common_8h.xhtml#a29484f0e9e8b610f2ef941aa44a1f9a2a78973d656e0baf3f4a44dd001d0b704c"> 47</a></span>&#160; <a class="code" href="../../d7/de7/_u_d_p_proxy_common_8h.xhtml#a29484f0e9e8b610f2ef941aa44a1f9a2a78973d656e0baf3f4a44dd001d0b704c">ID_UDP_PROXY_FORWARDING_NOTIFICATION</a>,</div>
<div class="line"><a name="l00048"></a><span class="lineno"><a class="code" href="../../d7/de7/_u_d_p_proxy_common_8h.xhtml#a29484f0e9e8b610f2ef941aa44a1f9a2a37f6ba98425f3077ca47e1a0bd269e9d"> 48</a></span>&#160; <a class="code" href="../../d7/de7/_u_d_p_proxy_common_8h.xhtml#a29484f0e9e8b610f2ef941aa44a1f9a2a37f6ba98425f3077ca47e1a0bd269e9d">ID_UDP_PROXY_NO_SERVERS_ONLINE</a>,</div>
<div class="line"><a name="l00049"></a><span class="lineno"><a class="code" href="../../d7/de7/_u_d_p_proxy_common_8h.xhtml#a29484f0e9e8b610f2ef941aa44a1f9a2a7f6b879378bbf37a7acaa89eb6f5714d"> 49</a></span>&#160; <a class="code" href="../../d7/de7/_u_d_p_proxy_common_8h.xhtml#a29484f0e9e8b610f2ef941aa44a1f9a2a7f6b879378bbf37a7acaa89eb6f5714d">ID_UDP_PROXY_RECIPIENT_GUID_NOT_CONNECTED_TO_COORDINATOR</a>,</div>
<div class="line"><a name="l00050"></a><span class="lineno"><a class="code" href="../../d7/de7/_u_d_p_proxy_common_8h.xhtml#a29484f0e9e8b610f2ef941aa44a1f9a2a38d5adfb5ecad1a743e422c069be724b"> 50</a></span>&#160; <a class="code" href="../../d7/de7/_u_d_p_proxy_common_8h.xhtml#a29484f0e9e8b610f2ef941aa44a1f9a2a38d5adfb5ecad1a743e422c069be724b">ID_UDP_PROXY_ALL_SERVERS_BUSY</a>,</div>
<div class="line"><a name="l00051"></a><span class="lineno"><a class="code" href="../../d7/de7/_u_d_p_proxy_common_8h.xhtml#a29484f0e9e8b610f2ef941aa44a1f9a2ac07bc5c17f5f021e491e542b352d32e6"> 51</a></span>&#160; <a class="code" href="../../d7/de7/_u_d_p_proxy_common_8h.xhtml#a29484f0e9e8b610f2ef941aa44a1f9a2ac07bc5c17f5f021e491e542b352d32e6">ID_UDP_PROXY_IN_PROGRESS</a>,</div>
<div class="line"><a name="l00052"></a><span class="lineno"><a class="code" href="../../d7/de7/_u_d_p_proxy_common_8h.xhtml#a29484f0e9e8b610f2ef941aa44a1f9a2a400d1d70525fb49c6f172e873e6716ef"> 52</a></span>&#160; <a class="code" href="../../d7/de7/_u_d_p_proxy_common_8h.xhtml#a29484f0e9e8b610f2ef941aa44a1f9a2a400d1d70525fb49c6f172e873e6716ef">ID_UDP_PROXY_FORWARDING_REQUEST_FROM_CLIENT_TO_COORDINATOR</a>,</div>
<div class="line"><a name="l00053"></a><span class="lineno"><a class="code" href="../../d7/de7/_u_d_p_proxy_common_8h.xhtml#a29484f0e9e8b610f2ef941aa44a1f9a2adaede22cc5ac6f085fe8d96646344384"> 53</a></span>&#160; <a class="code" href="../../d7/de7/_u_d_p_proxy_common_8h.xhtml#a29484f0e9e8b610f2ef941aa44a1f9a2adaede22cc5ac6f085fe8d96646344384">ID_UDP_PROXY_PING_SERVERS_FROM_COORDINATOR_TO_CLIENT</a>,</div>
<div class="line"><a name="l00054"></a><span class="lineno"><a class="code" href="../../d7/de7/_u_d_p_proxy_common_8h.xhtml#a29484f0e9e8b610f2ef941aa44a1f9a2a1ff614b051970e3bf9ea356458707ae3"> 54</a></span>&#160; <a class="code" href="../../d7/de7/_u_d_p_proxy_common_8h.xhtml#a29484f0e9e8b610f2ef941aa44a1f9a2a1ff614b051970e3bf9ea356458707ae3">ID_UDP_PROXY_PING_SERVERS_REPLY_FROM_CLIENT_TO_COORDINATOR</a>,</div>
<div class="line"><a name="l00055"></a><span class="lineno"><a class="code" href="../../d7/de7/_u_d_p_proxy_common_8h.xhtml#a29484f0e9e8b610f2ef941aa44a1f9a2a8507758530db866a6607c6822ac81f59"> 55</a></span>&#160; <a class="code" href="../../d7/de7/_u_d_p_proxy_common_8h.xhtml#a29484f0e9e8b610f2ef941aa44a1f9a2a8507758530db866a6607c6822ac81f59">ID_UDP_PROXY_FORWARDING_REQUEST_FROM_COORDINATOR_TO_SERVER</a>,</div>
<div class="line"><a name="l00056"></a><span class="lineno"><a class="code" href="../../d7/de7/_u_d_p_proxy_common_8h.xhtml#a29484f0e9e8b610f2ef941aa44a1f9a2aec594366544af162006ee3caf54b7e3c"> 56</a></span>&#160; <a class="code" href="../../d7/de7/_u_d_p_proxy_common_8h.xhtml#a29484f0e9e8b610f2ef941aa44a1f9a2aec594366544af162006ee3caf54b7e3c">ID_UDP_PROXY_FORWARDING_REPLY_FROM_SERVER_TO_COORDINATOR</a>,</div>
<div class="line"><a name="l00057"></a><span class="lineno"><a class="code" href="../../d7/de7/_u_d_p_proxy_common_8h.xhtml#a29484f0e9e8b610f2ef941aa44a1f9a2a647a1f35adc22c996485e6a0795f6fb9"> 57</a></span>&#160; <a class="code" href="../../d7/de7/_u_d_p_proxy_common_8h.xhtml#a29484f0e9e8b610f2ef941aa44a1f9a2a647a1f35adc22c996485e6a0795f6fb9">ID_UDP_PROXY_LOGIN_REQUEST_FROM_SERVER_TO_COORDINATOR</a>,</div>
<div class="line"><a name="l00058"></a><span class="lineno"><a class="code" href="../../d7/de7/_u_d_p_proxy_common_8h.xhtml#a29484f0e9e8b610f2ef941aa44a1f9a2a28d2d640e82dabf2d16f8d6a7e26a885"> 58</a></span>&#160; <a class="code" href="../../d7/de7/_u_d_p_proxy_common_8h.xhtml#a29484f0e9e8b610f2ef941aa44a1f9a2a28d2d640e82dabf2d16f8d6a7e26a885">ID_UDP_PROXY_LOGIN_SUCCESS_FROM_COORDINATOR_TO_SERVER</a>,</div>
<div class="line"><a name="l00059"></a><span class="lineno"><a class="code" href="../../d7/de7/_u_d_p_proxy_common_8h.xhtml#a29484f0e9e8b610f2ef941aa44a1f9a2a7c6c52f9d67f41549b178d15b7764da2"> 59</a></span>&#160; <a class="code" href="../../d7/de7/_u_d_p_proxy_common_8h.xhtml#a29484f0e9e8b610f2ef941aa44a1f9a2a7c6c52f9d67f41549b178d15b7764da2">ID_UDP_PROXY_ALREADY_LOGGED_IN_FROM_COORDINATOR_TO_SERVER</a>,</div>
<div class="line"><a name="l00060"></a><span class="lineno"><a class="code" href="../../d7/de7/_u_d_p_proxy_common_8h.xhtml#a29484f0e9e8b610f2ef941aa44a1f9a2af3ff7449888a51faa00d646c6cb64ff6"> 60</a></span>&#160; <a class="code" href="../../d7/de7/_u_d_p_proxy_common_8h.xhtml#a29484f0e9e8b610f2ef941aa44a1f9a2af3ff7449888a51faa00d646c6cb64ff6">ID_UDP_PROXY_NO_PASSWORD_SET_FROM_COORDINATOR_TO_SERVER</a>,</div>
<div class="line"><a name="l00061"></a><span class="lineno"><a class="code" href="../../d7/de7/_u_d_p_proxy_common_8h.xhtml#a29484f0e9e8b610f2ef941aa44a1f9a2a40430d873d9fec017ca35cfd20d4ced9"> 61</a></span>&#160; <a class="code" href="../../d7/de7/_u_d_p_proxy_common_8h.xhtml#a29484f0e9e8b610f2ef941aa44a1f9a2a40430d873d9fec017ca35cfd20d4ced9">ID_UDP_PROXY_WRONG_PASSWORD_FROM_COORDINATOR_TO_SERVER</a></div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;};</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;</div>
<div class="line"><a name="l00065"></a><span class="lineno"><a class="code" href="../../d7/de7/_u_d_p_proxy_common_8h.xhtml#a65d6f65937ccacd1d3056bf832b14cd2"> 65</a></span>&#160;<span class="preprocessor">#define UDP_FORWARDER_MAXIMUM_TIMEOUT (60000 * 10)</span></div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;<span class="preprocessor">#endif</span></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_74389ed8173ad57b461b9d623a1f3867.xhtml">Source</a></li><li class="navelem"><a class="el" href="../../dir_bbb90e3ef9167a594ae33323139a2595.xhtml">include</a></li><li class="navelem"><a class="el" href="../../dir_88467e66686deb9d3756fe4fc298e321.xhtml">slikenet</a></li><li class="navelem"><a class="el" href="../../d7/de7/_u_d_p_proxy_common_8h.xhtml">UDPProxyCommon.h</a></li>
<li class="footer">Generated on Wed Aug 14 2019 22:09:46 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,133 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>SLikeNet: Member List</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="../../index.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li class="current"><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../annotated.xhtml"><span>Class&#160;List</span></a></li>
<li><a href="../../classes.xhtml"><span>Class&#160;Index</span></a></li>
<li><a href="../../inherits.xhtml"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="../../functions.xhtml"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('de/d2c/class_data_structures_1_1_tree.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">DataStructures::Tree&lt; TreeType &gt; Member List</div> </div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="../../de/d2c/class_data_structures_1_1_tree.xhtml">DataStructures::Tree&lt; TreeType &gt;</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="../../de/d2c/class_data_structures_1_1_tree.xhtml#afc04d95eb9388294455c948b28c8a396">AddChild</a>(TreeType &amp;newData)</td><td class="entry"><a class="el" href="../../de/d2c/class_data_structures_1_1_tree.xhtml">DataStructures::Tree&lt; TreeType &gt;</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../de/d2c/class_data_structures_1_1_tree.xhtml#a13b78d683620e94033d89fa950f4bda6">children</a></td><td class="entry"><a class="el" href="../../de/d2c/class_data_structures_1_1_tree.xhtml">DataStructures::Tree&lt; TreeType &gt;</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../de/d2c/class_data_structures_1_1_tree.xhtml#aa0ddb15c34075d02357b08c917bd4196">data</a></td><td class="entry"><a class="el" href="../../de/d2c/class_data_structures_1_1_tree.xhtml">DataStructures::Tree&lt; TreeType &gt;</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../de/d2c/class_data_structures_1_1_tree.xhtml#a9c5a255e506458607a63c30e25c51281">DeleteDecendants</a>(void)</td><td class="entry"><a class="el" href="../../de/d2c/class_data_structures_1_1_tree.xhtml">DataStructures::Tree&lt; TreeType &gt;</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../de/d2c/class_data_structures_1_1_tree.xhtml#a660c39c9552fad648c83967885d76f63">LevelOrderTraversal</a>(DataStructures::List&lt; Tree * &gt; &amp;output)</td><td class="entry"><a class="el" href="../../de/d2c/class_data_structures_1_1_tree.xhtml">DataStructures::Tree&lt; TreeType &gt;</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../de/d2c/class_data_structures_1_1_tree.xhtml#ac3dd3d1bb9ccc727bf9d221c91de2e68">Tree</a>()</td><td class="entry"><a class="el" href="../../de/d2c/class_data_structures_1_1_tree.xhtml">DataStructures::Tree&lt; TreeType &gt;</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../de/d2c/class_data_structures_1_1_tree.xhtml#ae4fe46d6df890387aff415f12b988963">Tree</a>(TreeType &amp;inputData)</td><td class="entry"><a class="el" href="../../de/d2c/class_data_structures_1_1_tree.xhtml">DataStructures::Tree&lt; TreeType &gt;</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../de/d2c/class_data_structures_1_1_tree.xhtml#acfc53c17987ecb7490f028cfefa57f79">~Tree</a>()</td><td class="entry"><a class="el" href="../../de/d2c/class_data_structures_1_1_tree.xhtml">DataStructures::Tree&lt; TreeType &gt;</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated on Wed Aug 14 2019 22:09:49 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,73 @@
var group___t_e_a_m___b_a_l_a_n_c_e_r___g_r_o_u_p =
[
[ "TeamBalancer", "d7/dfc/group___t_e_a_m___b_a_l_a_n_c_e_r___g_r_o_u_p.xhtml#de/ddd/class_s_l_net_1_1_team_balancer", [
[ "DefaultAssigmentAlgorithm", "d7/dfc/group___t_e_a_m___b_a_l_a_n_c_e_r___g_r_o_u_p.xhtml#a9de4a32384ccb28ce300c12d481ae4a8", [
[ "SMALLEST_TEAM", "d7/dfc/group___t_e_a_m___b_a_l_a_n_c_e_r___g_r_o_u_p.xhtml#a9de4a32384ccb28ce300c12d481ae4a8a16f2fe8d8b3fd59cb2170af9fc6e4936", null ],
[ "FILL_IN_ORDER", "d7/dfc/group___t_e_a_m___b_a_l_a_n_c_e_r___g_r_o_u_p.xhtml#a9de4a32384ccb28ce300c12d481ae4a8a516cef9912a5dac4ea90bf6bd656e824", null ]
] ],
[ "TeamBalancer", "d7/dfc/group___t_e_a_m___b_a_l_a_n_c_e_r___g_r_o_u_p.xhtml#a898d01e933eb35120408113ecf7ee575", null ],
[ "~TeamBalancer", "d7/dfc/group___t_e_a_m___b_a_l_a_n_c_e_r___g_r_o_u_p.xhtml#a83455c14968af3761eba2c33474c1657", null ],
[ "AddTeamMember", "d7/dfc/group___t_e_a_m___b_a_l_a_n_c_e_r___g_r_o_u_p.xhtml#ae9d08d010c25ebf7807918a2a4ac8584", null ],
[ "CancelRequestSpecificTeam", "d7/dfc/group___t_e_a_m___b_a_l_a_n_c_e_r___g_r_o_u_p.xhtml#a8934a135d01d47a641c495fb905e35cf", null ],
[ "DeleteMember", "d7/dfc/group___t_e_a_m___b_a_l_a_n_c_e_r___g_r_o_u_p.xhtml#a1d71b6439f557d5e4d97bea6f13ce995", null ],
[ "EvenTeams", "d7/dfc/group___t_e_a_m___b_a_l_a_n_c_e_r___g_r_o_u_p.xhtml#a2d429bcbe44e0a87b84331cb015ce8a5", null ],
[ "GetFirstNonFullTeam", "d7/dfc/group___t_e_a_m___b_a_l_a_n_c_e_r___g_r_o_u_p.xhtml#a074e016c371eaba9389fd9312e86d93b", null ],
[ "GetMemberIndex", "d7/dfc/group___t_e_a_m___b_a_l_a_n_c_e_r___g_r_o_u_p.xhtml#ad011d5195729baa60fe85794d24a3dc8", null ],
[ "GetMemberIndexToSwitchTeams", "d7/dfc/group___t_e_a_m___b_a_l_a_n_c_e_r___g_r_o_u_p.xhtml#a05ded673b26751d769b168e409469fc3", null ],
[ "GetMinMaxTeamMembers", "d7/dfc/group___t_e_a_m___b_a_l_a_n_c_e_r___g_r_o_u_p.xhtml#ad9420e7344c0fb9fb5e480e021d31cac", null ],
[ "GetMyTeam", "d7/dfc/group___t_e_a_m___b_a_l_a_n_c_e_r___g_r_o_u_p.xhtml#af131f68b964334ebfb3c48597bbc9475", null ],
[ "GetNextDefaultTeam", "d7/dfc/group___t_e_a_m___b_a_l_a_n_c_e_r___g_r_o_u_p.xhtml#a7022b3909c60d61c840248aa9d697467", null ],
[ "GetOverpopulatedTeams", "d7/dfc/group___t_e_a_m___b_a_l_a_n_c_e_r___g_r_o_u_p.xhtml#ae61f6eee03eee5bfe3cd32c973293f03", null ],
[ "GetSmallestNonFullTeam", "d7/dfc/group___t_e_a_m___b_a_l_a_n_c_e_r___g_r_o_u_p.xhtml#af3c1b9bd5ca0b131f97069c8a4530442", null ],
[ "MoveMemberThatWantsToJoinTeam", "d7/dfc/group___t_e_a_m___b_a_l_a_n_c_e_r___g_r_o_u_p.xhtml#a72f2dea409a28878b594b1e814285ee9", null ],
[ "MoveMemberThatWantsToJoinTeamInternal", "d7/dfc/group___t_e_a_m___b_a_l_a_n_c_e_r___g_r_o_u_p.xhtml#ab7662b490741e2845a6daeece9ac5cad", null ],
[ "NotifyNoTeam", "d7/dfc/group___t_e_a_m___b_a_l_a_n_c_e_r___g_r_o_u_p.xhtml#a144df7a27a6f10e9aabe676a762d9270", null ],
[ "NotifyTeamAssigment", "d7/dfc/group___t_e_a_m___b_a_l_a_n_c_e_r___g_r_o_u_p.xhtml#a640c6b8c086c6d5ed53eb255a8bb2c37", null ],
[ "NotifyTeamsLocked", "d7/dfc/group___t_e_a_m___b_a_l_a_n_c_e_r___g_r_o_u_p.xhtml#a1b5a34d8101604857f0a575fc6c6f23c", null ],
[ "NotifyTeamSwitchPending", "d7/dfc/group___t_e_a_m___b_a_l_a_n_c_e_r___g_r_o_u_p.xhtml#a3d933edb5bdd683ac8c7457ea77d5193", null ],
[ "OnAttach", "d7/dfc/group___t_e_a_m___b_a_l_a_n_c_e_r___g_r_o_u_p.xhtml#aa4f1fbfa06b01665a3d2c5b67839a541", null ],
[ "OnCancelTeamRequest", "d7/dfc/group___t_e_a_m___b_a_l_a_n_c_e_r___g_r_o_u_p.xhtml#aad394dd08c0703909ff762275061eb82", null ],
[ "OnClosedConnection", "d7/dfc/group___t_e_a_m___b_a_l_a_n_c_e_r___g_r_o_u_p.xhtml#af65cf620daddde4f01805c3ff3b42cc3", null ],
[ "OnReceive", "d7/dfc/group___t_e_a_m___b_a_l_a_n_c_e_r___g_r_o_u_p.xhtml#ae2c16e062bb407f3b504101172ba8f31", null ],
[ "OnRequestAnyTeam", "d7/dfc/group___t_e_a_m___b_a_l_a_n_c_e_r___g_r_o_u_p.xhtml#a158e27e06ab926f63cf01f29c3bcf400", null ],
[ "OnRequestedTeamChangePending", "d7/dfc/group___t_e_a_m___b_a_l_a_n_c_e_r___g_r_o_u_p.xhtml#adab0082143b910fd28cf75b4f6e66db8", null ],
[ "OnRequestSpecificTeam", "d7/dfc/group___t_e_a_m___b_a_l_a_n_c_e_r___g_r_o_u_p.xhtml#a5bcaece749161cc5b25b07d94d4925b1", null ],
[ "OnStatusUpdateToNewHost", "d7/dfc/group___t_e_a_m___b_a_l_a_n_c_e_r___g_r_o_u_p.xhtml#a519d012d011d33aa973a61a83970e475", null ],
[ "OnTeamAssigned", "d7/dfc/group___t_e_a_m___b_a_l_a_n_c_e_r___g_r_o_u_p.xhtml#af36e3ddab2655bc7beae5366edff5597", null ],
[ "OnTeamsLocked", "d7/dfc/group___t_e_a_m___b_a_l_a_n_c_e_r___g_r_o_u_p.xhtml#ae23db2796a8c0b2e12c2e3a80be599d6", null ],
[ "RemoveByGuid", "d7/dfc/group___t_e_a_m___b_a_l_a_n_c_e_r___g_r_o_u_p.xhtml#a6c30b0ac5dacc916966faa7394d5f6cc", null ],
[ "RemoveTeamMember", "d7/dfc/group___t_e_a_m___b_a_l_a_n_c_e_r___g_r_o_u_p.xhtml#a33ce4a6628986e97ac968e48ef57386d", null ],
[ "RequestAnyTeam", "d7/dfc/group___t_e_a_m___b_a_l_a_n_c_e_r___g_r_o_u_p.xhtml#a6e50cf20321164f472efca558c632f7a", null ],
[ "RequestSpecificTeam", "d7/dfc/group___t_e_a_m___b_a_l_a_n_c_e_r___g_r_o_u_p.xhtml#a132923a39d6643a7c88af4b2b9eec0bd", null ],
[ "SetDefaultAssignmentAlgorithm", "d7/dfc/group___t_e_a_m___b_a_l_a_n_c_e_r___g_r_o_u_p.xhtml#a464759563733e4fbd6c621058f370a6c", null ],
[ "SetForceEvenTeams", "d7/dfc/group___t_e_a_m___b_a_l_a_n_c_e_r___g_r_o_u_p.xhtml#aa1d03ef430401b2d1956f7982367254f", null ],
[ "SetLockTeams", "d7/dfc/group___t_e_a_m___b_a_l_a_n_c_e_r___g_r_o_u_p.xhtml#a3088a7c6fd42d37fb4a35380d821eba8", null ],
[ "SetTeamSizeLimit", "d7/dfc/group___t_e_a_m___b_a_l_a_n_c_e_r___g_r_o_u_p.xhtml#aa96a5ab0c1bd5f10e456a1a25483a574", null ],
[ "SwapTeamMembersByRequest", "d7/dfc/group___t_e_a_m___b_a_l_a_n_c_e_r___g_r_o_u_p.xhtml#a76e20bdfc5228c50474115d26677d4a5", null ],
[ "SwitchMemberTeam", "d7/dfc/group___t_e_a_m___b_a_l_a_n_c_e_r___g_r_o_u_p.xhtml#a6c690cbd636eeecd6ad99dd0ab4ea761", null ],
[ "TeamsWouldBeEvenOnSwitch", "d7/dfc/group___t_e_a_m___b_a_l_a_n_c_e_r___g_r_o_u_p.xhtml#a3767f4e0d9ff145ca455ca423fb9687c", null ],
[ "TeamWouldBeOverpopulatedOnAddition", "d7/dfc/group___t_e_a_m___b_a_l_a_n_c_e_r___g_r_o_u_p.xhtml#a93c9124d5f9801ccc15b89aa7ccbef2b", null ],
[ "TeamWouldBeUnderpopulatedOnLeave", "d7/dfc/group___t_e_a_m___b_a_l_a_n_c_e_r___g_r_o_u_p.xhtml#a0e53627909c328838fa06757e49cdcc0", null ],
[ "WeAreHost", "d7/dfc/group___t_e_a_m___b_a_l_a_n_c_e_r___g_r_o_u_p.xhtml#a13952460534e1d57791877d8c5e39d62", null ],
[ "defaultAssigmentAlgorithm", "d7/dfc/group___t_e_a_m___b_a_l_a_n_c_e_r___g_r_o_u_p.xhtml#ad27f26da1665bd2c57dc78b37a43ffa0", null ],
[ "forceTeamsToBeEven", "d7/dfc/group___t_e_a_m___b_a_l_a_n_c_e_r___g_r_o_u_p.xhtml#acc6eb35f9bf7f2c362e2630b221e1127", null ],
[ "hostGuid", "d7/dfc/group___t_e_a_m___b_a_l_a_n_c_e_r___g_r_o_u_p.xhtml#aa3c42a43e69f0241998fa7733ae7d5b0", null ],
[ "lockTeams", "d7/dfc/group___t_e_a_m___b_a_l_a_n_c_e_r___g_r_o_u_p.xhtml#adf1751df350b21316db4b20146cc9a41", null ],
[ "myTeamMembers", "d7/dfc/group___t_e_a_m___b_a_l_a_n_c_e_r___g_r_o_u_p.xhtml#a6a651d20ab14bfd7864b5880c9658c23", null ],
[ "teamLimits", "d7/dfc/group___t_e_a_m___b_a_l_a_n_c_e_r___g_r_o_u_p.xhtml#aa18fc510021faae624d4ee375fbd46b2", null ],
[ "teamMemberCounts", "d7/dfc/group___t_e_a_m___b_a_l_a_n_c_e_r___g_r_o_u_p.xhtml#a561474def50d400a6c045a8874ceb45a", null ],
[ "teamMembers", "d7/dfc/group___t_e_a_m___b_a_l_a_n_c_e_r___g_r_o_u_p.xhtml#abdb68e4cf25b298e97db9eef70007f41", null ]
] ],
[ "MyTeamMembers", "d7/dfc/group___t_e_a_m___b_a_l_a_n_c_e_r___g_r_o_u_p.xhtml#de/d82/struct_s_l_net_1_1_team_balancer_1_1_my_team_members", [
[ "currentTeam", "d7/dfc/group___t_e_a_m___b_a_l_a_n_c_e_r___g_r_o_u_p.xhtml#a37d468e800dd1274869be949e06da881", null ],
[ "memberId", "d7/dfc/group___t_e_a_m___b_a_l_a_n_c_e_r___g_r_o_u_p.xhtml#a155cffe06bfa575ba77eb059d7b3369f", null ],
[ "requestedTeam", "d7/dfc/group___t_e_a_m___b_a_l_a_n_c_e_r___g_r_o_u_p.xhtml#ac4e5914d3c64f74528b39c4f1f4e4788", null ]
] ],
[ "TeamMember", "d7/dfc/group___t_e_a_m___b_a_l_a_n_c_e_r___g_r_o_u_p.xhtml#d0/d88/struct_s_l_net_1_1_team_balancer_1_1_team_member", [
[ "currentTeam", "d7/dfc/group___t_e_a_m___b_a_l_a_n_c_e_r___g_r_o_u_p.xhtml#ab2001a136108156f8092c992265ec167", null ],
[ "memberGuid", "d7/dfc/group___t_e_a_m___b_a_l_a_n_c_e_r___g_r_o_u_p.xhtml#af1dd428fe1b3acb3a721d1e0a1ee9f19", null ],
[ "memberId", "d7/dfc/group___t_e_a_m___b_a_l_a_n_c_e_r___g_r_o_u_p.xhtml#a87a27ea668268c473ae42caf9e91e407", null ],
[ "requestedTeam", "d7/dfc/group___t_e_a_m___b_a_l_a_n_c_e_r___g_r_o_u_p.xhtml#ab12cc83b37208c53c6adc52efd58f5b9", null ]
] ],
[ "TeamId", "d7/dfc/group___t_e_a_m___b_a_l_a_n_c_e_r___g_r_o_u_p.xhtml#gaa4be742616eef09f76f4a74f8bb8b9f7", null ]
];

File diff suppressed because it is too large Load Diff