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,148 @@
<!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/PacketConsoleLogger.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('d4/d09/_packet_console_logger_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">PacketConsoleLogger.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>This will write all incoming and outgoing network messages to the log command parser, which can be accessed through Telnet.
<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="../../de/dd0/_packet_logger_8h_source.xhtml">PacketLogger.h</a>&quot;</code><br/>
</div>
<p><a href="../../d4/d09/_packet_console_logger_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:d1/d74/class_s_l_net_1_1_packet_console_logger"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d7d/group___p_a_c_k_e_t_l_o_g_g_e_r___g_r_o_u_p.xhtml#d1/d74/class_s_l_net_1_1_packet_console_logger">SLNet::PacketConsoleLogger</a></td></tr>
<tr class="memdesc:d1/d74/class_s_l_net_1_1_packet_console_logger"><td class="mdescLeft">&#160;</td><td class="mdescRight">Packetlogger that logs to a remote command console. <a href="../../dc/d7d/group___p_a_c_k_e_t_l_o_g_g_e_r___g_r_o_u_p.xhtml#d1/d74/class_s_l_net_1_1_packet_console_logger">More...</a><br/></td></tr>
<tr class="separator:d1/d74/class_s_l_net_1_1_packet_console_logger"><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>This will write all incoming and outgoing network messages to the log command parser, which can be accessed through Telnet. </p>
<p>Definition in file <a class="el" href="../../d4/d09/_packet_console_logger_8h_source.xhtml">PacketConsoleLogger.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="../../d4/d09/_packet_console_logger_8h.xhtml">PacketConsoleLogger.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,165 @@
<!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/PacketConsoleLogger.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('d4/d09/_packet_console_logger_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">PacketConsoleLogger.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="../../d4/d09/_packet_console_logger_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;<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="l00021"></a><span class="lineno"> 21</span>&#160;<span class="preprocessor">#if _RAKNET_SUPPORT_LogCommandParser==1 &amp;&amp; _RAKNET_SUPPORT_PacketLogger==1</span></div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="preprocessor">#ifndef __PACKET_CONSOLE_LOGGER_H_</span></div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define __PACKET_CONSOLE_LOGGER_H_</span></div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../de/dd0/_packet_logger_8h.xhtml" title="This will write all incoming and outgoing network messages to the local console screen. See derived functions for other outputs.">PacketLogger.h</a>&quot;</span></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="l00031"></a><span class="lineno"> 31</span>&#160;<span class="keyword">class </span>LogCommandParser;</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;</div>
<div class="line"><a name="l00035"></a><span class="lineno"><a class="code" href="../../dc/d7d/group___p_a_c_k_e_t_l_o_g_g_e_r___g_r_o_u_p.xhtml"> 35</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="../../dc/d7d/group___p_a_c_k_e_t_l_o_g_g_e_r___g_r_o_u_p.xhtml#d1/d74/class_s_l_net_1_1_packet_console_logger" title="Packetlogger that logs to a remote command console.">PacketConsoleLogger</a> : <span class="keyword">public</span> <a class="code" href="../../dc/d7d/group___p_a_c_k_e_t_l_o_g_g_e_r___g_r_o_u_p.xhtml#d9/d2e/class_s_l_net_1_1_packet_logger" title="Writes incoming and outgoing messages to the screen. This will write all incoming and outgoing messag...">PacketLogger</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;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; <a class="code" href="../../dc/d7d/group___p_a_c_k_e_t_l_o_g_g_e_r___g_r_o_u_p.xhtml#d1/d74/class_s_l_net_1_1_packet_console_logger" title="Packetlogger that logs to a remote command console.">PacketConsoleLogger</a>();</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; <span class="comment">// Writes to the command parser used for logging, which is accessed through a secondary communication layer (such as Telnet or RakNet) - See ConsoleServer.h</span></div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> SetLogCommandParser(<a class="code" href="../../d5/da2/class_s_l_net_1_1_log_command_parser.xhtml" title="Adds the ability to send logging output to a remote console.">LogCommandParser</a> *lcp);</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> WriteLog(<span class="keyword">const</span> <span class="keywordtype">char</span> *str);</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;<span class="keyword">protected</span>:</div>
<div class="line"><a name="l00043"></a><span class="lineno"><a class="code" href="../../dc/d7d/group___p_a_c_k_e_t_l_o_g_g_e_r___g_r_o_u_p.xhtml#aad4905e5d642629d2286795be2159400"> 43</a></span>&#160; <a class="code" href="../../d5/da2/class_s_l_net_1_1_log_command_parser.xhtml" title="Adds the ability to send logging output to a remote console.">LogCommandParser</a> *<a class="code" href="../../dc/d7d/group___p_a_c_k_e_t_l_o_g_g_e_r___g_r_o_u_p.xhtml#aad4905e5d642629d2286795be2159400">logCommandParser</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;</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;} <span class="comment">// namespace SLNet</span></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="preprocessor">#endif</span></div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</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="../../d4/d09/_packet_console_logger_8h.xhtml">PacketConsoleLogger.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,8 @@
var class_s_l_net_1_1_autopatcher_repository_interface =
[
[ "GetChangelistSinceDate", "d4/d11/class_s_l_net_1_1_autopatcher_repository_interface.xhtml#a8eef3a6f06a92bb245bfa0f9e6adc8a1", null ],
[ "GetIncrementalReadChunkSize", "d4/d11/class_s_l_net_1_1_autopatcher_repository_interface.xhtml#a8a65525c22a23e7c55b3e7961d7787cf", null ],
[ "GetLastError", "d4/d11/class_s_l_net_1_1_autopatcher_repository_interface.xhtml#acc59bf21da9abfb543d69363dcdaadf6", null ],
[ "GetMostRecentChangelistWithPatches", "d4/d11/class_s_l_net_1_1_autopatcher_repository_interface.xhtml#ae2df86b71d1862dd7e0811a503a014e5", null ],
[ "GetPatches", "d4/d11/class_s_l_net_1_1_autopatcher_repository_interface.xhtml#a422a49494a4964d310e0532cd0514894", null ]
];

View File

@ -0,0 +1,410 @@
<!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::AutopatcherRepositoryInterface 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('d4/d11/class_s_l_net_1_1_autopatcher_repository_interface.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="../../d1/d01/class_s_l_net_1_1_autopatcher_repository_interface-members.xhtml">List of all members</a> </div>
<div class="headertitle">
<div class="title">SLNet::AutopatcherRepositoryInterface Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div> </div>
</div><!--header-->
<div class="contents">
<p>An interface used by AutopatcherServer to get the data necessary to run an autopatcher. This is up to you to implement for custom repository solutions.
<a href="../../d4/d11/class_s_l_net_1_1_autopatcher_repository_interface.xhtml#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="../../d1/da6/_autopatcher_repository_interface_8h_source.xhtml">slikenet/AutopatcherRepositoryInterface.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::AutopatcherRepositoryInterface:</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"><iframe scrolling="no" frameborder="0" src="../../d6/d3f/class_s_l_net_1_1_autopatcher_repository_interface__inherit__graph.svg" width="234" height="331"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</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:a8eef3a6f06a92bb245bfa0f9e6adc8a1"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/d11/class_s_l_net_1_1_autopatcher_repository_interface.xhtml#a8eef3a6f06a92bb245bfa0f9e6adc8a1">GetChangelistSinceDate</a> (const char *applicationName, <a class="el" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml">FileList</a> *addedOrModifiedFilesWithHashData, <a class="el" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml">FileList</a> *deletedFiles, double sinceDate)=0</td></tr>
<tr class="separator:a8eef3a6f06a92bb245bfa0f9e6adc8a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a422a49494a4964d310e0532cd0514894"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/d11/class_s_l_net_1_1_autopatcher_repository_interface.xhtml#a422a49494a4964d310e0532cd0514894">GetPatches</a> (const char *applicationName, <a class="el" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml">FileList</a> *input, bool allowDownloadOfOriginalUnmodifiedFiles, <a class="el" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml">FileList</a> *patchList)=0</td></tr>
<tr class="separator:a422a49494a4964d310e0532cd0514894"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae2df86b71d1862dd7e0811a503a014e5"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/d11/class_s_l_net_1_1_autopatcher_repository_interface.xhtml#ae2df86b71d1862dd7e0811a503a014e5">GetMostRecentChangelistWithPatches</a> (<a class="el" href="../../d2/d66/class_s_l_net_1_1_rak_string.xhtml">SLNet::RakString</a> &amp;applicationName, <a class="el" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml">FileList</a> *patchedFiles, <a class="el" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml">FileList</a> *updatedFiles, <a class="el" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml">FileList</a> *addedOrModifiedFileHashes, <a class="el" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml">FileList</a> *deletedFiles, double *priorRowPatchTime, double *mostRecentRowPatchTime)=0</td></tr>
<tr class="separator:ae2df86b71d1862dd7e0811a503a014e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acc59bf21da9abfb543d69363dcdaadf6"><td class="memItemLeft" align="right" valign="top">virtual const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/d11/class_s_l_net_1_1_autopatcher_repository_interface.xhtml#acc59bf21da9abfb543d69363dcdaadf6">GetLastError</a> (void) const =0</td></tr>
<tr class="separator:acc59bf21da9abfb543d69363dcdaadf6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8a65525c22a23e7c55b3e7961d7787cf"><td class="memItemLeft" align="right" valign="top">virtual const int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/d11/class_s_l_net_1_1_autopatcher_repository_interface.xhtml#a8a65525c22a23e7c55b3e7961d7787cf">GetIncrementalReadChunkSize</a> (void) const =0</td></tr>
<tr class="separator:a8a65525c22a23e7c55b3e7961d7787cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_class_s_l_net_1_1_incremental_read_interface"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_class_s_l_net_1_1_incremental_read_interface')"><img src="../../closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="../../df/d02/class_s_l_net_1_1_incremental_read_interface.xhtml">SLNet::IncrementalReadInterface</a></td></tr>
<tr class="memitem:a7ac9bc491609b10af538d5d4f9fc4da6 inherit pub_methods_class_s_l_net_1_1_incremental_read_interface"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d02/class_s_l_net_1_1_incremental_read_interface.xhtml#a7ac9bc491609b10af538d5d4f9fc4da6">IncrementalReadInterface</a> ()</td></tr>
<tr class="separator:a7ac9bc491609b10af538d5d4f9fc4da6 inherit pub_methods_class_s_l_net_1_1_incremental_read_interface"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a962a6c52c2d89deb78bdb2f7d6371a6d inherit pub_methods_class_s_l_net_1_1_incremental_read_interface"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d02/class_s_l_net_1_1_incremental_read_interface.xhtml#a962a6c52c2d89deb78bdb2f7d6371a6d">~IncrementalReadInterface</a> ()</td></tr>
<tr class="separator:a962a6c52c2d89deb78bdb2f7d6371a6d inherit pub_methods_class_s_l_net_1_1_incremental_read_interface"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3c77311efc0ce83c6f48eab70535ece4 inherit pub_methods_class_s_l_net_1_1_incremental_read_interface"><td class="memItemLeft" align="right" valign="top">virtual unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d02/class_s_l_net_1_1_incremental_read_interface.xhtml#a3c77311efc0ce83c6f48eab70535ece4">GetFilePart</a> (const char *filename, unsigned int startReadBytes, unsigned int numBytesToRead, void *preallocatedDestination, <a class="el" href="../../d6/dff/struct_file_list_node_context.xhtml">FileListNodeContext</a> context)</td></tr>
<tr class="separator:a3c77311efc0ce83c6f48eab70535ece4 inherit pub_methods_class_s_l_net_1_1_incremental_read_interface"><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>An interface used by AutopatcherServer to get the data necessary to run an autopatcher. This is up to you to implement for custom repository solutions. </p>
<p>Definition at line <a class="el" href="../../d1/da6/_autopatcher_repository_interface_8h_source.xhtml#l00035">35</a> of file <a class="el" href="../../d1/da6/_autopatcher_repository_interface_8h_source.xhtml">AutopatcherRepositoryInterface.h</a>.</p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a8eef3a6f06a92bb245bfa0f9e6adc8a1"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual bool SLNet::AutopatcherRepositoryInterface::GetChangelistSinceDate </td>
<td>(</td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>applicationName</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>addedOrModifiedFilesWithHashData</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>deletedFiles</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>sinceDate</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>Get list of files added and deleted since a certain date. This is used by AutopatcherServer and not usually explicitly called. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">applicationName</td><td>A null terminated string identifying the application </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">addedFiles</td><td>A list of the current versions of filenames with hashes as their data that were created after <em>sinceData</em> </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">deletedFiles</td><td>A list of the current versions of filenames that were deleted after <em>sinceData</em> </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">An</td><td>input date, in whatever format your repository uses </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">currentDate</td><td>The current server date, in whatever format your repository uses </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>True on success, false on failure. </dd></dl>
</div>
</div>
<a class="anchor" id="a8a65525c22a23e7c55b3e7961d7787cf"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual const int SLNet::AutopatcherRepositoryInterface::GetIncrementalReadChunkSize </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>Passed to <a class="el" href="../../d0/dae/group___f_i_l_e___l_i_s_t___t_r_a_n_s_f_e_r___g_r_o_u_p.xhtml#a4f345fad6d36ef7cc18bbb377c43f0a2" title="Send the FileList structure to another system, which must have previously called SetupReceive().">FileListTransfer::Send()</a> as the _chunkSize parameter. </dd></dl>
</div>
</div>
<a class="anchor" id="acc59bf21da9abfb543d69363dcdaadf6"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual const char* SLNet::AutopatcherRepositoryInterface::GetLastError </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>Whatever this function returns is sent from the AutopatcherServer to the AutopatcherClient when one of the above functions returns false. </dd></dl>
</div>
</div>
<a class="anchor" id="ae2df86b71d1862dd7e0811a503a014e5"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual bool SLNet::AutopatcherRepositoryInterface::GetMostRecentChangelistWithPatches </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../d2/d66/class_s_l_net_1_1_rak_string.xhtml">SLNet::RakString</a> &amp;&#160;</td>
<td class="paramname"><em>applicationName</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>patchedFiles</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>updatedFiles</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>addedOrModifiedFileHashes</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>deletedFiles</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double *&#160;</td>
<td class="paramname"><em>priorRowPatchTime</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double *&#160;</td>
<td class="paramname"><em>mostRecentRowPatchTime</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>For the most recent update, return files that were patched, added, or deleted. For files that were patched, return both the patch in <em>patchedFiles</em> and the current version in <em>updatedFiles</em> </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in,out]</td><td class="paramname">applicationName</td><td>Name of the application to get patches for. If empty, uses the most recently updated application, and the string will be updated to reflect this name. </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">patchedFiles</td><td>A list of patched files with op PC_HASH_2_WITH_PATCH. It has 2 hashes, the priorHash and the currentHash. The currentHash is checked on the client after patching for patch success. The priorHash is checked in AutopatcherServer::OnGetPatch() to see if the client is able to hash with the version they currently have </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">patchedFiles</td><td>A list of new files. It contains the actual data in addition to the filename </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">addedOrModifiedFileHashes</td><td>A list of file hashes that were either modified or new. This is returned to the client when replying to ID_AUTOPATCHER_CREATION_LIST, which tells the client what files have changed on the server since a certain date </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">deletedFiles</td><td>A list of the current versions of filenames that were deleted in the most recent patch </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">whenPatched</td><td>time in seconds since epoch when patched. Use time() function to get this in C </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true on success, false on failure </dd></dl>
</div>
</div>
<a class="anchor" id="a422a49494a4964d310e0532cd0514894"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual int SLNet::AutopatcherRepositoryInterface::GetPatches </td>
<td>(</td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>applicationName</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>input</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>allowDownloadOfOriginalUnmodifiedFiles</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>patchList</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>Get patches (or files) for every file in input, assuming that input has a hash for each of those files. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">applicationName</td><td>A null terminated string identifying the application </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">input</td><td>A list of files with SHA1_LENGTH byte hashes to get from the database. </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">patchList</td><td>You should return list of files with either the filedata or the patch. This is a subset of <em>input</em>. The context data for each file will be either PC_WRITE_FILE (to just write the file) or PC_HASH_WITH_PATCH (to patch). If PC_HASH_WITH_PATCH, then the file contains a SHA1_LENGTH byte patch followed by the hash. The datalength is patchlength + SHA1_LENGTH </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">currentDate</td><td>The current server date, in whatever format your repository uses </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>1 on success, 0 on database failure, -1 on tried to download original unmodified file </dd></dl>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>Source/include/slikenet/<a class="el" href="../../d1/da6/_autopatcher_repository_interface_8h_source.xhtml">AutopatcherRepositoryInterface.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="../../d4/d11/class_s_l_net_1_1_autopatcher_repository_interface.xhtml">AutopatcherRepositoryInterface</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,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/LogCommandParser.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('d4/d1a/_log_command_parser_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">LogCommandParser.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="../../d4/d1a/_log_command_parser_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="../../d4/d1a/_log_command_parser_8cpp.xhtml">LogCommandParser.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,408 @@
<!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/LogCommandParser.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('d4/d1a/_log_command_parser_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">LogCommandParser.cpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="../../d4/d1a/_log_command_parser_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="../../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_LogCommandParser==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="../../df/d9f/_log_command_parser_8h.xhtml" title="Contains LogCommandParser , Used to send logs to connected consoles.">slikenet/LogCommandParser.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="../../de/d05/_transport_interface_8h.xhtml" title="Contains TransportInterface from which you can derive custom transport providers for ConsoleServer...">slikenet/TransportInterface.h</a>&quot;</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 &lt;memory.h&gt;</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">#include &lt;stdio.h&gt;</span></div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</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="l00026"></a><span class="lineno"> 26</span>&#160;<span class="preprocessor">#include &lt;stdarg.h&gt;</span></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">#include &quot;<a class="code" href="../../d0/dff/_linux_strings_8h.xhtml">slikenet/LinuxStrings.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="../../d7/db2/linux__adapter_8h.xhtml">slikenet/linux_adapter.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="../../da/dff/osx__adapter_8h.xhtml">slikenet/osx_adapter.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">using namespace </span>SLNet;</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;<a class="code" href="../../db/dbd/_export_8h.xhtml#aa00165c970bdb25e1c757b432509533b">STATIC_FACTORY_DEFINITIONS</a>(<a class="code" href="../../d5/da2/class_s_l_net_1_1_log_command_parser.xhtml" title="Adds the ability to send logging output to a remote console.">LogCommandParser</a>,<a class="code" href="../../d5/da2/class_s_l_net_1_1_log_command_parser.xhtml" title="Adds the ability to send logging output to a remote console.">LogCommandParser</a>);</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;<a class="code" href="../../d5/da2/class_s_l_net_1_1_log_command_parser.xhtml#ab4c6da7e29bdad095d1ae970fd39e20f">LogCommandParser::LogCommandParser</a>()</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; <a class="code" href="../../d5/d9a/class_s_l_net_1_1_command_parser_interface.xhtml#af567f77880a28f0662de71d2b115ee40">RegisterCommand</a>(<a class="code" href="../../d5/d9a/class_s_l_net_1_1_command_parser_interface.xhtml#af22a712a9db931075f8ea8f6a6c5e930">CommandParserInterface::VARIABLE_NUMBER_OF_PARAMETERS</a>,<span class="stringliteral">&quot;Subscribe&quot;</span>,<span class="stringliteral">&quot;[&lt;ChannelName&gt;] - Subscribes to a named channel, or all channels&quot;</span>);</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; <a class="code" href="../../d5/d9a/class_s_l_net_1_1_command_parser_interface.xhtml#af567f77880a28f0662de71d2b115ee40">RegisterCommand</a>(<a class="code" href="../../d5/d9a/class_s_l_net_1_1_command_parser_interface.xhtml#af22a712a9db931075f8ea8f6a6c5e930">CommandParserInterface::VARIABLE_NUMBER_OF_PARAMETERS</a>,<span class="stringliteral">&quot;Unsubscribe&quot;</span>,<span class="stringliteral">&quot;[&lt;ChannelName&gt;] - Unsubscribes from a named channel, or all channels&quot;</span>);</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; memset(<a class="code" href="../../d5/da2/class_s_l_net_1_1_log_command_parser.xhtml#a1447cd2d0199eb8fbaa31451e4a416f4" title="Names of the channels at each bit, or 0 for an unused channel.">channelNames</a>,0,<span class="keyword">sizeof</span>(<a class="code" href="../../d5/da2/class_s_l_net_1_1_log_command_parser.xhtml#a1447cd2d0199eb8fbaa31451e4a416f4" title="Names of the channels at each bit, or 0 for an unused channel.">channelNames</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;<a class="code" href="../../d5/da2/class_s_l_net_1_1_log_command_parser.xhtml#a2f0c8967049bbc629318c145b6a4b67a">LogCommandParser::~LogCommandParser</a>()</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;<span class="keywordtype">bool</span> <a class="code" href="../../d5/da2/class_s_l_net_1_1_log_command_parser.xhtml#ae2bd5f41fef87a9708e4cbd9eb5e909e">LogCommandParser::OnCommand</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *command, <span class="keywordtype">unsigned</span> numParameters, <span class="keywordtype">char</span> **parameterList, <a class="code" href="../../d0/d4e/class_s_l_net_1_1_transport_interface.xhtml" title="Defines an interface that is used to send and receive null-terminated strings.">TransportInterface</a> *transport, <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, <span class="keyword">const</span> <span class="keywordtype">char</span> *originalString)</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; (void) originalString;</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="keywordflow">if</span> (strcmp(command, <span class="stringliteral">&quot;Subscribe&quot;</span>)==0)</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; {</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <span class="keywordtype">unsigned</span> channelIndex;</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; <span class="keywordflow">if</span> (numParameters==0)</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="../../d5/da2/class_s_l_net_1_1_log_command_parser.xhtml#a37adb011144c500ec6f82d8a013c7063">Subscribe</a>(systemAddress, 0);</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; transport-&gt;<a class="code" href="../../d0/d4e/class_s_l_net_1_1_transport_interface.xhtml#ab6f5d46268e400149496babd9df74125">Send</a>(systemAddress, <span class="stringliteral">&quot;Subscribed to all channels.\r\n&quot;</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; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (numParameters==1)</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> ((channelIndex=<a class="code" href="../../d5/da2/class_s_l_net_1_1_log_command_parser.xhtml#a37adb011144c500ec6f82d8a013c7063">Subscribe</a>(systemAddress, parameterList[0]))!=(<span class="keywordtype">unsigned</span>)-1)</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; transport-&gt;<a class="code" href="../../d0/d4e/class_s_l_net_1_1_transport_interface.xhtml#ab6f5d46268e400149496babd9df74125">Send</a>(systemAddress, <span class="stringliteral">&quot;You are now subscribed to channel %s.\r\n&quot;</span>, <a class="code" href="../../d5/da2/class_s_l_net_1_1_log_command_parser.xhtml#a1447cd2d0199eb8fbaa31451e4a416f4" title="Names of the channels at each bit, or 0 for an unused channel.">channelNames</a>[channelIndex]);</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">else</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; transport-&gt;<a class="code" href="../../d0/d4e/class_s_l_net_1_1_transport_interface.xhtml#ab6f5d46268e400149496babd9df74125">Send</a>(systemAddress, <span class="stringliteral">&quot;Cannot find channel %s.\r\n&quot;</span>, parameterList[0]);</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <a class="code" href="../../d5/da2/class_s_l_net_1_1_log_command_parser.xhtml#ab87fb0f2e0f8a890a3c7d1d7244eba1e">PrintChannels</a>(systemAddress, transport);</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; <span class="keywordflow">else</span></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"> 71</span>&#160; transport-&gt;<a class="code" href="../../d0/d4e/class_s_l_net_1_1_transport_interface.xhtml#ab6f5d46268e400149496babd9df74125">Send</a>(systemAddress, <span class="stringliteral">&quot;Subscribe takes either 0 or 1 parameters.\r\n&quot;</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; }</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strcmp(command, <span class="stringliteral">&quot;Unsubscribe&quot;</span>)==0)</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> channelIndex;</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <span class="keywordflow">if</span> (numParameters==0)</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; <a class="code" href="../../d5/da2/class_s_l_net_1_1_log_command_parser.xhtml#a869788dc99e167aac218a117d9cab705">Unsubscribe</a>(systemAddress, 0);</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; transport-&gt;<a class="code" href="../../d0/d4e/class_s_l_net_1_1_transport_interface.xhtml#ab6f5d46268e400149496babd9df74125">Send</a>(systemAddress, <span class="stringliteral">&quot;Unsubscribed from all channels.\r\n&quot;</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="keywordflow">else</span> <span class="keywordflow">if</span> (numParameters==1)</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">if</span> ((channelIndex=<a class="code" href="../../d5/da2/class_s_l_net_1_1_log_command_parser.xhtml#a869788dc99e167aac218a117d9cab705">Unsubscribe</a>(systemAddress, parameterList[0]))!=(<span class="keywordtype">unsigned</span>)-1)</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; transport-&gt;<a class="code" href="../../d0/d4e/class_s_l_net_1_1_transport_interface.xhtml#ab6f5d46268e400149496babd9df74125">Send</a>(systemAddress, <span class="stringliteral">&quot;You are now unsubscribed from channel %s.\r\n&quot;</span>, <a class="code" href="../../d5/da2/class_s_l_net_1_1_log_command_parser.xhtml#a1447cd2d0199eb8fbaa31451e4a416f4" title="Names of the channels at each bit, or 0 for an unused channel.">channelNames</a>[channelIndex]);</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; }</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <span class="keywordflow">else</span></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; transport-&gt;<a class="code" href="../../d0/d4e/class_s_l_net_1_1_transport_interface.xhtml#ab6f5d46268e400149496babd9df74125">Send</a>(systemAddress, <span class="stringliteral">&quot;Cannot find channel %s.\r\n&quot;</span>, parameterList[0]);</div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; <a class="code" href="../../d5/da2/class_s_l_net_1_1_log_command_parser.xhtml#ab87fb0f2e0f8a890a3c7d1d7244eba1e">PrintChannels</a>(systemAddress, transport);</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; }</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <span class="keywordflow">else</span></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; transport-&gt;<a class="code" href="../../d0/d4e/class_s_l_net_1_1_transport_interface.xhtml#ab6f5d46268e400149496babd9df74125">Send</a>(systemAddress, <span class="stringliteral">&quot;Unsubscribe takes either 0 or 1 parameters.\r\n&quot;</span>);</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; }</div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160;</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</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="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="../../d5/da2/class_s_l_net_1_1_log_command_parser.xhtml#a6f5c3ee5e99697a09aa4df82f568a6a3">LogCommandParser::GetName</a>(<span class="keywordtype">void</span>)<span class="keyword"> const</span></div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;Logger&quot;</span>;</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;}</div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../d5/da2/class_s_l_net_1_1_log_command_parser.xhtml#a394c92ba82a5f933216819a4b0f67961">LogCommandParser::SendHelp</a>(<a class="code" href="../../d0/d4e/class_s_l_net_1_1_transport_interface.xhtml" title="Defines an interface that is used to send and receive null-terminated strings.">TransportInterface</a> *transport, <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)</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; transport-&gt;<a class="code" href="../../d0/d4e/class_s_l_net_1_1_transport_interface.xhtml#ab6f5d46268e400149496babd9df74125">Send</a>(systemAddress, <span class="stringliteral">&quot;The logger will accept user log data via the Log(...) function.\r\n&quot;</span>);</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; transport-&gt;<a class="code" href="../../d0/d4e/class_s_l_net_1_1_transport_interface.xhtml#ab6f5d46268e400149496babd9df74125">Send</a>(systemAddress, <span class="stringliteral">&quot;Each log is associated with a named channel.\r\n&quot;</span>);</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; transport-&gt;<a class="code" href="../../d0/d4e/class_s_l_net_1_1_transport_interface.xhtml#ab6f5d46268e400149496babd9df74125">Send</a>(systemAddress, <span class="stringliteral">&quot;You can subscribe to or unsubscribe from named channels.\r\n&quot;</span>);</div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <a class="code" href="../../d5/da2/class_s_l_net_1_1_log_command_parser.xhtml#ab87fb0f2e0f8a890a3c7d1d7244eba1e">PrintChannels</a>(systemAddress, transport);</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="keywordtype">void</span> <a class="code" href="../../d5/da2/class_s_l_net_1_1_log_command_parser.xhtml#a35f7782ea9a03e452755142f8f9aa4ba" title="All logs must be associated with a channel. This is a filter so that remote clients only get logs for...">LogCommandParser::AddChannel</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *channelName)</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; <span class="keywordtype">unsigned</span> channelIndex=0;</div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; channelIndex = <a class="code" href="../../d5/da2/class_s_l_net_1_1_log_command_parser.xhtml#ab6c715b79deb90c6a2a9a3e74c693782">GetChannelIndexFromName</a>(channelName);</div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; <span class="comment">// Each channel can only be added once.</span></div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <a class="code" href="../../d8/db0/defines_8h.xhtml#afaa3647d29f5960651eb23fd3d2b5368">RakAssert</a>(channelIndex==(<span class="keywordtype">unsigned</span>)-1);</div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;</div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; <span class="keywordtype">unsigned</span> i;</div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <span class="keywordflow">for</span> (i=0; i &lt; 32; i++)</div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; {</div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="../../d5/da2/class_s_l_net_1_1_log_command_parser.xhtml#a1447cd2d0199eb8fbaa31451e4a416f4" title="Names of the channels at each bit, or 0 for an unused channel.">channelNames</a>[i]==0)</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; <span class="comment">// Assuming a persistent static string.</span></div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; <a class="code" href="../../d5/da2/class_s_l_net_1_1_log_command_parser.xhtml#a1447cd2d0199eb8fbaa31451e4a416f4" title="Names of the channels at each bit, or 0 for an unused channel.">channelNames</a>[i]=channelName;</div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <span class="keywordflow">return</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; }</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="comment">// No more available channels - max 32 with this implementation where I save subscribed channels with bit operations</span></div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; <a class="code" href="../../d8/db0/defines_8h.xhtml#afaa3647d29f5960651eb23fd3d2b5368">RakAssert</a>(0);</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;<span class="keywordtype">void</span> <a class="code" href="../../d5/da2/class_s_l_net_1_1_log_command_parser.xhtml#aab79a411bea635b4241afcea57056b72">LogCommandParser::WriteLog</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *channelName, <span class="keyword">const</span> <span class="keywordtype">char</span> *format, ...)</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="keywordflow">if</span> (channelName==0 || format==0)</div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;</div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; <span class="keywordtype">unsigned</span> channelIndex;</div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; channelIndex = <a class="code" href="../../d5/da2/class_s_l_net_1_1_log_command_parser.xhtml#ab6c715b79deb90c6a2a9a3e74c693782">GetChannelIndexFromName</a>(channelName);</div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; <span class="keywordflow">if</span> (channelIndex==(<span class="keywordtype">unsigned</span>)-1)</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="../../d5/da2/class_s_l_net_1_1_log_command_parser.xhtml#a35f7782ea9a03e452755142f8f9aa4ba" title="All logs must be associated with a channel. This is a filter so that remote clients only get logs for...">AddChannel</a>(channelName);</div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; }</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"> 146</span>&#160; <span class="keywordtype">char</span> text[<a class="code" href="../../de/d05/_transport_interface_8h.xhtml#ab2fa1af1e3f8b917e566200d6ff92c5b">REMOTE_MAX_TEXT_INPUT</a>];</div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; va_list ap;</div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; va_start(ap, format);</div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; vsnprintf_s(text, <a class="code" href="../../de/d05/_transport_interface_8h.xhtml#ab2fa1af1e3f8b917e566200d6ff92c5b">REMOTE_MAX_TEXT_INPUT</a>-1, format, ap);</div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; va_end(ap);</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; <span class="comment">// Make sure that text ends in \r\n</span></div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; <span class="keywordtype">int</span> textLen;</div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; textLen=(int)strlen(text);</div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; <span class="keywordflow">if</span> (textLen==0)</div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; <span class="keywordflow">if</span> (text[textLen-1]==<span class="charliteral">&#39;\n&#39;</span>)</div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; {</div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; text[textLen-1]=0;</div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; }</div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; <span class="keywordflow">if</span> (textLen &lt; <a class="code" href="../../de/d05/_transport_interface_8h.xhtml#ab2fa1af1e3f8b917e566200d6ff92c5b">REMOTE_MAX_TEXT_INPUT</a>-4)</div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; strcat_s(text, <span class="stringliteral">&quot;\r\n&quot;</span>);</div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; {</div>
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; text[textLen-3]=<span class="charliteral">&#39;\r&#39;</span>;</div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; text[textLen-2]=<span class="charliteral">&#39;\n&#39;</span>;</div>
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; text[textLen-1]=0;</div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; }</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">// For each user that subscribes to this channel, send to them.</span></div>
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; <span class="keywordtype">unsigned</span> i;</div>
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; <span class="keywordflow">for</span> (i=0; i &lt; <a class="code" href="../../d5/da2/class_s_l_net_1_1_log_command_parser.xhtml#a56792fea44e30074e9a8bb920a3c8966" title="The list of remote users. Added to when users subscribe, removed when they disconnect or unsubscribe...">remoteUsers</a>.<a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml#a6f13a4519693cbd16cd13b1fe284f330">Size</a>(); i++)</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="keywordflow">if</span> (<a class="code" href="../../d5/da2/class_s_l_net_1_1_log_command_parser.xhtml#a56792fea44e30074e9a8bb920a3c8966" title="The list of remote users. Added to when users subscribe, removed when they disconnect or unsubscribe...">remoteUsers</a>[i].channels &amp; (1 &lt;&lt; channelIndex))</div>
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; {</div>
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; <a class="code" href="../../d5/da2/class_s_l_net_1_1_log_command_parser.xhtml#a399229f0bb45835e24c6be7444ff13d0" title="This is so I can save the current transport provider, solely so I can use it without having the user ...">trans</a>-&gt;<a class="code" href="../../d0/d4e/class_s_l_net_1_1_transport_interface.xhtml#ab6f5d46268e400149496babd9df74125">Send</a>(<a class="code" href="../../d5/da2/class_s_l_net_1_1_log_command_parser.xhtml#a56792fea44e30074e9a8bb920a3c8966" title="The list of remote users. Added to when users subscribe, removed when they disconnect or unsubscribe...">remoteUsers</a>[i].systemAddress, text);</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; }</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="keywordtype">void</span> <a class="code" href="../../d5/da2/class_s_l_net_1_1_log_command_parser.xhtml#ab87fb0f2e0f8a890a3c7d1d7244eba1e">LogCommandParser::PrintChannels</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="../../d0/d4e/class_s_l_net_1_1_transport_interface.xhtml" title="Defines an interface that is used to send and receive null-terminated strings.">TransportInterface</a> *transport)<span class="keyword"> const</span></div>
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; <span class="keywordtype">unsigned</span> i;</div>
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; <span class="keywordtype">bool</span> anyChannels=<span class="keyword">false</span>;</div>
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; transport-&gt;<a class="code" href="../../d0/d4e/class_s_l_net_1_1_transport_interface.xhtml#ab6f5d46268e400149496babd9df74125">Send</a>(systemAddress, <span class="stringliteral">&quot;CHANNELS:\r\n&quot;</span>);</div>
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; <span class="keywordflow">for</span> (i=0; i &lt; 32; i++)</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; <span class="keywordflow">if</span> (<a class="code" href="../../d5/da2/class_s_l_net_1_1_log_command_parser.xhtml#a1447cd2d0199eb8fbaa31451e4a416f4" title="Names of the channels at each bit, or 0 for an unused channel.">channelNames</a>[i])</div>
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; {</div>
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; transport-&gt;<a class="code" href="../../d0/d4e/class_s_l_net_1_1_transport_interface.xhtml#ab6f5d46268e400149496babd9df74125">Send</a>(systemAddress, <span class="stringliteral">&quot;%i. %s\r\n&quot;</span>, i+1,<a class="code" href="../../d5/da2/class_s_l_net_1_1_log_command_parser.xhtml#a1447cd2d0199eb8fbaa31451e4a416f4" title="Names of the channels at each bit, or 0 for an unused channel.">channelNames</a>[i]);</div>
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; anyChannels=<span class="keyword">true</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; <span class="keywordflow">if</span> (anyChannels==<span class="keyword">false</span>)</div>
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; transport-&gt;<a class="code" href="../../d0/d4e/class_s_l_net_1_1_transport_interface.xhtml#ab6f5d46268e400149496babd9df74125">Send</a>(systemAddress, <span class="stringliteral">&quot;None.\r\n&quot;</span>);</div>
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160;}</div>
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../d5/da2/class_s_l_net_1_1_log_command_parser.xhtml#ae786c2d5be14376983a10c20468addc5">LogCommandParser::OnNewIncomingConnection</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="../../d0/d4e/class_s_l_net_1_1_transport_interface.xhtml" title="Defines an interface that is used to send and receive null-terminated strings.">TransportInterface</a> *transport)</div>
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160;{</div>
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; (void) systemAddress;</div>
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; (void) transport;</div>
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160;}</div>
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../d5/da2/class_s_l_net_1_1_log_command_parser.xhtml#a69711e87288adfbeea4a48a4140a1275">LogCommandParser::OnConnectionLost</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="../../d0/d4e/class_s_l_net_1_1_transport_interface.xhtml" title="Defines an interface that is used to send and receive null-terminated strings.">TransportInterface</a> *transport)</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; (void) transport;</div>
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; <a class="code" href="../../d5/da2/class_s_l_net_1_1_log_command_parser.xhtml#a869788dc99e167aac218a117d9cab705">Unsubscribe</a>(systemAddress, 0);</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="keywordtype">unsigned</span> <a class="code" href="../../d5/da2/class_s_l_net_1_1_log_command_parser.xhtml#a869788dc99e167aac218a117d9cab705">LogCommandParser::Unsubscribe</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, <span class="keyword">const</span> <span class="keywordtype">char</span> *channelName)</div>
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160;{</div>
<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; <span class="keywordtype">unsigned</span> i;</div>
<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; <span class="keywordflow">for</span> (i=0; i &lt; <a class="code" href="../../d5/da2/class_s_l_net_1_1_log_command_parser.xhtml#a56792fea44e30074e9a8bb920a3c8966" title="The list of remote users. Added to when users subscribe, removed when they disconnect or unsubscribe...">remoteUsers</a>.<a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml#a6f13a4519693cbd16cd13b1fe284f330">Size</a>(); i++)</div>
<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; {</div>
<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="../../d5/da2/class_s_l_net_1_1_log_command_parser.xhtml#a56792fea44e30074e9a8bb920a3c8966" title="The list of remote users. Added to when users subscribe, removed when they disconnect or unsubscribe...">remoteUsers</a>[i].systemAddress==systemAddress)</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="keywordflow">if</span> (channelName==0)</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="comment">// Unsubscribe from all and delete this user.</span></div>
<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; <a class="code" href="../../d5/da2/class_s_l_net_1_1_log_command_parser.xhtml#a56792fea44e30074e9a8bb920a3c8966" title="The list of remote users. Added to when users subscribe, removed when they disconnect or unsubscribe...">remoteUsers</a>[i]=<a class="code" href="../../d5/da2/class_s_l_net_1_1_log_command_parser.xhtml#a56792fea44e30074e9a8bb920a3c8966" title="The list of remote users. Added to when users subscribe, removed when they disconnect or unsubscribe...">remoteUsers</a>[<a class="code" href="../../d5/da2/class_s_l_net_1_1_log_command_parser.xhtml#a56792fea44e30074e9a8bb920a3c8966" title="The list of remote users. Added to when users subscribe, removed when they disconnect or unsubscribe...">remoteUsers</a>.<a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml#a6f13a4519693cbd16cd13b1fe284f330">Size</a>()-1];</div>
<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; <a class="code" href="../../d5/da2/class_s_l_net_1_1_log_command_parser.xhtml#a56792fea44e30074e9a8bb920a3c8966" title="The list of remote users. Added to when users subscribe, removed when they disconnect or unsubscribe...">remoteUsers</a>.<a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml#aeed32cd1075569515bb825f874dca24e" title="Delete the element at the end of the list.">RemoveFromEnd</a>();</div>
<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; <span class="keywordflow">return</span> 0;</div>
<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; }</div>
<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; {</div>
<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; <span class="keywordtype">unsigned</span> channelIndex;</div>
<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; channelIndex = <a class="code" href="../../d5/da2/class_s_l_net_1_1_log_command_parser.xhtml#ab6c715b79deb90c6a2a9a3e74c693782">GetChannelIndexFromName</a>(channelName);</div>
<div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; <span class="keywordflow">if</span> (channelIndex!=(<span class="keywordtype">unsigned</span>)-1)</div>
<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; {</div>
<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; <a class="code" href="../../d5/da2/class_s_l_net_1_1_log_command_parser.xhtml#a56792fea44e30074e9a8bb920a3c8966" title="The list of remote users. Added to when users subscribe, removed when they disconnect or unsubscribe...">remoteUsers</a>[i].channels&amp;=0xFFFF ^ (1&lt;&lt;channelIndex); <span class="comment">// Unset this bit</span></div>
<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; }</div>
<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; <span class="keywordflow">return</span> channelIndex;</div>
<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; }</div>
<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; }</div>
<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; }</div>
<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; <span class="keywordflow">return</span> (<span class="keywordtype">unsigned</span>)-1;</div>
<div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160;}</div>
<div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160;<span class="keywordtype">unsigned</span> <a class="code" href="../../d5/da2/class_s_l_net_1_1_log_command_parser.xhtml#a37adb011144c500ec6f82d8a013c7063">LogCommandParser::Subscribe</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, <span class="keyword">const</span> <span class="keywordtype">char</span> *channelName)</div>
<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160;{</div>
<div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; <span class="keywordtype">unsigned</span> i;</div>
<div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; <span class="keywordtype">unsigned</span> channelIndex=(unsigned)-1;</div>
<div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; <span class="keywordflow">if</span> (channelName)</div>
<div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; {</div>
<div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; channelIndex = <a class="code" href="../../d5/da2/class_s_l_net_1_1_log_command_parser.xhtml#ab6c715b79deb90c6a2a9a3e74c693782">GetChannelIndexFromName</a>(channelName);</div>
<div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; <span class="keywordflow">if</span> (channelIndex==(<span class="keywordtype">unsigned</span>)-1)</div>
<div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; <span class="keywordflow">return</span> channelIndex;</div>
<div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; }</div>
<div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160;</div>
<div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; <span class="keywordflow">for</span> (i=0; i &lt; <a class="code" href="../../d5/da2/class_s_l_net_1_1_log_command_parser.xhtml#a56792fea44e30074e9a8bb920a3c8966" title="The list of remote users. Added to when users subscribe, removed when they disconnect or unsubscribe...">remoteUsers</a>.<a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml#a6f13a4519693cbd16cd13b1fe284f330">Size</a>(); i++)</div>
<div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; {</div>
<div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="../../d5/da2/class_s_l_net_1_1_log_command_parser.xhtml#a56792fea44e30074e9a8bb920a3c8966" title="The list of remote users. Added to when users subscribe, removed when they disconnect or unsubscribe...">remoteUsers</a>[i].systemAddress==systemAddress)</div>
<div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; {</div>
<div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; <span class="keywordflow">if</span> (channelName)</div>
<div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; <a class="code" href="../../d5/da2/class_s_l_net_1_1_log_command_parser.xhtml#a56792fea44e30074e9a8bb920a3c8966" title="The list of remote users. Added to when users subscribe, removed when they disconnect or unsubscribe...">remoteUsers</a>[i].channels|=1&lt;&lt;channelIndex; <span class="comment">// Set this bit for an existing user</span></div>
<div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; <a class="code" href="../../d5/da2/class_s_l_net_1_1_log_command_parser.xhtml#a56792fea44e30074e9a8bb920a3c8966" title="The list of remote users. Added to when users subscribe, removed when they disconnect or unsubscribe...">remoteUsers</a>[i].channels=0xFFFF;</div>
<div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; <span class="keywordflow">return</span> channelIndex;</div>
<div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; }</div>
<div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; }</div>
<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160;</div>
<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; <span class="comment">// Make a new user</span></div>
<div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; SystemAddressAndChannel newUser;</div>
<div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; newUser.systemAddress = systemAddress;</div>
<div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; <span class="keywordflow">if</span> (channelName)</div>
<div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; newUser.channels=1&lt;&lt;channelIndex;</div>
<div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160; newUser.channels=0xFFFF;</div>
<div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; <a class="code" href="../../d5/da2/class_s_l_net_1_1_log_command_parser.xhtml#a56792fea44e30074e9a8bb920a3c8966" title="The list of remote users. Added to when users subscribe, removed when they disconnect or unsubscribe...">remoteUsers</a>.<a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml#a5cb7d8b68d8d020a34f2186ea8d5b1c6" title="Insert an element at position position in the list.">Insert</a>(newUser, <a class="code" href="../../d8/db0/defines_8h.xhtml#a8661ec2137eef33a8cd0cd618a748871">_FILE_AND_LINE_</a>);</div>
<div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160; <span class="keywordflow">return</span> channelIndex;</div>
<div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160;}</div>
<div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160;<span class="keywordtype">unsigned</span> <a class="code" href="../../d5/da2/class_s_l_net_1_1_log_command_parser.xhtml#ab6c715b79deb90c6a2a9a3e74c693782">LogCommandParser::GetChannelIndexFromName</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *channelName)</div>
<div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160;{</div>
<div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; <span class="keywordtype">unsigned</span> i;</div>
<div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160; <span class="keywordflow">for</span> (i=0; i &lt; 32; i++)</div>
<div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; {</div>
<div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="../../d5/da2/class_s_l_net_1_1_log_command_parser.xhtml#a1447cd2d0199eb8fbaa31451e4a416f4" title="Names of the channels at each bit, or 0 for an unused channel.">channelNames</a>[i]==0)</div>
<div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; <span class="keywordflow">return</span> (<span class="keywordtype">unsigned</span>) -1;</div>
<div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160;</div>
<div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; <span class="keywordflow">if</span> (_stricmp(<a class="code" href="../../d5/da2/class_s_l_net_1_1_log_command_parser.xhtml#a1447cd2d0199eb8fbaa31451e4a416f4" title="Names of the channels at each bit, or 0 for an unused channel.">channelNames</a>[i], channelName)==0)</div>
<div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; <span class="keywordflow">return</span> i;</div>
<div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160; }</div>
<div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; <span class="keywordflow">return</span> (<span class="keywordtype">unsigned</span>)-1;</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;</div>
<div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../d5/da2/class_s_l_net_1_1_log_command_parser.xhtml#a2223dae174d0f814521eb9f8f855d2f8">LogCommandParser::OnTransportChange</a>(<a class="code" href="../../d0/d4e/class_s_l_net_1_1_transport_interface.xhtml" title="Defines an interface that is used to send and receive null-terminated strings.">TransportInterface</a> *transport)</div>
<div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160;{</div>
<div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; <span class="comment">// I don&#39;t want users to have to pass TransportInterface *transport to Log.</span></div>
<div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; <a class="code" href="../../d5/da2/class_s_l_net_1_1_log_command_parser.xhtml#a399229f0bb45835e24c6be7444ff13d0" title="This is so I can save the current transport provider, solely so I can use it without having the user ...">trans</a>=transport;</div>
<div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160;}</div>
<div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160;</div>
<div class="line"><a name="l00287"></a><span class="lineno"> 287</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="../../d4/d1a/_log_command_parser_8cpp.xhtml">LogCommandParser.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,151 @@
<!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('df/dab/struct_s_l_net_1_1_rak_peer_1_1_remote_system_struct.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::RakPeer::RemoteSystemStruct Member List</div> </div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="../../df/dab/struct_s_l_net_1_1_rak_peer_1_1_remote_system_struct.xhtml">SLNet::RakPeer::RemoteSystemStruct</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="../../df/dab/struct_s_l_net_1_1_rak_peer_1_1_remote_system_struct.xhtml#aa6f6f3d72cfcfb38505f8b97fb56eb04ac6785dcef179589a725853b8033cc2b8">CONNECTED</a> enum value</td><td class="entry"><a class="el" href="../../df/dab/struct_s_l_net_1_1_rak_peer_1_1_remote_system_struct.xhtml">SLNet::RakPeer::RemoteSystemStruct</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../df/dab/struct_s_l_net_1_1_rak_peer_1_1_remote_system_struct.xhtml#ad646eb8a83b16c21d36ec3e4cd534674">connectionTime</a></td><td class="entry"><a class="el" href="../../df/dab/struct_s_l_net_1_1_rak_peer_1_1_remote_system_struct.xhtml">SLNet::RakPeer::RemoteSystemStruct</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/dab/struct_s_l_net_1_1_rak_peer_1_1_remote_system_struct.xhtml#a5cdfc599eba769a9050ff0976da68dad">connectMode</a></td><td class="entry"><a class="el" href="../../df/dab/struct_s_l_net_1_1_rak_peer_1_1_remote_system_struct.xhtml">SLNet::RakPeer::RemoteSystemStruct</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../df/dab/struct_s_l_net_1_1_rak_peer_1_1_remote_system_struct.xhtml#aa6f6f3d72cfcfb38505f8b97fb56eb04">ConnectMode</a> enum name</td><td class="entry"><a class="el" href="../../df/dab/struct_s_l_net_1_1_rak_peer_1_1_remote_system_struct.xhtml">SLNet::RakPeer::RemoteSystemStruct</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/dab/struct_s_l_net_1_1_rak_peer_1_1_remote_system_struct.xhtml#aa6f6f3d72cfcfb38505f8b97fb56eb04aea755206e361e47b9640808a977dc0d6">DISCONNECT_ASAP</a> enum value</td><td class="entry"><a class="el" href="../../df/dab/struct_s_l_net_1_1_rak_peer_1_1_remote_system_struct.xhtml">SLNet::RakPeer::RemoteSystemStruct</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../df/dab/struct_s_l_net_1_1_rak_peer_1_1_remote_system_struct.xhtml#aa6f6f3d72cfcfb38505f8b97fb56eb04a6898ca57318251763711a4693046b954">DISCONNECT_ASAP_SILENTLY</a> enum value</td><td class="entry"><a class="el" href="../../df/dab/struct_s_l_net_1_1_rak_peer_1_1_remote_system_struct.xhtml">SLNet::RakPeer::RemoteSystemStruct</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/dab/struct_s_l_net_1_1_rak_peer_1_1_remote_system_struct.xhtml#aa6f6f3d72cfcfb38505f8b97fb56eb04a84516385fdb35a2d6cb7602af2d6ccf4">DISCONNECT_ON_NO_ACK</a> enum value</td><td class="entry"><a class="el" href="../../df/dab/struct_s_l_net_1_1_rak_peer_1_1_remote_system_struct.xhtml">SLNet::RakPeer::RemoteSystemStruct</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../df/dab/struct_s_l_net_1_1_rak_peer_1_1_remote_system_struct.xhtml#a27eb8ff50f11c30c40391023f786359d">guid</a></td><td class="entry"><a class="el" href="../../df/dab/struct_s_l_net_1_1_rak_peer_1_1_remote_system_struct.xhtml">SLNet::RakPeer::RemoteSystemStruct</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/dab/struct_s_l_net_1_1_rak_peer_1_1_remote_system_struct.xhtml#aa6f6f3d72cfcfb38505f8b97fb56eb04a3655df1b4cee55eb3556bce5bc170584">HANDLING_CONNECTION_REQUEST</a> enum value</td><td class="entry"><a class="el" href="../../df/dab/struct_s_l_net_1_1_rak_peer_1_1_remote_system_struct.xhtml">SLNet::RakPeer::RemoteSystemStruct</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../df/dab/struct_s_l_net_1_1_rak_peer_1_1_remote_system_struct.xhtml#ae8d595517ba6acb95ffd4d3f54b30cdd">isActive</a></td><td class="entry"><a class="el" href="../../df/dab/struct_s_l_net_1_1_rak_peer_1_1_remote_system_struct.xhtml">SLNet::RakPeer::RemoteSystemStruct</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/dab/struct_s_l_net_1_1_rak_peer_1_1_remote_system_struct.xhtml#a2834ea8e57e593e19af4746aaff6a041">lastReliableSend</a></td><td class="entry"><a class="el" href="../../df/dab/struct_s_l_net_1_1_rak_peer_1_1_remote_system_struct.xhtml">SLNet::RakPeer::RemoteSystemStruct</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../df/dab/struct_s_l_net_1_1_rak_peer_1_1_remote_system_struct.xhtml#a05de1f27b328bbedba18cfb7047a3e85">lowestPing</a></td><td class="entry"><a class="el" href="../../df/dab/struct_s_l_net_1_1_rak_peer_1_1_remote_system_struct.xhtml">SLNet::RakPeer::RemoteSystemStruct</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/dab/struct_s_l_net_1_1_rak_peer_1_1_remote_system_struct.xhtml#aee2c0345090a37167d38e4df60541ba3">MTUSize</a></td><td class="entry"><a class="el" href="../../df/dab/struct_s_l_net_1_1_rak_peer_1_1_remote_system_struct.xhtml">SLNet::RakPeer::RemoteSystemStruct</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../df/dab/struct_s_l_net_1_1_rak_peer_1_1_remote_system_struct.xhtml#a8907915e3ad157baf1609efc43801ba7">myExternalSystemAddress</a></td><td class="entry"><a class="el" href="../../df/dab/struct_s_l_net_1_1_rak_peer_1_1_remote_system_struct.xhtml">SLNet::RakPeer::RemoteSystemStruct</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/dab/struct_s_l_net_1_1_rak_peer_1_1_remote_system_struct.xhtml#aa39014879cfdaf3efb54fccdbabcc865">nextPingTime</a></td><td class="entry"><a class="el" href="../../df/dab/struct_s_l_net_1_1_rak_peer_1_1_remote_system_struct.xhtml">SLNet::RakPeer::RemoteSystemStruct</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../df/dab/struct_s_l_net_1_1_rak_peer_1_1_remote_system_struct.xhtml#aa6f6f3d72cfcfb38505f8b97fb56eb04add7d915412fa7735321ece871eb30380">NO_ACTION</a> enum value</td><td class="entry"><a class="el" href="../../df/dab/struct_s_l_net_1_1_rak_peer_1_1_remote_system_struct.xhtml">SLNet::RakPeer::RemoteSystemStruct</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/dab/struct_s_l_net_1_1_rak_peer_1_1_remote_system_struct.xhtml#a96289ba00670fb915d57bf9b40296330">pingAndClockDifferential</a></td><td class="entry"><a class="el" href="../../df/dab/struct_s_l_net_1_1_rak_peer_1_1_remote_system_struct.xhtml">SLNet::RakPeer::RemoteSystemStruct</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../df/dab/struct_s_l_net_1_1_rak_peer_1_1_remote_system_struct.xhtml#a1d65a8497d15f4d1a5d417dcfa2f2971">pingAndClockDifferentialWriteIndex</a></td><td class="entry"><a class="el" href="../../df/dab/struct_s_l_net_1_1_rak_peer_1_1_remote_system_struct.xhtml">SLNet::RakPeer::RemoteSystemStruct</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/dab/struct_s_l_net_1_1_rak_peer_1_1_remote_system_struct.xhtml#a5a5790ea4c270243539880c1f3bfe683">rakNetSocket</a></td><td class="entry"><a class="el" href="../../df/dab/struct_s_l_net_1_1_rak_peer_1_1_remote_system_struct.xhtml">SLNet::RakPeer::RemoteSystemStruct</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../df/dab/struct_s_l_net_1_1_rak_peer_1_1_remote_system_struct.xhtml#a71bc3dc9a3abcf6a0dda287f190a8e2a">reliabilityLayer</a></td><td class="entry"><a class="el" href="../../df/dab/struct_s_l_net_1_1_rak_peer_1_1_remote_system_struct.xhtml">SLNet::RakPeer::RemoteSystemStruct</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/dab/struct_s_l_net_1_1_rak_peer_1_1_remote_system_struct.xhtml#a397b41f1f82b716399a756b1e881c5f0">remoteSystemIndex</a></td><td class="entry"><a class="el" href="../../df/dab/struct_s_l_net_1_1_rak_peer_1_1_remote_system_struct.xhtml">SLNet::RakPeer::RemoteSystemStruct</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../df/dab/struct_s_l_net_1_1_rak_peer_1_1_remote_system_struct.xhtml#aa6f6f3d72cfcfb38505f8b97fb56eb04ab6ed731db128be22916998c7105e8281">REQUESTED_CONNECTION</a> enum value</td><td class="entry"><a class="el" href="../../df/dab/struct_s_l_net_1_1_rak_peer_1_1_remote_system_struct.xhtml">SLNet::RakPeer::RemoteSystemStruct</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/dab/struct_s_l_net_1_1_rak_peer_1_1_remote_system_struct.xhtml#a7387adeea6b44abb93e391ff1e599527">systemAddress</a></td><td class="entry"><a class="el" href="../../df/dab/struct_s_l_net_1_1_rak_peer_1_1_remote_system_struct.xhtml">SLNet::RakPeer::RemoteSystemStruct</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../df/dab/struct_s_l_net_1_1_rak_peer_1_1_remote_system_struct.xhtml#af3530552a11b91df0229023fe7f28974">theirInternalSystemAddress</a></td><td class="entry"><a class="el" href="../../df/dab/struct_s_l_net_1_1_rak_peer_1_1_remote_system_struct.xhtml">SLNet::RakPeer::RemoteSystemStruct</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/dab/struct_s_l_net_1_1_rak_peer_1_1_remote_system_struct.xhtml#aa6f6f3d72cfcfb38505f8b97fb56eb04a4f11209f208285822a66f0078f261e23">UNVERIFIED_SENDER</a> enum value</td><td class="entry"><a class="el" href="../../df/dab/struct_s_l_net_1_1_rak_peer_1_1_remote_system_struct.xhtml">SLNet::RakPeer::RemoteSystemStruct</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../df/dab/struct_s_l_net_1_1_rak_peer_1_1_remote_system_struct.xhtml#a713ed9180dc032af8ebddf8762fc6643">weInitiatedTheConnection</a></td><td class="entry"><a class="el" href="../../df/dab/struct_s_l_net_1_1_rak_peer_1_1_remote_system_struct.xhtml">SLNet::RakPeer::RemoteSystemStruct</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,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: Source/src/NetworkIDManager.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('d4/d44/_network_i_d_manager_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">NetworkIDManager.cpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &quot;<a class="el" href="../../d1/d6d/_network_i_d_manager_8h_source.xhtml">slikenet/NetworkIDManager.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../d1/db7/_network_i_d_object_8h_source.xhtml">slikenet/NetworkIDObject.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 &quot;<a class="el" href="../../d6/d76/_get_time_8h_source.xhtml">slikenet/GetTime.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../d9/d81/sleep_8h_source.xhtml">slikenet/sleep.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../df/d8e/_super_fast_hash_8h_source.xhtml">slikenet/SuperFastHash.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../dd/d85/peerinterface_8h_source.xhtml">slikenet/peerinterface.h</a>&quot;</code><br/>
</div>
<p><a href="../../d4/d44/_network_i_d_manager_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="../../d4/d44/_network_i_d_manager_8cpp.xhtml">NetworkIDManager.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,257 @@
<!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/NetworkIDManager.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('d4/d44/_network_i_d_manager_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">NetworkIDManager.cpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="../../d4/d44/_network_i_d_manager_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="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;<span class="preprocessor">#include &quot;<a class="code" href="../../d1/d6d/_network_i_d_manager_8h.xhtml">slikenet/NetworkIDManager.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="../../d1/db7/_network_i_d_object_8h.xhtml" title="A class you can derive from to make it easier to represent every networked object with an integer...">slikenet/NetworkIDObject.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="../../dc/da7/assert_8h.xhtml">slikenet/assert.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="../../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="l00024"></a><span class="lineno"> 24</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../d9/d81/sleep_8h.xhtml">slikenet/sleep.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="../../df/d8e/_super_fast_hash_8h.xhtml">slikenet/SuperFastHash.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="../../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="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">using 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;<a class="code" href="../../db/dbd/_export_8h.xhtml#aa00165c970bdb25e1c757b432509533b">STATIC_FACTORY_DEFINITIONS</a>(<a class="code" href="../../d9/dbd/class_s_l_net_1_1_network_i_d_manager.xhtml">NetworkIDManager</a>,<a class="code" href="../../d9/dbd/class_s_l_net_1_1_network_i_d_manager.xhtml">NetworkIDManager</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"><a class="code" href="../../d9/dbd/class_s_l_net_1_1_network_i_d_manager.xhtml#ae92dcf90503732e29bcadd94b148a788"> 32</a></span>&#160;<a class="code" href="../../d9/dbd/class_s_l_net_1_1_network_i_d_manager.xhtml">NetworkIDManager</a>::<a class="code" href="../../d9/dbd/class_s_l_net_1_1_network_i_d_manager.xhtml">NetworkIDManager</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; startingOffset = <a class="code" href="../../da/d27/class_s_l_net_1_1_rak_peer_interface.xhtml#aaf48ba4b7fd51925799c67990dff617d" title="Get a random number (to generate a GUID)">RakPeerInterface::Get64BitUniqueRandomNumber</a>();</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; Clear();</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"><a class="code" href="../../d9/dbd/class_s_l_net_1_1_network_i_d_manager.xhtml#a0c3e15ea07b75bd6bdbfe757bd1089ce"> 37</a></span>&#160;<a class="code" href="../../d9/dbd/class_s_l_net_1_1_network_i_d_manager.xhtml#a0c3e15ea07b75bd6bdbfe757bd1089ce">NetworkIDManager::~NetworkIDManager</a>(<span class="keywordtype">void</span>)</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"><a class="code" href="../../d9/dbd/class_s_l_net_1_1_network_i_d_manager.xhtml#ae6a43e3d3affc2e38ab6e03077ce96a3"> 41</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../d9/dbd/class_s_l_net_1_1_network_i_d_manager.xhtml#ae6a43e3d3affc2e38ab6e03077ce96a3">NetworkIDManager::Clear</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="l00043"></a><span class="lineno"> 43</span>&#160; memset(<a class="code" href="../../d9/dbd/class_s_l_net_1_1_network_i_d_manager.xhtml#ab1868de6684e3c3c24006568f18ce619">networkIdHash</a>,0,<span class="keyword">sizeof</span>(<a class="code" href="../../d9/dbd/class_s_l_net_1_1_network_i_d_manager.xhtml#ab1868de6684e3c3c24006568f18ce619">networkIdHash</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"><a class="code" href="../../d9/dbd/class_s_l_net_1_1_network_i_d_manager.xhtml#a734f000489aa3099afe0a27333d0454d"> 45</a></span>&#160;<a class="code" href="../../db/d6d/class_s_l_net_1_1_network_i_d_object.xhtml" title="Unique shared ids for each object instance.">NetworkIDObject</a> *<a class="code" href="../../d9/dbd/class_s_l_net_1_1_network_i_d_manager.xhtml#a734f000489aa3099afe0a27333d0454d">NetworkIDManager::GET_BASE_OBJECT_FROM_ID</a>(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#aa616a13e58b2ffd2c3161609610b256d">NetworkID</a> x)</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="keywordtype">unsigned</span> <span class="keywordtype">int</span> hashIndex=<a class="code" href="../../d9/dbd/class_s_l_net_1_1_network_i_d_manager.xhtml#a6bd7ea4dbdef1351eaf2b6fdf9fb9f0b">NetworkIDToHashIndex</a>(x);</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; <a class="code" href="../../db/d6d/class_s_l_net_1_1_network_i_d_object.xhtml" title="Unique shared ids for each object instance.">NetworkIDObject</a> *nio=<a class="code" href="../../d9/dbd/class_s_l_net_1_1_network_i_d_manager.xhtml#ab1868de6684e3c3c24006568f18ce619">networkIdHash</a>[hashIndex];</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <span class="keywordflow">while</span> (nio)</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; {</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <span class="keywordflow">if</span> (nio-&gt;<a class="code" href="../../db/d6d/class_s_l_net_1_1_network_i_d_object.xhtml#a1d98d33a63964e2c7b566e472c121a6d">GetNetworkID</a>()==x)</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; <span class="keywordflow">return</span> nio;</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; nio=nio-&gt;<a class="code" href="../../db/d6d/class_s_l_net_1_1_network_i_d_object.xhtml#a2a2e914b251ae251a27b0f6bfd7c3414">nextInstanceForNetworkIDManager</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="keywordflow">return</span> 0;</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/dbd/class_s_l_net_1_1_network_i_d_manager.xhtml#ab8bd3567cbbcf379e4dc74da07e119f5"> 57</a></span>&#160;<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#aa616a13e58b2ffd2c3161609610b256d">NetworkID</a> <a class="code" href="../../d9/dbd/class_s_l_net_1_1_network_i_d_manager.xhtml#ab8bd3567cbbcf379e4dc74da07e119f5">NetworkIDManager::GetNewNetworkID</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; <span class="keywordflow">while</span> (<a class="code" href="../../d9/dbd/class_s_l_net_1_1_network_i_d_manager.xhtml#a734f000489aa3099afe0a27333d0454d">GET_BASE_OBJECT_FROM_ID</a>(++<a class="code" href="../../d9/dbd/class_s_l_net_1_1_network_i_d_manager.xhtml#a60ca0e187d07b765c39990f3fdf947f0">startingOffset</a>))</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/dbd/class_s_l_net_1_1_network_i_d_manager.xhtml#a60ca0e187d07b765c39990f3fdf947f0">startingOffset</a>==<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#af98532b9c66c8c09aea8cd4f97499962" title="Unassigned object ID.">UNASSIGNED_NETWORK_ID</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; <span class="keywordflow">while</span> (<a class="code" href="../../d9/dbd/class_s_l_net_1_1_network_i_d_manager.xhtml#a734f000489aa3099afe0a27333d0454d">GET_BASE_OBJECT_FROM_ID</a>(++<a class="code" href="../../d9/dbd/class_s_l_net_1_1_network_i_d_manager.xhtml#a60ca0e187d07b765c39990f3fdf947f0">startingOffset</a>))</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; <span class="keywordflow">return</span> <a class="code" href="../../d9/dbd/class_s_l_net_1_1_network_i_d_manager.xhtml#a60ca0e187d07b765c39990f3fdf947f0">startingOffset</a>;</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"><a class="code" href="../../d9/dbd/class_s_l_net_1_1_network_i_d_manager.xhtml#a6bd7ea4dbdef1351eaf2b6fdf9fb9f0b"> 68</a></span>&#160;<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="../../d9/dbd/class_s_l_net_1_1_network_i_d_manager.xhtml#a6bd7ea4dbdef1351eaf2b6fdf9fb9f0b">NetworkIDManager::NetworkIDToHashIndex</a>(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#aa616a13e58b2ffd2c3161609610b256d">NetworkID</a> networkId)</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">// return SuperFastHash((const char*) &amp;networkId.guid.g,sizeof(networkId.guid.g)) % NETWORK_ID_MANAGER_HASH_LENGTH;</span></div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <span class="keywordflow">return</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>) (networkId % <a class="code" href="../../d1/d6d/_network_i_d_manager_8h.xhtml#ab76726a4181b4036fa5dc1e1f099561c">NETWORK_ID_MANAGER_HASH_LENGTH</a>);</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"><a class="code" href="../../d9/dbd/class_s_l_net_1_1_network_i_d_manager.xhtml#a06b9ed71964f79b5974885cd4c77110c"> 73</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../d9/dbd/class_s_l_net_1_1_network_i_d_manager.xhtml#a06b9ed71964f79b5974885cd4c77110c">NetworkIDManager::TrackNetworkIDObject</a>(<a class="code" href="../../db/d6d/class_s_l_net_1_1_network_i_d_object.xhtml" title="Unique shared ids for each object instance.">NetworkIDObject</a> *networkIdObject)</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; <a class="code" href="../../d8/db0/defines_8h.xhtml#afaa3647d29f5960651eb23fd3d2b5368">RakAssert</a>(networkIdObject-&gt;<a class="code" href="../../db/d6d/class_s_l_net_1_1_network_i_d_object.xhtml#a70b4753f2b55dece5e08fc7122f5fb0a" title="Returns what was passed to SetNetworkIDManager.">GetNetworkIDManager</a>()==<span class="keyword">this</span>);</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#aa616a13e58b2ffd2c3161609610b256d">NetworkID</a> rawId = networkIdObject-&gt;<a class="code" href="../../db/d6d/class_s_l_net_1_1_network_i_d_object.xhtml#a1d98d33a63964e2c7b566e472c121a6d">GetNetworkID</a>();</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <a class="code" href="../../d8/db0/defines_8h.xhtml#afaa3647d29f5960651eb23fd3d2b5368">RakAssert</a>(rawId!=<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#af98532b9c66c8c09aea8cd4f97499962" title="Unassigned object ID.">UNASSIGNED_NETWORK_ID</a>);</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; networkIdObject-&gt;<a class="code" href="../../db/d6d/class_s_l_net_1_1_network_i_d_object.xhtml#a2a2e914b251ae251a27b0f6bfd7c3414">nextInstanceForNetworkIDManager</a>=0;</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> hashIndex=<a class="code" href="../../d9/dbd/class_s_l_net_1_1_network_i_d_manager.xhtml#a6bd7ea4dbdef1351eaf2b6fdf9fb9f0b">NetworkIDToHashIndex</a>(rawId);</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160;<span class="comment">// printf(&quot;TrackNetworkIDObject hashIndex=%i guid=%s\n&quot;,hashIndex, networkIdObject-&gt;GetNetworkID().guid.ToString()); // removeme</span></div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="../../d9/dbd/class_s_l_net_1_1_network_i_d_manager.xhtml#ab1868de6684e3c3c24006568f18ce619">networkIdHash</a>[hashIndex]==0)</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; <a class="code" href="../../d9/dbd/class_s_l_net_1_1_network_i_d_manager.xhtml#ab1868de6684e3c3c24006568f18ce619">networkIdHash</a>[hashIndex]=networkIdObject;</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; }</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <a class="code" href="../../db/d6d/class_s_l_net_1_1_network_i_d_object.xhtml" title="Unique shared ids for each object instance.">NetworkIDObject</a> *nio=<a class="code" href="../../d9/dbd/class_s_l_net_1_1_network_i_d_manager.xhtml#ab1868de6684e3c3c24006568f18ce619">networkIdHash</a>[hashIndex];</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; <span class="comment">// Duplicate insertion?</span></div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <a class="code" href="../../d8/db0/defines_8h.xhtml#afaa3647d29f5960651eb23fd3d2b5368">RakAssert</a>(nio!=networkIdObject);</div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; <span class="comment">// Random GUID conflict?</span></div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <a class="code" href="../../d8/db0/defines_8h.xhtml#afaa3647d29f5960651eb23fd3d2b5368">RakAssert</a>(nio-&gt;<a class="code" href="../../db/d6d/class_s_l_net_1_1_network_i_d_object.xhtml#a1d98d33a63964e2c7b566e472c121a6d">GetNetworkID</a>()!=rawId);</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; <span class="keywordflow">while</span> (nio-&gt;<a class="code" href="../../db/d6d/class_s_l_net_1_1_network_i_d_object.xhtml#a2a2e914b251ae251a27b0f6bfd7c3414">nextInstanceForNetworkIDManager</a>!=0)</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; nio=nio-&gt;<a class="code" href="../../db/d6d/class_s_l_net_1_1_network_i_d_object.xhtml#a2a2e914b251ae251a27b0f6bfd7c3414">nextInstanceForNetworkIDManager</a>;</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="comment">// Duplicate insertion?</span></div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; <a class="code" href="../../d8/db0/defines_8h.xhtml#afaa3647d29f5960651eb23fd3d2b5368">RakAssert</a>(nio!=networkIdObject);</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <span class="comment">// Random GUID conflict?</span></div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; <a class="code" href="../../d8/db0/defines_8h.xhtml#afaa3647d29f5960651eb23fd3d2b5368">RakAssert</a>(nio-&gt;<a class="code" href="../../db/d6d/class_s_l_net_1_1_network_i_d_object.xhtml#a1d98d33a63964e2c7b566e472c121a6d">GetNetworkID</a>()!=rawId);</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"> 103</span>&#160;</div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; nio-&gt;<a class="code" href="../../db/d6d/class_s_l_net_1_1_network_i_d_object.xhtml#a2a2e914b251ae251a27b0f6bfd7c3414">nextInstanceForNetworkIDManager</a>=networkIdObject;</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;}</div>
<div class="line"><a name="l00106"></a><span class="lineno"><a class="code" href="../../d9/dbd/class_s_l_net_1_1_network_i_d_manager.xhtml#a0ce0cc668b8ab18cb17a9d170086d612"> 106</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../d9/dbd/class_s_l_net_1_1_network_i_d_manager.xhtml#a0ce0cc668b8ab18cb17a9d170086d612">NetworkIDManager::StopTrackingNetworkIDObject</a>(<a class="code" href="../../db/d6d/class_s_l_net_1_1_network_i_d_object.xhtml" title="Unique shared ids for each object instance.">NetworkIDObject</a> *networkIdObject)</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; <a class="code" href="../../d8/db0/defines_8h.xhtml#afaa3647d29f5960651eb23fd3d2b5368">RakAssert</a>(networkIdObject-&gt;<a class="code" href="../../db/d6d/class_s_l_net_1_1_network_i_d_object.xhtml#a70b4753f2b55dece5e08fc7122f5fb0a" title="Returns what was passed to SetNetworkIDManager.">GetNetworkIDManager</a>()==<span class="keyword">this</span>);</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#aa616a13e58b2ffd2c3161609610b256d">NetworkID</a> rawId = networkIdObject-&gt;<a class="code" href="../../db/d6d/class_s_l_net_1_1_network_i_d_object.xhtml#a1d98d33a63964e2c7b566e472c121a6d">GetNetworkID</a>();</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; <a class="code" href="../../d8/db0/defines_8h.xhtml#afaa3647d29f5960651eb23fd3d2b5368">RakAssert</a>(rawId!=<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#af98532b9c66c8c09aea8cd4f97499962" title="Unassigned object ID.">UNASSIGNED_NETWORK_ID</a>);</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; <span class="comment">// RakAssert(networkIdObject-&gt;GetNetworkID()!=UNASSIGNED_NETWORK_ID);</span></div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> hashIndex=<a class="code" href="../../d9/dbd/class_s_l_net_1_1_network_i_d_manager.xhtml#a6bd7ea4dbdef1351eaf2b6fdf9fb9f0b">NetworkIDToHashIndex</a>(rawId);</div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;<span class="comment">// printf(&quot;hashIndex=%i\n&quot;,hashIndex); // removeme</span></div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; <a class="code" href="../../db/d6d/class_s_l_net_1_1_network_i_d_object.xhtml" title="Unique shared ids for each object instance.">NetworkIDObject</a> *nio=<a class="code" href="../../d9/dbd/class_s_l_net_1_1_network_i_d_manager.xhtml#ab1868de6684e3c3c24006568f18ce619">networkIdHash</a>[hashIndex];</div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <span class="keywordflow">if</span> (nio==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"> 118</span>&#160; <a class="code" href="../../d8/db0/defines_8h.xhtml#afaa3647d29f5960651eb23fd3d2b5368">RakAssert</a>(<span class="stringliteral">&quot;NetworkIDManager::StopTrackingNetworkIDObject didn&#39;t find object&quot;</span> &amp;&amp; 0);</div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <span class="keywordflow">return</span>;</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> (nio==networkIdObject)</div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; {</div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; <a class="code" href="../../d9/dbd/class_s_l_net_1_1_network_i_d_manager.xhtml#ab1868de6684e3c3c24006568f18ce619">networkIdHash</a>[hashIndex]=nio-&gt;<a class="code" href="../../db/d6d/class_s_l_net_1_1_network_i_d_object.xhtml#a2a2e914b251ae251a27b0f6bfd7c3414">nextInstanceForNetworkIDManager</a>;</div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; }</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="keywordflow">while</span> (nio)</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">if</span> (nio-&gt;<a class="code" href="../../db/d6d/class_s_l_net_1_1_network_i_d_object.xhtml#a2a2e914b251ae251a27b0f6bfd7c3414">nextInstanceForNetworkIDManager</a>==networkIdObject)</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; nio-&gt;<a class="code" href="../../db/d6d/class_s_l_net_1_1_network_i_d_object.xhtml#a2a2e914b251ae251a27b0f6bfd7c3414">nextInstanceForNetworkIDManager</a>=networkIdObject-&gt;<a class="code" href="../../db/d6d/class_s_l_net_1_1_network_i_d_object.xhtml#a2a2e914b251ae251a27b0f6bfd7c3414">nextInstanceForNetworkIDManager</a>;</div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; <span class="keywordflow">return</span>;</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; nio=nio-&gt;<a class="code" href="../../db/d6d/class_s_l_net_1_1_network_i_d_object.xhtml#a2a2e914b251ae251a27b0f6bfd7c3414">nextInstanceForNetworkIDManager</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;</div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; <a class="code" href="../../d8/db0/defines_8h.xhtml#afaa3647d29f5960651eb23fd3d2b5368">RakAssert</a>(<span class="stringliteral">&quot;NetworkIDManager::StopTrackingNetworkIDObject didn&#39;t find object&quot;</span> &amp;&amp; 0);</div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</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="../../d4/d44/_network_i_d_manager_8cpp.xhtml">NetworkIDManager.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,12 @@
var struct_s_l_net_1_1_internal_packet_fixed_size_transmission_header =
[
[ "dataBitLength", "d4/d46/struct_s_l_net_1_1_internal_packet_fixed_size_transmission_header.xhtml#a34c93035a873e2e60f31fda6eca0510c", null ],
[ "orderingChannel", "d4/d46/struct_s_l_net_1_1_internal_packet_fixed_size_transmission_header.xhtml#a4f1bb12b768ec1b1814218c77e5df709", null ],
[ "orderingIndex", "d4/d46/struct_s_l_net_1_1_internal_packet_fixed_size_transmission_header.xhtml#a1fabcef98ca0b6e15d6aca4c8ebe862b", null ],
[ "reliability", "d4/d46/struct_s_l_net_1_1_internal_packet_fixed_size_transmission_header.xhtml#af3dfd67bcaa86ce75e39c414d59447b5", null ],
[ "reliableMessageNumber", "d4/d46/struct_s_l_net_1_1_internal_packet_fixed_size_transmission_header.xhtml#a1ba0071a22897a0b50f5a414735dc542", null ],
[ "sequencingIndex", "d4/d46/struct_s_l_net_1_1_internal_packet_fixed_size_transmission_header.xhtml#a29568680a39b237528fbbf775b1f99e0", null ],
[ "splitPacketCount", "d4/d46/struct_s_l_net_1_1_internal_packet_fixed_size_transmission_header.xhtml#a08dd401807f28ff2a8bc8b42884711cf", null ],
[ "splitPacketId", "d4/d46/struct_s_l_net_1_1_internal_packet_fixed_size_transmission_header.xhtml#a01f5ff1a7b5cec5925f0ec5703bfae13", null ],
[ "splitPacketIndex", "d4/d46/struct_s_l_net_1_1_internal_packet_fixed_size_transmission_header.xhtml#af1e3b0024f2cbbd08d9217457c6721f3", null ]
];

View File

@ -0,0 +1,333 @@
<!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::InternalPacketFixedSizeTransmissionHeader 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('d4/d46/struct_s_l_net_1_1_internal_packet_fixed_size_transmission_header.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-attribs">Public Attributes</a> &#124;
<a href="../../d6/d09/struct_s_l_net_1_1_internal_packet_fixed_size_transmission_header-members.xhtml">List of all members</a> </div>
<div class="headertitle">
<div class="title">SLNet::InternalPacketFixedSizeTransmissionHeader Struct Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><code>#include &lt;<a class="el" href="../../d5/dc3/_internal_packet_8h_source.xhtml">slikenet/InternalPacket.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::InternalPacketFixedSizeTransmissionHeader:</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"><iframe scrolling="no" frameborder="0" src="../../d9/db9/struct_s_l_net_1_1_internal_packet_fixed_size_transmission_header__inherit__graph.svg" width="198" height="492"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>
<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:a1ba0071a22897a0b50f5a414735dc542"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#a047b6dedcd35244b1575bfcf1cfb6b6c">MessageNumberType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/d46/struct_s_l_net_1_1_internal_packet_fixed_size_transmission_header.xhtml#a1ba0071a22897a0b50f5a414735dc542">reliableMessageNumber</a></td></tr>
<tr class="memdesc:a1ba0071a22897a0b50f5a414735dc542"><td class="mdescLeft">&#160;</td><td class="mdescRight">A unique numerical identifier given to this user message. Used to identify reliable messages on the network. <a href="#a1ba0071a22897a0b50f5a414735dc542"></a><br/></td></tr>
<tr class="separator:a1ba0071a22897a0b50f5a414735dc542"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1fabcef98ca0b6e15d6aca4c8ebe862b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#a6fa1eeef8ba656471611c0b68595fbb4">OrderingIndexType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/d46/struct_s_l_net_1_1_internal_packet_fixed_size_transmission_header.xhtml#a1fabcef98ca0b6e15d6aca4c8ebe862b">orderingIndex</a></td></tr>
<tr class="memdesc:a1fabcef98ca0b6e15d6aca4c8ebe862b"><td class="mdescLeft">&#160;</td><td class="mdescRight">The ID used as identification for ordering messages. Also included in sequenced messages. <a href="#a1fabcef98ca0b6e15d6aca4c8ebe862b"></a><br/></td></tr>
<tr class="separator:a1fabcef98ca0b6e15d6aca4c8ebe862b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a29568680a39b237528fbbf775b1f99e0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#a6fa1eeef8ba656471611c0b68595fbb4">OrderingIndexType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/d46/struct_s_l_net_1_1_internal_packet_fixed_size_transmission_header.xhtml#a29568680a39b237528fbbf775b1f99e0">sequencingIndex</a></td></tr>
<tr class="separator:a29568680a39b237528fbbf775b1f99e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4f1bb12b768ec1b1814218c77e5df709"><td class="memItemLeft" align="right" valign="top">unsigned char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/d46/struct_s_l_net_1_1_internal_packet_fixed_size_transmission_header.xhtml#a4f1bb12b768ec1b1814218c77e5df709">orderingChannel</a></td></tr>
<tr class="memdesc:a4f1bb12b768ec1b1814218c77e5df709"><td class="mdescLeft">&#160;</td><td class="mdescRight">What ordering channel this packet is on, if the reliability type uses ordering channels. <a href="#a4f1bb12b768ec1b1814218c77e5df709"></a><br/></td></tr>
<tr class="separator:a4f1bb12b768ec1b1814218c77e5df709"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a01f5ff1a7b5cec5925f0ec5703bfae13"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#ada9d06cc4d3df50fbf844c6725cd7230">SplitPacketIdType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/d46/struct_s_l_net_1_1_internal_packet_fixed_size_transmission_header.xhtml#a01f5ff1a7b5cec5925f0ec5703bfae13">splitPacketId</a></td></tr>
<tr class="memdesc:a01f5ff1a7b5cec5925f0ec5703bfae13"><td class="mdescLeft">&#160;</td><td class="mdescRight">The ID of the split packet, if we have split packets. This is the maximum number of split messages we can send simultaneously per connection. <a href="#a01f5ff1a7b5cec5925f0ec5703bfae13"></a><br/></td></tr>
<tr class="separator:a01f5ff1a7b5cec5925f0ec5703bfae13"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af1e3b0024f2cbbd08d9217457c6721f3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#afe219620b084e1150e61e8ff98f7c855">SplitPacketIndexType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/d46/struct_s_l_net_1_1_internal_packet_fixed_size_transmission_header.xhtml#af1e3b0024f2cbbd08d9217457c6721f3">splitPacketIndex</a></td></tr>
<tr class="memdesc:af1e3b0024f2cbbd08d9217457c6721f3"><td class="mdescLeft">&#160;</td><td class="mdescRight">If this is a split packet, the index into the array of subsplit packets. <a href="#af1e3b0024f2cbbd08d9217457c6721f3"></a><br/></td></tr>
<tr class="separator:af1e3b0024f2cbbd08d9217457c6721f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a08dd401807f28ff2a8bc8b42884711cf"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#afe219620b084e1150e61e8ff98f7c855">SplitPacketIndexType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/d46/struct_s_l_net_1_1_internal_packet_fixed_size_transmission_header.xhtml#a08dd401807f28ff2a8bc8b42884711cf">splitPacketCount</a></td></tr>
<tr class="memdesc:a08dd401807f28ff2a8bc8b42884711cf"><td class="mdescLeft">&#160;</td><td class="mdescRight">The size of the array of subsplit packets. <a href="#a08dd401807f28ff2a8bc8b42884711cf"></a><br/></td></tr>
<tr class="separator:a08dd401807f28ff2a8bc8b42884711cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a34c93035a873e2e60f31fda6eca0510c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#a227d2a5f9683a34d9d1e70772fd556ec">BitSize_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/d46/struct_s_l_net_1_1_internal_packet_fixed_size_transmission_header.xhtml#a34c93035a873e2e60f31fda6eca0510c">dataBitLength</a></td></tr>
<tr class="memdesc:a34c93035a873e2e60f31fda6eca0510c"><td class="mdescLeft">&#160;</td><td class="mdescRight">How many bits long the data is. <a href="#a34c93035a873e2e60f31fda6eca0510c"></a><br/></td></tr>
<tr class="separator:a34c93035a873e2e60f31fda6eca0510c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af3dfd67bcaa86ce75e39c414d59447b5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d7/d03/_packet_priority_8h.xhtml#ae41fa01235e99dced384d137fa874a7e">PacketReliability</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/d46/struct_s_l_net_1_1_internal_packet_fixed_size_transmission_header.xhtml#af3dfd67bcaa86ce75e39c414d59447b5">reliability</a></td></tr>
<tr class="memdesc:af3dfd67bcaa86ce75e39c414d59447b5"><td class="mdescLeft">&#160;</td><td class="mdescRight">What type of reliability algorithm to use with this packet. <a href="#af3dfd67bcaa86ce75e39c414d59447b5"></a><br/></td></tr>
<tr class="separator:af3dfd67bcaa86ce75e39c414d59447b5"><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="../../d5/dc3/_internal_packet_8h_source.xhtml#l00050">50</a> of file <a class="el" href="../../d5/dc3/_internal_packet_8h_source.xhtml">InternalPacket.h</a>.</p>
</div><h2 class="groupheader">Member Data Documentation</h2>
<a class="anchor" id="a34c93035a873e2e60f31fda6eca0510c"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#a227d2a5f9683a34d9d1e70772fd556ec">BitSize_t</a> SLNet::InternalPacketFixedSizeTransmissionHeader::dataBitLength</td>
</tr>
</table>
</div><div class="memdoc">
<p>How many bits long the data is. </p>
<p>Definition at line <a class="el" href="../../d5/dc3/_internal_packet_8h_source.xhtml#l00065">65</a> of file <a class="el" href="../../d5/dc3/_internal_packet_8h_source.xhtml">InternalPacket.h</a>.</p>
<p>Referenced by <a class="el" href="../../d9/d15/_reliability_layer_8cpp_source.xhtml#l00631">SLNet::ReliabilityLayer::HandleSocketReceiveFromConnectedPlayer()</a>, <a class="el" href="../../d9/d15/_reliability_layer_8cpp_source.xhtml#l01523">SLNet::ReliabilityLayer::Receive()</a>, <a class="el" href="../../d9/d15/_reliability_layer_8cpp_source.xhtml#l01555">SLNet::ReliabilityLayer::Send()</a>, and <a class="el" href="../../d9/d15/_reliability_layer_8cpp_source.xhtml#l01703">SLNet::ReliabilityLayer::Update()</a>.</p>
</div>
</div>
<a class="anchor" id="a4f1bb12b768ec1b1814218c77e5df709"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">unsigned char SLNet::InternalPacketFixedSizeTransmissionHeader::orderingChannel</td>
</tr>
</table>
</div><div class="memdoc">
<p>What ordering channel this packet is on, if the reliability type uses ordering channels. </p>
<p>Definition at line <a class="el" href="../../d5/dc3/_internal_packet_8h_source.xhtml#l00059">59</a> of file <a class="el" href="../../d5/dc3/_internal_packet_8h_source.xhtml">InternalPacket.h</a>.</p>
<p>Referenced by <a class="el" href="../../d9/d15/_reliability_layer_8cpp_source.xhtml#l00631">SLNet::ReliabilityLayer::HandleSocketReceiveFromConnectedPlayer()</a>, and <a class="el" href="../../d9/d15/_reliability_layer_8cpp_source.xhtml#l01555">SLNet::ReliabilityLayer::Send()</a>.</p>
</div>
</div>
<a class="anchor" id="a1fabcef98ca0b6e15d6aca4c8ebe862b"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#a6fa1eeef8ba656471611c0b68595fbb4">OrderingIndexType</a> SLNet::InternalPacketFixedSizeTransmissionHeader::orderingIndex</td>
</tr>
</table>
</div><div class="memdoc">
<p>The ID used as identification for ordering messages. Also included in sequenced messages. </p>
<p>Definition at line <a class="el" href="../../d5/dc3/_internal_packet_8h_source.xhtml#l00055">55</a> of file <a class="el" href="../../d5/dc3/_internal_packet_8h_source.xhtml">InternalPacket.h</a>.</p>
<p>Referenced by <a class="el" href="../../d9/d15/_reliability_layer_8cpp_source.xhtml#l00631">SLNet::ReliabilityLayer::HandleSocketReceiveFromConnectedPlayer()</a>, and <a class="el" href="../../d9/d15/_reliability_layer_8cpp_source.xhtml#l01555">SLNet::ReliabilityLayer::Send()</a>.</p>
</div>
</div>
<a class="anchor" id="af3dfd67bcaa86ce75e39c414d59447b5"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../d7/d03/_packet_priority_8h.xhtml#ae41fa01235e99dced384d137fa874a7e">PacketReliability</a> SLNet::InternalPacketFixedSizeTransmissionHeader::reliability</td>
</tr>
</table>
</div><div class="memdoc">
<p>What type of reliability algorithm to use with this packet. </p>
<p>Definition at line <a class="el" href="../../d5/dc3/_internal_packet_8h_source.xhtml#l00069">69</a> of file <a class="el" href="../../d5/dc3/_internal_packet_8h_source.xhtml">InternalPacket.h</a>.</p>
<p>Referenced by <a class="el" href="../../d9/d15/_reliability_layer_8cpp_source.xhtml#l00631">SLNet::ReliabilityLayer::HandleSocketReceiveFromConnectedPlayer()</a>, <a class="el" href="../../d9/d15/_reliability_layer_8cpp_source.xhtml#l01555">SLNet::ReliabilityLayer::Send()</a>, and <a class="el" href="../../d9/d15/_reliability_layer_8cpp_source.xhtml#l01703">SLNet::ReliabilityLayer::Update()</a>.</p>
</div>
</div>
<a class="anchor" id="a1ba0071a22897a0b50f5a414735dc542"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#a047b6dedcd35244b1575bfcf1cfb6b6c">MessageNumberType</a> SLNet::InternalPacketFixedSizeTransmissionHeader::reliableMessageNumber</td>
</tr>
</table>
</div><div class="memdoc">
<p>A unique numerical identifier given to this user message. Used to identify reliable messages on the network. </p>
<p>Definition at line <a class="el" href="../../d5/dc3/_internal_packet_8h_source.xhtml#l00053">53</a> of file <a class="el" href="../../d5/dc3/_internal_packet_8h_source.xhtml">InternalPacket.h</a>.</p>
<p>Referenced by <a class="el" href="../../d9/d15/_reliability_layer_8cpp_source.xhtml#l00631">SLNet::ReliabilityLayer::HandleSocketReceiveFromConnectedPlayer()</a>, and <a class="el" href="../../d9/d15/_reliability_layer_8cpp_source.xhtml#l01703">SLNet::ReliabilityLayer::Update()</a>.</p>
</div>
</div>
<a class="anchor" id="a29568680a39b237528fbbf775b1f99e0"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#a6fa1eeef8ba656471611c0b68595fbb4">OrderingIndexType</a> SLNet::InternalPacketFixedSizeTransmissionHeader::sequencingIndex</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d5/dc3/_internal_packet_8h_source.xhtml#l00057">57</a> of file <a class="el" href="../../d5/dc3/_internal_packet_8h_source.xhtml">InternalPacket.h</a>.</p>
<p>Referenced by <a class="el" href="../../d9/d15/_reliability_layer_8cpp_source.xhtml#l00631">SLNet::ReliabilityLayer::HandleSocketReceiveFromConnectedPlayer()</a>, and <a class="el" href="../../d9/d15/_reliability_layer_8cpp_source.xhtml#l01555">SLNet::ReliabilityLayer::Send()</a>.</p>
</div>
</div>
<a class="anchor" id="a08dd401807f28ff2a8bc8b42884711cf"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#afe219620b084e1150e61e8ff98f7c855">SplitPacketIndexType</a> SLNet::InternalPacketFixedSizeTransmissionHeader::splitPacketCount</td>
</tr>
</table>
</div><div class="memdoc">
<p>The size of the array of subsplit packets. </p>
<p>Definition at line <a class="el" href="../../d5/dc3/_internal_packet_8h_source.xhtml#l00065">65</a> of file <a class="el" href="../../d5/dc3/_internal_packet_8h_source.xhtml">InternalPacket.h</a>.</p>
<p>Referenced by <a class="el" href="../../d9/d15/_reliability_layer_8cpp_source.xhtml#l00631">SLNet::ReliabilityLayer::HandleSocketReceiveFromConnectedPlayer()</a>.</p>
</div>
</div>
<a class="anchor" id="a01f5ff1a7b5cec5925f0ec5703bfae13"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#ada9d06cc4d3df50fbf844c6725cd7230">SplitPacketIdType</a> SLNet::InternalPacketFixedSizeTransmissionHeader::splitPacketId</td>
</tr>
</table>
</div><div class="memdoc">
<p>The ID of the split packet, if we have split packets. This is the maximum number of split messages we can send simultaneously per connection. </p>
<p>Definition at line <a class="el" href="../../d5/dc3/_internal_packet_8h_source.xhtml#l00061">61</a> of file <a class="el" href="../../d5/dc3/_internal_packet_8h_source.xhtml">InternalPacket.h</a>.</p>
<p>Referenced by <a class="el" href="../../d9/d15/_reliability_layer_8cpp_source.xhtml#l00631">SLNet::ReliabilityLayer::HandleSocketReceiveFromConnectedPlayer()</a>.</p>
</div>
</div>
<a class="anchor" id="af1e3b0024f2cbbd08d9217457c6721f3"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#afe219620b084e1150e61e8ff98f7c855">SplitPacketIndexType</a> SLNet::InternalPacketFixedSizeTransmissionHeader::splitPacketIndex</td>
</tr>
</table>
</div><div class="memdoc">
<p>If this is a split packet, the index into the array of subsplit packets. </p>
<p>Definition at line <a class="el" href="../../d5/dc3/_internal_packet_8h_source.xhtml#l00063">63</a> of file <a class="el" href="../../d5/dc3/_internal_packet_8h_source.xhtml">InternalPacket.h</a>.</p>
<p>Referenced by <a class="el" href="../../d9/d15/_reliability_layer_8cpp_source.xhtml#l00291">SplitPacketIndexComp()</a>.</p>
</div>
</div>
<hr/>The documentation for this struct was generated from the following file:<ul>
<li>Source/include/slikenet/<a class="el" href="../../d5/dc3/_internal_packet_8h_source.xhtml">InternalPacket.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="../../d4/d46/struct_s_l_net_1_1_internal_packet_fixed_size_transmission_header.xhtml">InternalPacketFixedSizeTransmissionHeader</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,5 @@
var _base64_encoder_8h =
[
[ "Base64Encoding", "d4/d4c/_base64_encoder_8h.xhtml#a8139edc5f6d1b0e1716c4ce4b830ef53", null ],
[ "Base64Map", "d4/d4c/_base64_encoder_8h.xhtml#a60674731c56f7ab8cfab678ee5511998", null ]
];

View File

@ -0,0 +1,194 @@
<!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/Base64Encoder.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('d4/d4c/_base64_encoder_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="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">Base64Encoder.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/>
</div>
<p><a href="../../d4/d4c/_base64_encoder_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="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a8139edc5f6d1b0e1716c4ce4b830ef53"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/d4c/_base64_encoder_8h.xhtml#a8139edc5f6d1b0e1716c4ce4b830ef53">Base64Encoding</a> (const unsigned char *<a class="el" href="../../dc/d0b/_thread_pool_8h.xhtml#a1097e0bdb0a7bbac499269e69f867d16">inputData</a>, int dataLength, char *outputData)</td></tr>
<tr class="memdesc:a8139edc5f6d1b0e1716c4ce4b830ef53"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns how many bytes were written. <a href="#a8139edc5f6d1b0e1716c4ce4b830ef53"></a><br/></td></tr>
<tr class="separator:a8139edc5f6d1b0e1716c4ce4b830ef53"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a60674731c56f7ab8cfab678ee5511998"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/d4c/_base64_encoder_8h.xhtml#a60674731c56f7ab8cfab678ee5511998">Base64Map</a> (void)</td></tr>
<tr class="separator:a60674731c56f7ab8cfab678ee5511998"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="a8139edc5f6d1b0e1716c4ce4b830ef53"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int Base64Encoding </td>
<td>(</td>
<td class="paramtype">const unsigned char *&#160;</td>
<td class="paramname"><em>inputData</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>dataLength</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">char *&#160;</td>
<td class="paramname"><em>outputData</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns how many bytes were written. </p>
<p>Definition at line <a class="el" href="../../d9/d9b/_base64_encoder_8cpp_source.xhtml#l00023">23</a> of file <a class="el" href="../../d9/d9b/_base64_encoder_8cpp_source.xhtml">Base64Encoder.cpp</a>.</p>
<p>References <a class="el" href="../../d9/d9b/_base64_encoder_8cpp_source.xhtml#l00020">base64Map</a>.</p>
<p>Referenced by <a class="el" href="../../d9/d9b/_base64_encoder_8cpp_source.xhtml#l00096">Base64Encoding()</a>.</p>
</div>
</div>
<a class="anchor" id="a60674731c56f7ab8cfab678ee5511998"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const char* Base64Map </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="../../d9/d9b/_base64_encoder_8cpp_source.xhtml#l00019">19</a> of file <a class="el" href="../../d9/d9b/_base64_encoder_8cpp_source.xhtml">Base64Encoder.cpp</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="../../d4/d4c/_base64_encoder_8h.xhtml">Base64Encoder.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,146 @@
<!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/Base64Encoder.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('d4/d4c/_base64_encoder_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">Base64Encoder.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="../../d4/d4c/_base64_encoder_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 __BASE_64_ENCODER_H</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define __BASE_64_ENCODER_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="preprocessor">#include &quot;<a class="code" href="../../db/dbd/_export_8h.xhtml">Export.h</a>&quot;</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="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {</div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment">// outputData should be at least the size of inputData * 2 + 6</span></div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="keywordtype">int</span> <a class="code" href="../../d9/d9b/_base64_encoder_8cpp.xhtml#a8139edc5f6d1b0e1716c4ce4b830ef53" title="Returns how many bytes were written.">Base64Encoding</a>(<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *<a class="code" href="../../dc/d0b/_thread_pool_8h.xhtml#a1097e0bdb0a7bbac499269e69f867d16">inputData</a>, <span class="keywordtype">int</span> dataLength, <span class="keywordtype">char</span> *outputData);</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">extern</span> <span class="stringliteral">&quot;C&quot;</span> {</div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="../../d9/d9b/_base64_encoder_8cpp.xhtml#a60674731c56f7ab8cfab678ee5511998">Base64Map</a>(<span class="keywordtype">void</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;</div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</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="../../d4/d4c/_base64_encoder_8h.xhtml">Base64Encoder.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 @@
var namespace_variadic_s_q_l_parser =
[
[ "IndexAndType", "d4/d4e/namespace_variadic_s_q_l_parser.xhtml#de/d0f/struct_variadic_s_q_l_parser_1_1_index_and_type", "d4/d4e/namespace_variadic_s_q_l_parser_dup" ]
];

View File

@ -0,0 +1,300 @@
<!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: VariadicSQLParser Namespace 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 class="current"><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li><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="../../namespaces.xhtml"><span>Namespace&#160;List</span></a></li>
<li><a href="../../namespacemembers.xhtml"><span>Namespace&#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('d4/d4e/namespace_variadic_s_q_l_parser.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="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">VariadicSQLParser Namespace Reference</div> </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:de/d0f/struct_variadic_s_q_l_parser_1_1_index_and_type"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/d4e/namespace_variadic_s_q_l_parser.xhtml#de/d0f/struct_variadic_s_q_l_parser_1_1_index_and_type">IndexAndType</a></td></tr>
<tr class="separator:de/d0f/struct_variadic_s_q_l_parser_1_1_index_and_type"><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:a4ed55da72e30a870bf5f3330ac729afd"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/d4e/namespace_variadic_s_q_l_parser.xhtml#a4ed55da72e30a870bf5f3330ac729afd">GetTypeMappingAtIndex</a> (int i)</td></tr>
<tr class="separator:a4ed55da72e30a870bf5f3330ac729afd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0bd6079d53e7682a3db950b9fbd135bf"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/d4e/namespace_variadic_s_q_l_parser.xhtml#a0bd6079d53e7682a3db950b9fbd135bf">GetTypeMappingIndices</a> (const char *format, <a class="el" href="../../d4/d78/class_data_structures_1_1_list.xhtml">DataStructures::List</a>&lt; <a class="el" href="../../d4/d4e/namespace_variadic_s_q_l_parser.xhtml#de/d0f/struct_variadic_s_q_l_parser_1_1_index_and_type">IndexAndType</a> &gt; &amp;indices)</td></tr>
<tr class="separator:a0bd6079d53e7682a3db950b9fbd135bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0341ca389a63b8a76acbed14c5d6161b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/d4e/namespace_variadic_s_q_l_parser.xhtml#a0341ca389a63b8a76acbed14c5d6161b">ExtractArguments</a> (va_list argptr, const <a class="el" href="../../d4/d78/class_data_structures_1_1_list.xhtml">DataStructures::List</a>&lt; <a class="el" href="../../d4/d4e/namespace_variadic_s_q_l_parser.xhtml#de/d0f/struct_variadic_s_q_l_parser_1_1_index_and_type">IndexAndType</a> &gt; &amp;indices, char ***argumentBinary, int **argumentLengths)</td></tr>
<tr class="separator:a0341ca389a63b8a76acbed14c5d6161b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a722f357d6841bef7839746a3ed3f5852"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/d4e/namespace_variadic_s_q_l_parser.xhtml#a722f357d6841bef7839746a3ed3f5852">FreeArguments</a> (const <a class="el" href="../../d4/d78/class_data_structures_1_1_list.xhtml">DataStructures::List</a>&lt; <a class="el" href="../../d4/d4e/namespace_variadic_s_q_l_parser.xhtml#de/d0f/struct_variadic_s_q_l_parser_1_1_index_and_type">IndexAndType</a> &gt; &amp;indices, char **argumentBinary, int *argumentLengths)</td></tr>
<tr class="separator:a722f357d6841bef7839746a3ed3f5852"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<hr/><h2 class="groupheader">Class Documentation</h2>
<a name="de/d0f/struct_variadic_s_q_l_parser_1_1_index_and_type" id="de/d0f/struct_variadic_s_q_l_parser_1_1_index_and_type"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct VariadicSQLParser::IndexAndType</td>
</tr>
</table>
</div><div class="memdoc">
<div class="textblock">
<p>Definition at line <a class="el" href="../../dc/da9/_variadic_s_q_l_parser_8h_source.xhtml#l00020">20</a> of file <a class="el" href="../../dc/da9/_variadic_s_q_l_parser_8h_source.xhtml">VariadicSQLParser.h</a>.</p>
</div><table class="fieldtable">
<tr><th colspan="3">Class Members</th></tr>
<tr><td class="fieldtype">
<a class="anchor" id="aac47b5fb94abaa046821cd7c422a7708"></a>unsigned int</td>
<td class="fieldname">
strIndex</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a2b3dd0aa69baa4626c2fb2aa0c09109c"></a>unsigned int</td>
<td class="fieldname">
typeMappingIndex</td>
<td class="fielddoc">
</td></tr>
</table>
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="a0341ca389a63b8a76acbed14c5d6161b"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void VariadicSQLParser::ExtractArguments </td>
<td>(</td>
<td class="paramtype">va_list&#160;</td>
<td class="paramname"><em>argptr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="../../d4/d78/class_data_structures_1_1_list.xhtml">DataStructures::List</a>&lt; <a class="el" href="../../d4/d4e/namespace_variadic_s_q_l_parser.xhtml#de/d0f/struct_variadic_s_q_l_parser_1_1_index_and_type">IndexAndType</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>indices</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">char ***&#160;</td>
<td class="paramname"><em>argumentBinary</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int **&#160;</td>
<td class="paramname"><em>argumentLengths</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="../../d8/db0/_variadic_s_q_l_parser_8cpp_source.xhtml#l00075">75</a> of file <a class="el" href="../../d8/db0/_variadic_s_q_l_parser_8cpp_source.xhtml">VariadicSQLParser.cpp</a>.</p>
<p>References <a class="el" href="../../d8/db0/defines_8h_source.xhtml#l00047">_FILE_AND_LINE_</a>, <a class="el" href="../../d7/dc3/_bit_stream_8h_source.xhtml#l00735">SLNet::BitStream::IsNetworkOrder()</a>, <a class="el" href="../../d9/d4c/_rak_memory_override_8cpp_source.xhtml#l00062">rakMalloc_Ex</a>, <a class="el" href="../../dc/dc5/_bit_stream_8cpp_source.xhtml#l01070">SLNet::BitStream::ReverseBytesInPlace()</a>, <a class="el" href="../../d9/d7f/_d_s___list_8h_source.xhtml#l00450">DataStructures::List&lt; list_type &gt;::Size()</a>, and <a class="el" href="../../d8/db0/_variadic_s_q_l_parser_8cpp_source.xhtml#l00028">typeMappings</a>.</p>
</div>
</div>
<a class="anchor" id="a722f357d6841bef7839746a3ed3f5852"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void VariadicSQLParser::FreeArguments </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="../../d4/d78/class_data_structures_1_1_list.xhtml">DataStructures::List</a>&lt; <a class="el" href="../../d4/d4e/namespace_variadic_s_q_l_parser.xhtml#de/d0f/struct_variadic_s_q_l_parser_1_1_index_and_type">IndexAndType</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>indices</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">char **&#160;</td>
<td class="paramname"><em>argumentBinary</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int *&#160;</td>
<td class="paramname"><em>argumentLengths</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="../../d8/db0/_variadic_s_q_l_parser_8cpp_source.xhtml#l00155">155</a> of file <a class="el" href="../../d8/db0/_variadic_s_q_l_parser_8cpp_source.xhtml">VariadicSQLParser.cpp</a>.</p>
<p>References <a class="el" href="../../d8/db0/defines_8h_source.xhtml#l00047">_FILE_AND_LINE_</a>, <a class="el" href="../../dd/dc5/memoryoverride_8h_source.xhtml#l00197">SLNet::OP_DELETE_ARRAY()</a>, <a class="el" href="../../d9/d4c/_rak_memory_override_8cpp_source.xhtml#l00064">rakFree_Ex</a>, and <a class="el" href="../../d9/d7f/_d_s___list_8h_source.xhtml#l00450">DataStructures::List&lt; list_type &gt;::Size()</a>.</p>
</div>
</div>
<a class="anchor" id="a4ed55da72e30a870bf5f3330ac729afd"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const char * VariadicSQLParser::GetTypeMappingAtIndex </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>i</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d8/db0/_variadic_s_q_l_parser_8cpp_source.xhtml#l00046">46</a> of file <a class="el" href="../../d8/db0/_variadic_s_q_l_parser_8cpp_source.xhtml">VariadicSQLParser.cpp</a>.</p>
<p>References <a class="el" href="../../d8/db0/_variadic_s_q_l_parser_8cpp_source.xhtml#l00028">typeMappings</a>.</p>
</div>
</div>
<a class="anchor" id="a0bd6079d53e7682a3db950b9fbd135bf"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void VariadicSQLParser::GetTypeMappingIndices </td>
<td>(</td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>format</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../d4/d78/class_data_structures_1_1_list.xhtml">DataStructures::List</a>&lt; <a class="el" href="../../d4/d4e/namespace_variadic_s_q_l_parser.xhtml#de/d0f/struct_variadic_s_q_l_parser_1_1_index_and_type">IndexAndType</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>indices</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="../../d8/db0/_variadic_s_q_l_parser_8cpp_source.xhtml#l00050">50</a> of file <a class="el" href="../../d8/db0/_variadic_s_q_l_parser_8cpp_source.xhtml">VariadicSQLParser.cpp</a>.</p>
<p>References <a class="el" href="../../d8/db0/defines_8h_source.xhtml#l00047">_FILE_AND_LINE_</a>, <a class="el" href="../../d9/d7f/_d_s___list_8h_source.xhtml#l00456">DataStructures::List&lt; list_type &gt;::Clear()</a>, <a class="el" href="../../d8/db0/_variadic_s_q_l_parser_8cpp_source.xhtml#l00038">GetTypeMappingIndex()</a>, <a class="el" href="../../d9/d7f/_d_s___list_8h_source.xhtml#l00248">DataStructures::List&lt; list_type &gt;::Insert()</a>, <a class="el" href="../../dc/da9/_variadic_s_q_l_parser_8h_source.xhtml#l00022">VariadicSQLParser::IndexAndType::strIndex</a>, and <a class="el" href="../../dc/da9/_variadic_s_q_l_parser_8h_source.xhtml#l00023">VariadicSQLParser::IndexAndType::typeMappingIndex</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="../../d4/d4e/namespace_variadic_s_q_l_parser.xhtml">VariadicSQLParser</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,5 @@
var namespace_variadic_s_q_l_parser_dup =
[
[ "strIndex", "d4/d4e/namespace_variadic_s_q_l_parser.xhtml#aac47b5fb94abaa046821cd7c422a7708", null ],
[ "typeMappingIndex", "d4/d4e/namespace_variadic_s_q_l_parser.xhtml#a2b3dd0aa69baa4626c2fb2aa0c09109c", null ]
];

View File

@ -0,0 +1,61 @@
var class_s_l_net_1_1_statistics_history =
[
[ "TimeAndValue", "d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#dd/d08/struct_s_l_net_1_1_statistics_history_1_1_time_and_value", [
[ "time", "d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a70ccc92b1848b9bb6af59b324d2981d7", null ],
[ "val", "d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a56426f42befe03e378f2fc43e1c7d88c", null ]
] ],
[ "TimeAndValueQueue", "d6/d4f/struct_s_l_net_1_1_statistics_history_1_1_time_and_value_queue.xhtml", "d6/d4f/struct_s_l_net_1_1_statistics_history_1_1_time_and_value_queue" ],
[ "TrackedObject", "d2/d8a/struct_s_l_net_1_1_statistics_history_1_1_tracked_object.xhtml", "d2/d8a/struct_s_l_net_1_1_statistics_history_1_1_tracked_object" ],
[ "TrackedObjectData", "db/d72/struct_s_l_net_1_1_statistics_history_1_1_tracked_object_data.xhtml", "db/d72/struct_s_l_net_1_1_statistics_history_1_1_tracked_object_data" ],
[ "SHDataCategory", "d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a7b449e2d3b799cc176d241597072d2f1", [
[ "DC_DISCRETE", "d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a7b449e2d3b799cc176d241597072d2f1a4b213c641c05d4de3bdfa59107438b76", null ],
[ "DC_CONTINUOUS", "d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a7b449e2d3b799cc176d241597072d2f1abad5ad3c97f0d3b796011eac204ab497", null ]
] ],
[ "SHErrorCode", "d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#aac9fa45e19af1e89020ab808d7e19484", [
[ "SH_OK", "d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#aac9fa45e19af1e89020ab808d7e19484ac1e166c07d02a1fc313fb4dc74d74d2b", null ],
[ "SH_UKNOWN_OBJECT", "d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#aac9fa45e19af1e89020ab808d7e19484a060f13c7ed4fb6b2561efd84808f68ab", null ],
[ "SH_UKNOWN_KEY", "d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#aac9fa45e19af1e89020ab808d7e19484ac21cef3a4be35ffa128ce942546bd0c9", null ],
[ "SH_INVALID_PARAMETER", "d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#aac9fa45e19af1e89020ab808d7e19484a3070cf841524d2f38529c2f66a2de096", null ]
] ],
[ "SHSortOperation", "d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a437de339e4ac43809580b2932abfe716", [
[ "SH_DO_NOT_SORT", "d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a437de339e4ac43809580b2932abfe716ab0dbaf8b8c91cfb40ff343a14b63ab17", null ],
[ "SH_SORT_BY_RECENT_SUM_ASCENDING", "d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a437de339e4ac43809580b2932abfe716ad6fc43a1004b2d26b7c4b4233f9a804a", null ],
[ "SH_SORT_BY_RECENT_SUM_DESCENDING", "d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a437de339e4ac43809580b2932abfe716a5a7947e50c570d77776a7605819d15a8", null ],
[ "SH_SORT_BY_LONG_TERM_SUM_ASCENDING", "d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a437de339e4ac43809580b2932abfe716a22613fd5b6a51eb0547fd094b0855c9e", null ],
[ "SH_SORT_BY_LONG_TERM_SUM_DESCENDING", "d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a437de339e4ac43809580b2932abfe716a27ec1896e71efa11a97e68ea14ad9d56", null ],
[ "SH_SORT_BY_RECENT_SUM_OF_SQUARES_ASCENDING", "d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a437de339e4ac43809580b2932abfe716a8f6fed33cfc6c220299a2b755fa1cf7a", null ],
[ "SH_SORT_BY_RECENT_SUM_OF_SQUARES_DESCENDING", "d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a437de339e4ac43809580b2932abfe716a37d95585e27e0b30cbf7eab617a8692b", null ],
[ "SH_SORT_BY_RECENT_AVERAGE_ASCENDING", "d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a437de339e4ac43809580b2932abfe716aeea309cd6aa2daf517fb9fd86ab619bb", null ],
[ "SH_SORT_BY_RECENT_AVERAGE_DESCENDING", "d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a437de339e4ac43809580b2932abfe716aac06a4a33a1dfe5d9ed21764565645fd", null ],
[ "SH_SORT_BY_LONG_TERM_AVERAGE_ASCENDING", "d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a437de339e4ac43809580b2932abfe716aa597ce97c990aac9d1a1d08f7ccd7753", null ],
[ "SH_SORT_BY_LONG_TERM_AVERAGE_DESCENDING", "d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a437de339e4ac43809580b2932abfe716a86a29b4714957895e351f4746a4baae6", null ],
[ "SH_SORT_BY_RECENT_HIGHEST_ASCENDING", "d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a437de339e4ac43809580b2932abfe716a817948ff60addfad57ec864bf3f17684", null ],
[ "SH_SORT_BY_RECENT_HIGHEST_DESCENDING", "d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a437de339e4ac43809580b2932abfe716a73ef5ee0e36c6c679bb52ad58a1af6ed", null ],
[ "SH_SORT_BY_RECENT_LOWEST_ASCENDING", "d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a437de339e4ac43809580b2932abfe716a0ee212727f6b36de6814f0a176f1b67c", null ],
[ "SH_SORT_BY_RECENT_LOWEST_DESCENDING", "d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a437de339e4ac43809580b2932abfe716afa526f814f8b4a9c78c1735bc0867f49", null ],
[ "SH_SORT_BY_LONG_TERM_HIGHEST_ASCENDING", "d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a437de339e4ac43809580b2932abfe716a1fc99ea563c53c47dcfad7d7b6f05bae", null ],
[ "SH_SORT_BY_LONG_TERM_HIGHEST_DESCENDING", "d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a437de339e4ac43809580b2932abfe716a2bb7ea0f5dc892674cf3c00e97a6892d", null ],
[ "SH_SORT_BY_LONG_TERM_LOWEST_ASCENDING", "d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a437de339e4ac43809580b2932abfe716ae089d73e5c4a5ca1dc0ef0f6bc0fb20e", null ],
[ "SH_SORT_BY_LONG_TERM_LOWEST_DESCENDING", "d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a437de339e4ac43809580b2932abfe716a40ccc4e3c194eacded35fbf1f462e6bf", null ]
] ],
[ "StatisticsHistory", "d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#ab0a1e7a14175abc62dc2ebae533e2803", null ],
[ "~StatisticsHistory", "d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a954c31a221af64b938be9ed9e35212a4", null ],
[ "AddObject", "d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#abaeaf7d3effca66f165dd251f79b78f4", null ],
[ "AddValueByIndex", "d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#af0ad360ea42dbebf20eb48883a1f1fde", null ],
[ "AddValueByObjectID", "d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a9994d4934a554a1a066df493b64f14a1", null ],
[ "Clear", "d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a998f8d320f8a0d86b6be540de4877761", null ],
[ "GetDefaultTimeToTrack", "d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#aa56d96876ea20a06fc40d7cd9907417d", null ],
[ "GetHistoryForKey", "d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a73e894239b9d2096b836f5678cf9d7b1", null ],
[ "GetHistorySorted", "d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a315530670730a6bd1968eee889b49509", null ],
[ "GetObjectAtIndex", "d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#ac3008a38cf3159b600d266364633eee4", null ],
[ "GetObjectCount", "d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a05d8c73c9678707ba859a44f70caccec", null ],
[ "GetObjectIndex", "d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#ac7714c4a1db3b555cde57fdfeb343be3", null ],
[ "GetUniqueKeyList", "d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a28a2121938ffb3c5c4d4787b47e687bb", null ],
[ "MergeAllObjectsOnKey", "d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a03b714a79e7b1f536c01e876a617a299", null ],
[ "RemoveObject", "d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a14fde12e86e857130a2624bb1a28bba0", null ],
[ "RemoveObjectAtIndex", "d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#af5b71387e5bd65b3f3082292765eef92", null ],
[ "SetDefaultTimeToTrack", "d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#ab84e7aa56636345d897d040abfffe2e3", null ],
[ "TrackedObjectComp", "d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a1e00154f0e3858a8dd319e25b65dfbfb", null ],
[ "objects", "d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a8bf367490059dde2bd637a7a9ea0c1d4", null ],
[ "timeToTrack", "d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#ad1fd9a244cd1d810ff8ec8823ccbf0a6", null ]
];

View File

@ -0,0 +1,861 @@
<!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::StatisticsHistory 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('d4/d5b/class_s_l_net_1_1_statistics_history.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="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="../../d6/da5/class_s_l_net_1_1_statistics_history-members.xhtml">List of all members</a> </div>
<div class="headertitle">
<div class="title">SLNet::StatisticsHistory Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>Input numerical values over time. Get sum, average, highest, lowest, standard deviation on recent or all-time values.
<a href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="../../d3/dbf/_statistics_history_8h_source.xhtml">slikenet/StatisticsHistory.h</a>&gt;</code></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:dd/d08/struct_s_l_net_1_1_statistics_history_1_1_time_and_value"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#dd/d08/struct_s_l_net_1_1_statistics_history_1_1_time_and_value">TimeAndValue</a></td></tr>
<tr class="separator:dd/d08/struct_s_l_net_1_1_statistics_history_1_1_time_and_value"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d4f/struct_s_l_net_1_1_statistics_history_1_1_time_and_value_queue.xhtml">TimeAndValueQueue</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d8a/struct_s_l_net_1_1_statistics_history_1_1_tracked_object.xhtml">TrackedObject</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d72/struct_s_l_net_1_1_statistics_history_1_1_tracked_object_data.xhtml">TrackedObjectData</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="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:aac9fa45e19af1e89020ab808d7e19484"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#aac9fa45e19af1e89020ab808d7e19484">SHErrorCode</a> { <a class="el" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#aac9fa45e19af1e89020ab808d7e19484ac1e166c07d02a1fc313fb4dc74d74d2b">SH_OK</a>,
<a class="el" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#aac9fa45e19af1e89020ab808d7e19484a060f13c7ed4fb6b2561efd84808f68ab">SH_UKNOWN_OBJECT</a>,
<a class="el" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#aac9fa45e19af1e89020ab808d7e19484ac21cef3a4be35ffa128ce942546bd0c9">SH_UKNOWN_KEY</a>,
<a class="el" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#aac9fa45e19af1e89020ab808d7e19484a3070cf841524d2f38529c2f66a2de096">SH_INVALID_PARAMETER</a>
}</td></tr>
<tr class="separator:aac9fa45e19af1e89020ab808d7e19484"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a437de339e4ac43809580b2932abfe716"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a437de339e4ac43809580b2932abfe716">SHSortOperation</a> { <br/>
&#160;&#160;<a class="el" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a437de339e4ac43809580b2932abfe716ab0dbaf8b8c91cfb40ff343a14b63ab17">SH_DO_NOT_SORT</a>,
<a class="el" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a437de339e4ac43809580b2932abfe716ad6fc43a1004b2d26b7c4b4233f9a804a">SH_SORT_BY_RECENT_SUM_ASCENDING</a>,
<a class="el" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a437de339e4ac43809580b2932abfe716a5a7947e50c570d77776a7605819d15a8">SH_SORT_BY_RECENT_SUM_DESCENDING</a>,
<a class="el" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a437de339e4ac43809580b2932abfe716a22613fd5b6a51eb0547fd094b0855c9e">SH_SORT_BY_LONG_TERM_SUM_ASCENDING</a>,
<br/>
&#160;&#160;<a class="el" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a437de339e4ac43809580b2932abfe716a27ec1896e71efa11a97e68ea14ad9d56">SH_SORT_BY_LONG_TERM_SUM_DESCENDING</a>,
<a class="el" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a437de339e4ac43809580b2932abfe716a8f6fed33cfc6c220299a2b755fa1cf7a">SH_SORT_BY_RECENT_SUM_OF_SQUARES_ASCENDING</a>,
<a class="el" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a437de339e4ac43809580b2932abfe716a37d95585e27e0b30cbf7eab617a8692b">SH_SORT_BY_RECENT_SUM_OF_SQUARES_DESCENDING</a>,
<a class="el" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a437de339e4ac43809580b2932abfe716aeea309cd6aa2daf517fb9fd86ab619bb">SH_SORT_BY_RECENT_AVERAGE_ASCENDING</a>,
<br/>
&#160;&#160;<a class="el" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a437de339e4ac43809580b2932abfe716aac06a4a33a1dfe5d9ed21764565645fd">SH_SORT_BY_RECENT_AVERAGE_DESCENDING</a>,
<a class="el" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a437de339e4ac43809580b2932abfe716aa597ce97c990aac9d1a1d08f7ccd7753">SH_SORT_BY_LONG_TERM_AVERAGE_ASCENDING</a>,
<a class="el" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a437de339e4ac43809580b2932abfe716a86a29b4714957895e351f4746a4baae6">SH_SORT_BY_LONG_TERM_AVERAGE_DESCENDING</a>,
<a class="el" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a437de339e4ac43809580b2932abfe716a817948ff60addfad57ec864bf3f17684">SH_SORT_BY_RECENT_HIGHEST_ASCENDING</a>,
<br/>
&#160;&#160;<a class="el" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a437de339e4ac43809580b2932abfe716a73ef5ee0e36c6c679bb52ad58a1af6ed">SH_SORT_BY_RECENT_HIGHEST_DESCENDING</a>,
<a class="el" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a437de339e4ac43809580b2932abfe716a0ee212727f6b36de6814f0a176f1b67c">SH_SORT_BY_RECENT_LOWEST_ASCENDING</a>,
<a class="el" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a437de339e4ac43809580b2932abfe716afa526f814f8b4a9c78c1735bc0867f49">SH_SORT_BY_RECENT_LOWEST_DESCENDING</a>,
<a class="el" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a437de339e4ac43809580b2932abfe716a1fc99ea563c53c47dcfad7d7b6f05bae">SH_SORT_BY_LONG_TERM_HIGHEST_ASCENDING</a>,
<br/>
&#160;&#160;<a class="el" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a437de339e4ac43809580b2932abfe716a2bb7ea0f5dc892674cf3c00e97a6892d">SH_SORT_BY_LONG_TERM_HIGHEST_DESCENDING</a>,
<a class="el" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a437de339e4ac43809580b2932abfe716ae089d73e5c4a5ca1dc0ef0f6bc0fb20e">SH_SORT_BY_LONG_TERM_LOWEST_ASCENDING</a>,
<a class="el" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a437de339e4ac43809580b2932abfe716a40ccc4e3c194eacded35fbf1f462e6bf">SH_SORT_BY_LONG_TERM_LOWEST_DESCENDING</a>
<br/>
}</td></tr>
<tr class="separator:a437de339e4ac43809580b2932abfe716"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7b449e2d3b799cc176d241597072d2f1"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a7b449e2d3b799cc176d241597072d2f1">SHDataCategory</a> { <a class="el" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a7b449e2d3b799cc176d241597072d2f1a4b213c641c05d4de3bdfa59107438b76">DC_DISCRETE</a>,
<a class="el" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a7b449e2d3b799cc176d241597072d2f1abad5ad3c97f0d3b796011eac204ab497">DC_CONTINUOUS</a>
}</td></tr>
<tr class="separator:a7b449e2d3b799cc176d241597072d2f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><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:ab0a1e7a14175abc62dc2ebae533e2803"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#ab0a1e7a14175abc62dc2ebae533e2803">StatisticsHistory</a> ()</td></tr>
<tr class="separator:ab0a1e7a14175abc62dc2ebae533e2803"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a954c31a221af64b938be9ed9e35212a4"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a954c31a221af64b938be9ed9e35212a4">~StatisticsHistory</a> ()</td></tr>
<tr class="separator:a954c31a221af64b938be9ed9e35212a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab84e7aa56636345d897d040abfffe2e3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#ab84e7aa56636345d897d040abfffe2e3">SetDefaultTimeToTrack</a> (<a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#a7223b62c1b67121db1d975f2ab9b74c7">Time</a> defaultTimeToTrack)</td></tr>
<tr class="separator:ab84e7aa56636345d897d040abfffe2e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa56d96876ea20a06fc40d7cd9907417d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#a7223b62c1b67121db1d975f2ab9b74c7">Time</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#aa56d96876ea20a06fc40d7cd9907417d">GetDefaultTimeToTrack</a> (void) const </td></tr>
<tr class="separator:aa56d96876ea20a06fc40d7cd9907417d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abaeaf7d3effca66f165dd251f79b78f4"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#abaeaf7d3effca66f165dd251f79b78f4">AddObject</a> (<a class="el" href="../../db/d72/struct_s_l_net_1_1_statistics_history_1_1_tracked_object_data.xhtml">TrackedObjectData</a> tod)</td></tr>
<tr class="separator:abaeaf7d3effca66f165dd251f79b78f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a14fde12e86e857130a2624bb1a28bba0"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a14fde12e86e857130a2624bb1a28bba0">RemoveObject</a> (<a class="el" href="../../df/df2/_native_types_8h.xhtml#ad27ed092432b64ff558d2254c278720f">uint64_t</a> objectId, void **userData)</td></tr>
<tr class="separator:a14fde12e86e857130a2624bb1a28bba0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af5b71387e5bd65b3f3082292765eef92"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#af5b71387e5bd65b3f3082292765eef92">RemoveObjectAtIndex</a> (unsigned int index)</td></tr>
<tr class="separator:af5b71387e5bd65b3f3082292765eef92"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a998f8d320f8a0d86b6be540de4877761"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a998f8d320f8a0d86b6be540de4877761">Clear</a> (void)</td></tr>
<tr class="separator:a998f8d320f8a0d86b6be540de4877761"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a05d8c73c9678707ba859a44f70caccec"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a05d8c73c9678707ba859a44f70caccec">GetObjectCount</a> (void) const </td></tr>
<tr class="separator:a05d8c73c9678707ba859a44f70caccec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac3008a38cf3159b600d266364633eee4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../db/d72/struct_s_l_net_1_1_statistics_history_1_1_tracked_object_data.xhtml">StatisticsHistory::TrackedObjectData</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#ac3008a38cf3159b600d266364633eee4">GetObjectAtIndex</a> (unsigned int index) const </td></tr>
<tr class="separator:ac3008a38cf3159b600d266364633eee4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac7714c4a1db3b555cde57fdfeb343be3"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#ac7714c4a1db3b555cde57fdfeb343be3">GetObjectIndex</a> (<a class="el" href="../../df/df2/_native_types_8h.xhtml#ad27ed092432b64ff558d2254c278720f">uint64_t</a> objectId) const </td></tr>
<tr class="separator:ac7714c4a1db3b555cde57fdfeb343be3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9994d4934a554a1a066df493b64f14a1"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a9994d4934a554a1a066df493b64f14a1">AddValueByObjectID</a> (<a class="el" href="../../df/df2/_native_types_8h.xhtml#ad27ed092432b64ff558d2254c278720f">uint64_t</a> objectId, <a class="el" href="../../d2/d66/class_s_l_net_1_1_rak_string.xhtml">RakString</a> key, <a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#abadcff7b9a7a60aecb46b6bea5b142ca">SHValueType</a> val, <a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#a7223b62c1b67121db1d975f2ab9b74c7">Time</a> curTime, bool combineEqualTimes)</td></tr>
<tr class="separator:a9994d4934a554a1a066df493b64f14a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af0ad360ea42dbebf20eb48883a1f1fde"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#af0ad360ea42dbebf20eb48883a1f1fde">AddValueByIndex</a> (unsigned int index, <a class="el" href="../../d2/d66/class_s_l_net_1_1_rak_string.xhtml">RakString</a> key, <a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#abadcff7b9a7a60aecb46b6bea5b142ca">SHValueType</a> val, <a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#a7223b62c1b67121db1d975f2ab9b74c7">Time</a> curTime, bool combineEqualTimes)</td></tr>
<tr class="separator:af0ad360ea42dbebf20eb48883a1f1fde"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a73e894239b9d2096b836f5678cf9d7b1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#aac9fa45e19af1e89020ab808d7e19484">SHErrorCode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a73e894239b9d2096b836f5678cf9d7b1">GetHistoryForKey</a> (<a class="el" href="../../df/df2/_native_types_8h.xhtml#ad27ed092432b64ff558d2254c278720f">uint64_t</a> objectId, <a class="el" href="../../d2/d66/class_s_l_net_1_1_rak_string.xhtml">RakString</a> key, <a class="el" href="../../d6/d4f/struct_s_l_net_1_1_statistics_history_1_1_time_and_value_queue.xhtml">TimeAndValueQueue</a> **values, <a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#a7223b62c1b67121db1d975f2ab9b74c7">Time</a> curTime) const </td></tr>
<tr class="separator:a73e894239b9d2096b836f5678cf9d7b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a315530670730a6bd1968eee889b49509"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a315530670730a6bd1968eee889b49509">GetHistorySorted</a> (<a class="el" href="../../df/df2/_native_types_8h.xhtml#ad27ed092432b64ff558d2254c278720f">uint64_t</a> objectId, <a class="el" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a437de339e4ac43809580b2932abfe716">SHSortOperation</a> sortType, <a class="el" href="../../d4/d78/class_data_structures_1_1_list.xhtml">DataStructures::List</a>&lt; <a class="el" href="../../d6/d4f/struct_s_l_net_1_1_statistics_history_1_1_time_and_value_queue.xhtml">TimeAndValueQueue</a> * &gt; &amp;values) const </td></tr>
<tr class="separator:a315530670730a6bd1968eee889b49509"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a03b714a79e7b1f536c01e876a617a299"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a03b714a79e7b1f536c01e876a617a299">MergeAllObjectsOnKey</a> (<a class="el" href="../../d2/d66/class_s_l_net_1_1_rak_string.xhtml">RakString</a> key, <a class="el" href="../../d6/d4f/struct_s_l_net_1_1_statistics_history_1_1_time_and_value_queue.xhtml">TimeAndValueQueue</a> *tavqOutput, <a class="el" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a7b449e2d3b799cc176d241597072d2f1">SHDataCategory</a> dataCategory) const </td></tr>
<tr class="separator:a03b714a79e7b1f536c01e876a617a299"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a28a2121938ffb3c5c4d4787b47e687bb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a28a2121938ffb3c5c4d4787b47e687bb">GetUniqueKeyList</a> (<a class="el" href="../../d4/d78/class_data_structures_1_1_list.xhtml">DataStructures::List</a>&lt; <a class="el" href="../../d2/d66/class_s_l_net_1_1_rak_string.xhtml">RakString</a> &gt; &amp;keys)</td></tr>
<tr class="separator:a28a2121938ffb3c5c4d4787b47e687bb"><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:a1e00154f0e3858a8dd319e25b65dfbfb"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a1e00154f0e3858a8dd319e25b65dfbfb">TrackedObjectComp</a> (const <a class="el" href="../../df/df2/_native_types_8h.xhtml#ad27ed092432b64ff558d2254c278720f">uint64_t</a> &amp;key, <a class="el" href="../../d2/d8a/struct_s_l_net_1_1_statistics_history_1_1_tracked_object.xhtml">TrackedObject</a> *const &amp;data)</td></tr>
<tr class="separator:a1e00154f0e3858a8dd319e25b65dfbfb"><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:a8bf367490059dde2bd637a7a9ea0c1d4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../da/dfc/class_data_structures_1_1_ordered_list.xhtml">DataStructures::OrderedList</a><br class="typebreak"/>
&lt; <a class="el" href="../../df/df2/_native_types_8h.xhtml#ad27ed092432b64ff558d2254c278720f">uint64_t</a>, <a class="el" href="../../d2/d8a/struct_s_l_net_1_1_statistics_history_1_1_tracked_object.xhtml">TrackedObject</a> <br class="typebreak"/>
*, <a class="el" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a1e00154f0e3858a8dd319e25b65dfbfb">TrackedObjectComp</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a8bf367490059dde2bd637a7a9ea0c1d4">objects</a></td></tr>
<tr class="separator:a8bf367490059dde2bd637a7a9ea0c1d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad1fd9a244cd1d810ff8ec8823ccbf0a6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#a7223b62c1b67121db1d975f2ab9b74c7">Time</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#ad1fd9a244cd1d810ff8ec8823ccbf0a6">timeToTrack</a></td></tr>
<tr class="separator:ad1fd9a244cd1d810ff8ec8823ccbf0a6"><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>Input numerical values over time. Get sum, average, highest, lowest, standard deviation on recent or all-time values. </p>
<p>Definition at line <a class="el" href="../../d3/dbf/_statistics_history_8h_source.xhtml#l00047">47</a> of file <a class="el" href="../../d3/dbf/_statistics_history_8h_source.xhtml">StatisticsHistory.h</a>.</p>
</div><hr/><h2 class="groupheader">Class Documentation</h2>
<a name="dd/d08/struct_s_l_net_1_1_statistics_history_1_1_time_and_value" id="dd/d08/struct_s_l_net_1_1_statistics_history_1_1_time_and_value"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct SLNet::StatisticsHistory::TimeAndValue</td>
</tr>
</table>
</div><div class="memdoc">
<div class="textblock">
<p>Definition at line <a class="el" href="../../d3/dbf/_statistics_history_8h_source.xhtml#l00129">129</a> of file <a class="el" href="../../d3/dbf/_statistics_history_8h_source.xhtml">StatisticsHistory.h</a>.</p>
</div><table class="fieldtable">
<tr><th colspan="3">Class Members</th></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a70ccc92b1848b9bb6af59b324d2981d7"></a><a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#a7223b62c1b67121db1d975f2ab9b74c7">Time</a></td>
<td class="fieldname">
time</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a56426f42befe03e378f2fc43e1c7d88c"></a><a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#abadcff7b9a7a60aecb46b6bea5b142ca">SHValueType</a></td>
<td class="fieldname">
val</td>
<td class="fielddoc">
</td></tr>
</table>
</div>
</div>
<h2 class="groupheader">Member Enumeration Documentation</h2>
<a class="anchor" id="a7b449e2d3b799cc176d241597072d2f1"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a7b449e2d3b799cc176d241597072d2f1">SLNet::StatisticsHistory::SHDataCategory</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="a7b449e2d3b799cc176d241597072d2f1a4b213c641c05d4de3bdfa59107438b76"></a>DC_DISCRETE</em>&nbsp;</td><td>
<p>Insert values from one set into the other set, in time order Values at the same time end up in the final set twice Use when you have additional data points to add to a graph </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a7b449e2d3b799cc176d241597072d2f1abad5ad3c97f0d3b796011eac204ab497"></a>DC_CONTINUOUS</em>&nbsp;</td><td>
<p>Add values from one set to values from the other set, at corresponding times If value at time t does not exist in the other set, linearly extrapolate value for other set based on nearest two data points longTerm* values are unknown using this method Use to add two graphs together </p>
</td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="../../d3/dbf/_statistics_history_8h_source.xhtml#l00085">85</a> of file <a class="el" href="../../d3/dbf/_statistics_history_8h_source.xhtml">StatisticsHistory.h</a>.</p>
</div>
</div>
<a class="anchor" id="aac9fa45e19af1e89020ab808d7e19484"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#aac9fa45e19af1e89020ab808d7e19484">SLNet::StatisticsHistory::SHErrorCode</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="aac9fa45e19af1e89020ab808d7e19484ac1e166c07d02a1fc313fb4dc74d74d2b"></a>SH_OK</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="aac9fa45e19af1e89020ab808d7e19484a060f13c7ed4fb6b2561efd84808f68ab"></a>SH_UKNOWN_OBJECT</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="aac9fa45e19af1e89020ab808d7e19484ac21cef3a4be35ffa128ce942546bd0c9"></a>SH_UKNOWN_KEY</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="aac9fa45e19af1e89020ab808d7e19484a3070cf841524d2f38529c2f66a2de096"></a>SH_INVALID_PARAMETER</em>&nbsp;</td><td>
</td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="../../d3/dbf/_statistics_history_8h_source.xhtml#l00053">53</a> of file <a class="el" href="../../d3/dbf/_statistics_history_8h_source.xhtml">StatisticsHistory.h</a>.</p>
</div>
</div>
<a class="anchor" id="a437de339e4ac43809580b2932abfe716"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a437de339e4ac43809580b2932abfe716">SLNet::StatisticsHistory::SHSortOperation</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="a437de339e4ac43809580b2932abfe716ab0dbaf8b8c91cfb40ff343a14b63ab17"></a>SH_DO_NOT_SORT</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a437de339e4ac43809580b2932abfe716ad6fc43a1004b2d26b7c4b4233f9a804a"></a>SH_SORT_BY_RECENT_SUM_ASCENDING</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a437de339e4ac43809580b2932abfe716a5a7947e50c570d77776a7605819d15a8"></a>SH_SORT_BY_RECENT_SUM_DESCENDING</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a437de339e4ac43809580b2932abfe716a22613fd5b6a51eb0547fd094b0855c9e"></a>SH_SORT_BY_LONG_TERM_SUM_ASCENDING</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a437de339e4ac43809580b2932abfe716a27ec1896e71efa11a97e68ea14ad9d56"></a>SH_SORT_BY_LONG_TERM_SUM_DESCENDING</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a437de339e4ac43809580b2932abfe716a8f6fed33cfc6c220299a2b755fa1cf7a"></a>SH_SORT_BY_RECENT_SUM_OF_SQUARES_ASCENDING</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a437de339e4ac43809580b2932abfe716a37d95585e27e0b30cbf7eab617a8692b"></a>SH_SORT_BY_RECENT_SUM_OF_SQUARES_DESCENDING</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a437de339e4ac43809580b2932abfe716aeea309cd6aa2daf517fb9fd86ab619bb"></a>SH_SORT_BY_RECENT_AVERAGE_ASCENDING</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a437de339e4ac43809580b2932abfe716aac06a4a33a1dfe5d9ed21764565645fd"></a>SH_SORT_BY_RECENT_AVERAGE_DESCENDING</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a437de339e4ac43809580b2932abfe716aa597ce97c990aac9d1a1d08f7ccd7753"></a>SH_SORT_BY_LONG_TERM_AVERAGE_ASCENDING</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a437de339e4ac43809580b2932abfe716a86a29b4714957895e351f4746a4baae6"></a>SH_SORT_BY_LONG_TERM_AVERAGE_DESCENDING</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a437de339e4ac43809580b2932abfe716a817948ff60addfad57ec864bf3f17684"></a>SH_SORT_BY_RECENT_HIGHEST_ASCENDING</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a437de339e4ac43809580b2932abfe716a73ef5ee0e36c6c679bb52ad58a1af6ed"></a>SH_SORT_BY_RECENT_HIGHEST_DESCENDING</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a437de339e4ac43809580b2932abfe716a0ee212727f6b36de6814f0a176f1b67c"></a>SH_SORT_BY_RECENT_LOWEST_ASCENDING</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a437de339e4ac43809580b2932abfe716afa526f814f8b4a9c78c1735bc0867f49"></a>SH_SORT_BY_RECENT_LOWEST_DESCENDING</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a437de339e4ac43809580b2932abfe716a1fc99ea563c53c47dcfad7d7b6f05bae"></a>SH_SORT_BY_LONG_TERM_HIGHEST_ASCENDING</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a437de339e4ac43809580b2932abfe716a2bb7ea0f5dc892674cf3c00e97a6892d"></a>SH_SORT_BY_LONG_TERM_HIGHEST_DESCENDING</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a437de339e4ac43809580b2932abfe716ae089d73e5c4a5ca1dc0ef0f6bc0fb20e"></a>SH_SORT_BY_LONG_TERM_LOWEST_ASCENDING</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a437de339e4ac43809580b2932abfe716a40ccc4e3c194eacded35fbf1f462e6bf"></a>SH_SORT_BY_LONG_TERM_LOWEST_DESCENDING</em>&nbsp;</td><td>
</td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="../../d3/dbf/_statistics_history_8h_source.xhtml#l00061">61</a> of file <a class="el" href="../../d3/dbf/_statistics_history_8h_source.xhtml">StatisticsHistory.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="ab0a1e7a14175abc62dc2ebae533e2803"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">SLNet::StatisticsHistory::StatisticsHistory </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a954c31a221af64b938be9ed9e35212a4"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual SLNet::StatisticsHistory::~StatisticsHistory </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="abaeaf7d3effca66f165dd251f79b78f4"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool SLNet::StatisticsHistory::AddObject </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../db/d72/struct_s_l_net_1_1_statistics_history_1_1_tracked_object_data.xhtml">TrackedObjectData</a>&#160;</td>
<td class="paramname"><em>tod</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="af0ad360ea42dbebf20eb48883a1f1fde"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void SLNet::StatisticsHistory::AddValueByIndex </td>
<td>(</td>
<td class="paramtype">unsigned int&#160;</td>
<td class="paramname"><em>index</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../d2/d66/class_s_l_net_1_1_rak_string.xhtml">RakString</a>&#160;</td>
<td class="paramname"><em>key</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#abadcff7b9a7a60aecb46b6bea5b142ca">SHValueType</a>&#160;</td>
<td class="paramname"><em>val</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#a7223b62c1b67121db1d975f2ab9b74c7">Time</a>&#160;</td>
<td class="paramname"><em>curTime</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>combineEqualTimes</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a9994d4934a554a1a066df493b64f14a1"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool SLNet::StatisticsHistory::AddValueByObjectID </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>objectId</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../d2/d66/class_s_l_net_1_1_rak_string.xhtml">RakString</a>&#160;</td>
<td class="paramname"><em>key</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#abadcff7b9a7a60aecb46b6bea5b142ca">SHValueType</a>&#160;</td>
<td class="paramname"><em>val</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#a7223b62c1b67121db1d975f2ab9b74c7">Time</a>&#160;</td>
<td class="paramname"><em>curTime</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>combineEqualTimes</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a998f8d320f8a0d86b6be540de4877761"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void SLNet::StatisticsHistory::Clear </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="aa56d96876ea20a06fc40d7cd9907417d"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#a7223b62c1b67121db1d975f2ab9b74c7">Time</a> SLNet::StatisticsHistory::GetDefaultTimeToTrack </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a73e894239b9d2096b836f5678cf9d7b1"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#aac9fa45e19af1e89020ab808d7e19484">SHErrorCode</a> SLNet::StatisticsHistory::GetHistoryForKey </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>objectId</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../d2/d66/class_s_l_net_1_1_rak_string.xhtml">RakString</a>&#160;</td>
<td class="paramname"><em>key</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../d6/d4f/struct_s_l_net_1_1_statistics_history_1_1_time_and_value_queue.xhtml">TimeAndValueQueue</a> **&#160;</td>
<td class="paramname"><em>values</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#a7223b62c1b67121db1d975f2ab9b74c7">Time</a>&#160;</td>
<td class="paramname"><em>curTime</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a315530670730a6bd1968eee889b49509"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool SLNet::StatisticsHistory::GetHistorySorted </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>objectId</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a437de339e4ac43809580b2932abfe716">SHSortOperation</a>&#160;</td>
<td class="paramname"><em>sortType</em>, </td>
</tr>
<tr>
<td class="paramkey"></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="../../d6/d4f/struct_s_l_net_1_1_statistics_history_1_1_time_and_value_queue.xhtml">TimeAndValueQueue</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>values</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ac3008a38cf3159b600d266364633eee4"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../db/d72/struct_s_l_net_1_1_statistics_history_1_1_tracked_object_data.xhtml">StatisticsHistory::TrackedObjectData</a>* SLNet::StatisticsHistory::GetObjectAtIndex </td>
<td>(</td>
<td class="paramtype">unsigned int&#160;</td>
<td class="paramname"><em>index</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a05d8c73c9678707ba859a44f70caccec"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">unsigned int SLNet::StatisticsHistory::GetObjectCount </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ac7714c4a1db3b555cde57fdfeb343be3"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">unsigned int SLNet::StatisticsHistory::GetObjectIndex </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>objectId</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a28a2121938ffb3c5c4d4787b47e687bb"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void SLNet::StatisticsHistory::GetUniqueKeyList </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="../../d2/d66/class_s_l_net_1_1_rak_string.xhtml">RakString</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>keys</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a03b714a79e7b1f536c01e876a617a299"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void SLNet::StatisticsHistory::MergeAllObjectsOnKey </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../d2/d66/class_s_l_net_1_1_rak_string.xhtml">RakString</a>&#160;</td>
<td class="paramname"><em>key</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../d6/d4f/struct_s_l_net_1_1_statistics_history_1_1_time_and_value_queue.xhtml">TimeAndValueQueue</a> *&#160;</td>
<td class="paramname"><em>tavqOutput</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a7b449e2d3b799cc176d241597072d2f1">SHDataCategory</a>&#160;</td>
<td class="paramname"><em>dataCategory</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a14fde12e86e857130a2624bb1a28bba0"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool SLNet::StatisticsHistory::RemoveObject </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>objectId</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void **&#160;</td>
<td class="paramname"><em>userData</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="af5b71387e5bd65b3f3082292765eef92"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void SLNet::StatisticsHistory::RemoveObjectAtIndex </td>
<td>(</td>
<td class="paramtype">unsigned int&#160;</td>
<td class="paramname"><em>index</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ab84e7aa56636345d897d040abfffe2e3"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void SLNet::StatisticsHistory::SetDefaultTimeToTrack </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#a7223b62c1b67121db1d975f2ab9b74c7">Time</a>&#160;</td>
<td class="paramname"><em>defaultTimeToTrack</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a1e00154f0e3858a8dd319e25b65dfbfb"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static int SLNet::StatisticsHistory::TrackedObjectComp </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="../../df/df2/_native_types_8h.xhtml#ad27ed092432b64ff558d2254c278720f">uint64_t</a> &amp;&#160;</td>
<td class="paramname"><em>key</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../d2/d8a/struct_s_l_net_1_1_statistics_history_1_1_tracked_object.xhtml">TrackedObject</a> *const &amp;&#160;</td>
<td class="paramname"><em>data</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>
<h2 class="groupheader">Member Data Documentation</h2>
<a class="anchor" id="a8bf367490059dde2bd637a7a9ea0c1d4"></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="../../da/dfc/class_data_structures_1_1_ordered_list.xhtml">DataStructures::OrderedList</a>&lt;<a class="el" href="../../df/df2/_native_types_8h.xhtml#ad27ed092432b64ff558d2254c278720f">uint64_t</a>, <a class="el" href="../../d2/d8a/struct_s_l_net_1_1_statistics_history_1_1_tracked_object.xhtml">TrackedObject</a>*,<a class="el" href="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml#a1e00154f0e3858a8dd319e25b65dfbfb">TrackedObjectComp</a>&gt; SLNet::StatisticsHistory::objects</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="../../d3/dbf/_statistics_history_8h_source.xhtml#l00201">201</a> of file <a class="el" href="../../d3/dbf/_statistics_history_8h_source.xhtml">StatisticsHistory.h</a>.</p>
</div>
</div>
<a class="anchor" id="ad1fd9a244cd1d810ff8ec8823ccbf0a6"></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="../../dd/d30/namespace_s_l_net.xhtml#a7223b62c1b67121db1d975f2ab9b74c7">Time</a> SLNet::StatisticsHistory::timeToTrack</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="../../d3/dbf/_statistics_history_8h_source.xhtml#l00203">203</a> of file <a class="el" href="../../d3/dbf/_statistics_history_8h_source.xhtml">StatisticsHistory.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="../../d3/dbf/_statistics_history_8h_source.xhtml">StatisticsHistory.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="../../d4/d5b/class_s_l_net_1_1_statistics_history.xhtml">StatisticsHistory</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,3 @@
<map id="SLNet::FileListTransfer" name="SLNet::FileListTransfer">
<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="21,5,203,332"/>
</map>

View File

@ -0,0 +1 @@
673c2623fa4e97a4f00b2bfffa503732

View File

@ -0,0 +1,151 @@
<?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::FileListTransfer Pages: 1 -->
<!--zoomable 589 -->
<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 = 168;
var viewHeight = 589;
var sectionId = 'dynsection-0';
</script>
<script xlink:href="../../svgpan.js"/>
<svg id="graph" class="graph">
<g id="viewport">
<title>SLNet::FileListTransfer</title>
<!-- Node1 -->
<g id="node1" class="node"><title>Node1</title>
<polygon fill="#bfbfbf" stroke="black" points="0,-0.5 0,-299.5 160,-299.5 160,-0.5 0,-0.5"/>
<text text-anchor="middle" x="80" y="-287.5" font-family="Helvetica,sans-Serif" font-size="10.00">SLNet::FileListTransfer</text>
<polyline fill="none" stroke="black" points="0,-280.5 160,-280.5 "/>
<text text-anchor="start" x="8" y="-268.5" font-family="Helvetica,sans-Serif" font-size="10.00"># fileListReceivers</text>
<text text-anchor="start" x="8" y="-257.5" font-family="Helvetica,sans-Serif" font-size="10.00"># setId</text>
<text text-anchor="start" x="8" y="-246.5" font-family="Helvetica,sans-Serif" font-size="10.00"># fileListProgressCallbacks</text>
<text text-anchor="start" x="8" y="-235.5" font-family="Helvetica,sans-Serif" font-size="10.00"># fileToPushRecipientList</text>
<text text-anchor="start" x="8" y="-224.5" font-family="Helvetica,sans-Serif" font-size="10.00"># fileToPushRecipientListMutex</text>
<text text-anchor="start" x="8" y="-213.5" font-family="Helvetica,sans-Serif" font-size="10.00"># threadPool</text>
<polyline fill="none" stroke="black" points="0,-206.5 160,-206.5 "/>
<text text-anchor="start" x="8" y="-194.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ FileListTransfer()</text>
<text text-anchor="start" x="8" y="-183.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~FileListTransfer()</text>
<text text-anchor="start" x="8" y="-172.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ StartIncrementalReadThreads()</text>
<text text-anchor="start" x="8" y="-161.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SetupReceive()</text>
<text text-anchor="start" x="8" y="-150.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Send()</text>
<text text-anchor="start" x="8" y="-139.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetPendingFilesToAddress()</text>
<text text-anchor="start" x="8" y="-128.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ CancelReceive()</text>
<text text-anchor="start" x="8" y="-117.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ RemoveReceiver()</text>
<text text-anchor="start" x="8" y="-106.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ IsHandlerActive()</text>
<text text-anchor="start" x="8" y="-95.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ AddCallback()</text>
<text text-anchor="start" x="8" y="-84.5" font-family="Helvetica,sans-Serif" font-size="10.00">and 7 more...</text>
<text text-anchor="start" x="8" y="-73.5" font-family="Helvetica,sans-Serif" font-size="10.00"># DecodeSetHeader()</text>
<text text-anchor="start" x="8" y="-62.5" font-family="Helvetica,sans-Serif" font-size="10.00"># DecodeFile()</text>
<text text-anchor="start" x="8" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00"># Clear()</text>
<text text-anchor="start" x="8" y="-40.5" font-family="Helvetica,sans-Serif" font-size="10.00"># OnReferencePush()</text>
<text text-anchor="start" x="8" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00"># OnReferencePushAck()</text>
<text text-anchor="start" x="8" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00"># SendIRIToAddress()</text>
<text text-anchor="start" x="8" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00"># RemoveFromList()</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="12,-336.5 12,-580.5 148,-580.5 148,-336.5 12,-336.5"/>
<text text-anchor="middle" x="80" y="-568.5" font-family="Helvetica,sans-Serif" font-size="10.00">SLNet::PluginInterface2</text>
<polyline fill="none" stroke="black" points="12,-561.5 148,-561.5 "/>
<text text-anchor="start" x="20" y="-549.5" font-family="Helvetica,sans-Serif" font-size="10.00"># rakPeerInterface</text>
<text text-anchor="start" x="20" y="-538.5" font-family="Helvetica,sans-Serif" font-size="10.00"># tcpInterface</text>
<polyline fill="none" stroke="black" points="12,-531.5 148,-531.5 "/>
<text text-anchor="start" x="20" y="-519.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ PluginInterface2()</text>
<text text-anchor="start" x="20" y="-508.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~PluginInterface2()</text>
<text text-anchor="start" x="20" y="-497.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ OnAttach()</text>
<text text-anchor="start" x="20" y="-486.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ OnDetach()</text>
<text text-anchor="start" x="20" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Update()</text>
<text text-anchor="start" x="20" y="-464.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ OnReceive()</text>
<text text-anchor="start" x="20" y="-453.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ OnRakPeerStartup()</text>
<text text-anchor="start" x="20" y="-442.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ OnRakPeerShutdown()</text>
<text text-anchor="start" x="20" y="-431.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ OnClosedConnection()</text>
<text text-anchor="start" x="20" y="-420.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ OnNewConnection()</text>
<text text-anchor="start" x="20" y="-409.5" font-family="Helvetica,sans-Serif" font-size="10.00">and 12 more...</text>
<text text-anchor="start" x="20" y="-398.5" font-family="Helvetica,sans-Serif" font-size="10.00"># SendUnified()</text>
<text text-anchor="start" x="20" y="-387.5" font-family="Helvetica,sans-Serif" font-size="10.00"># SendUnified()</text>
<text text-anchor="start" x="20" y="-376.5" font-family="Helvetica,sans-Serif" font-size="10.00"># SendListUnified()</text>
<text text-anchor="start" x="20" y="-365.5" font-family="Helvetica,sans-Serif" font-size="10.00"># AllocatePacketUnified()</text>
<text text-anchor="start" x="20" y="-354.5" font-family="Helvetica,sans-Serif" font-size="10.00"># PushBackPacketUnified()</text>
<text text-anchor="start" x="20" y="-343.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="M80,-326.139C80,-317.386 80,-308.535 80,-299.705"/>
<polygon fill="none" stroke="midnightblue" points="76.5001,-326.363 80,-336.363 83.5001,-326.363 76.5001,-326.363"/>
</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_file_list_transfer__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,77 @@
<?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::FileListTransfer Pages: 1 -->
<svg width="168pt" height="589pt"
viewBox="0.00 0.00 168.00 589.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 585)">
<title>SLNet::FileListTransfer</title>
<!-- Node1 -->
<g id="node1" class="node"><title>Node1</title>
<polygon fill="#bfbfbf" stroke="black" points="0,-0.5 0,-299.5 160,-299.5 160,-0.5 0,-0.5"/>
<text text-anchor="middle" x="80" y="-287.5" font-family="Helvetica,sans-Serif" font-size="10.00">SLNet::FileListTransfer</text>
<polyline fill="none" stroke="black" points="0,-280.5 160,-280.5 "/>
<text text-anchor="start" x="8" y="-268.5" font-family="Helvetica,sans-Serif" font-size="10.00"># fileListReceivers</text>
<text text-anchor="start" x="8" y="-257.5" font-family="Helvetica,sans-Serif" font-size="10.00"># setId</text>
<text text-anchor="start" x="8" y="-246.5" font-family="Helvetica,sans-Serif" font-size="10.00"># fileListProgressCallbacks</text>
<text text-anchor="start" x="8" y="-235.5" font-family="Helvetica,sans-Serif" font-size="10.00"># fileToPushRecipientList</text>
<text text-anchor="start" x="8" y="-224.5" font-family="Helvetica,sans-Serif" font-size="10.00"># fileToPushRecipientListMutex</text>
<text text-anchor="start" x="8" y="-213.5" font-family="Helvetica,sans-Serif" font-size="10.00"># threadPool</text>
<polyline fill="none" stroke="black" points="0,-206.5 160,-206.5 "/>
<text text-anchor="start" x="8" y="-194.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ FileListTransfer()</text>
<text text-anchor="start" x="8" y="-183.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~FileListTransfer()</text>
<text text-anchor="start" x="8" y="-172.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ StartIncrementalReadThreads()</text>
<text text-anchor="start" x="8" y="-161.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SetupReceive()</text>
<text text-anchor="start" x="8" y="-150.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Send()</text>
<text text-anchor="start" x="8" y="-139.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetPendingFilesToAddress()</text>
<text text-anchor="start" x="8" y="-128.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ CancelReceive()</text>
<text text-anchor="start" x="8" y="-117.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ RemoveReceiver()</text>
<text text-anchor="start" x="8" y="-106.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ IsHandlerActive()</text>
<text text-anchor="start" x="8" y="-95.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ AddCallback()</text>
<text text-anchor="start" x="8" y="-84.5" font-family="Helvetica,sans-Serif" font-size="10.00">and 7 more...</text>
<text text-anchor="start" x="8" y="-73.5" font-family="Helvetica,sans-Serif" font-size="10.00"># DecodeSetHeader()</text>
<text text-anchor="start" x="8" y="-62.5" font-family="Helvetica,sans-Serif" font-size="10.00"># DecodeFile()</text>
<text text-anchor="start" x="8" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00"># Clear()</text>
<text text-anchor="start" x="8" y="-40.5" font-family="Helvetica,sans-Serif" font-size="10.00"># OnReferencePush()</text>
<text text-anchor="start" x="8" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00"># OnReferencePushAck()</text>
<text text-anchor="start" x="8" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00"># SendIRIToAddress()</text>
<text text-anchor="start" x="8" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00"># RemoveFromList()</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="12,-336.5 12,-580.5 148,-580.5 148,-336.5 12,-336.5"/>
<text text-anchor="middle" x="80" y="-568.5" font-family="Helvetica,sans-Serif" font-size="10.00">SLNet::PluginInterface2</text>
<polyline fill="none" stroke="black" points="12,-561.5 148,-561.5 "/>
<text text-anchor="start" x="20" y="-549.5" font-family="Helvetica,sans-Serif" font-size="10.00"># rakPeerInterface</text>
<text text-anchor="start" x="20" y="-538.5" font-family="Helvetica,sans-Serif" font-size="10.00"># tcpInterface</text>
<polyline fill="none" stroke="black" points="12,-531.5 148,-531.5 "/>
<text text-anchor="start" x="20" y="-519.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ PluginInterface2()</text>
<text text-anchor="start" x="20" y="-508.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~PluginInterface2()</text>
<text text-anchor="start" x="20" y="-497.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ OnAttach()</text>
<text text-anchor="start" x="20" y="-486.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ OnDetach()</text>
<text text-anchor="start" x="20" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Update()</text>
<text text-anchor="start" x="20" y="-464.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ OnReceive()</text>
<text text-anchor="start" x="20" y="-453.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ OnRakPeerStartup()</text>
<text text-anchor="start" x="20" y="-442.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ OnRakPeerShutdown()</text>
<text text-anchor="start" x="20" y="-431.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ OnClosedConnection()</text>
<text text-anchor="start" x="20" y="-420.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ OnNewConnection()</text>
<text text-anchor="start" x="20" y="-409.5" font-family="Helvetica,sans-Serif" font-size="10.00">and 12 more...</text>
<text text-anchor="start" x="20" y="-398.5" font-family="Helvetica,sans-Serif" font-size="10.00"># SendUnified()</text>
<text text-anchor="start" x="20" y="-387.5" font-family="Helvetica,sans-Serif" font-size="10.00"># SendUnified()</text>
<text text-anchor="start" x="20" y="-376.5" font-family="Helvetica,sans-Serif" font-size="10.00"># SendListUnified()</text>
<text text-anchor="start" x="20" y="-365.5" font-family="Helvetica,sans-Serif" font-size="10.00"># AllocatePacketUnified()</text>
<text text-anchor="start" x="20" y="-354.5" font-family="Helvetica,sans-Serif" font-size="10.00"># PushBackPacketUnified()</text>
<text text-anchor="start" x="20" y="-343.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="M80,-326.139C80,-317.386 80,-308.535 80,-299.705"/>
<polygon fill="none" stroke="midnightblue" points="76.5001,-326.363 80,-336.363 83.5001,-326.363 76.5001,-326.363"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 7.4 KiB

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/VariableListDeltaTracker.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('d4/d61/_variable_list_delta_tracker_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">VariableListDeltaTracker.cpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &quot;<a class="el" href="../../d8/d00/_variable_list_delta_tracker_8h_source.xhtml">slikenet/VariableListDeltaTracker.h</a>&quot;</code><br/>
</div>
<p><a href="../../d4/d61/_variable_list_delta_tracker_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="../../d4/d61/_variable_list_delta_tracker_8cpp.xhtml">VariableListDeltaTracker.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,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/src/VariableListDeltaTracker.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('d4/d61/_variable_list_delta_tracker_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">VariableListDeltaTracker.cpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="../../d4/d61/_variable_list_delta_tracker_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="../../d8/d00/_variable_list_delta_tracker_8h.xhtml">slikenet/VariableListDeltaTracker.h</a>&quot;</span></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;<span class="keyword">using namespace </span>SLNet;</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"><a class="code" href="../../d9/d15/class_s_l_net_1_1_variable_list_delta_tracker.xhtml#aaefde87f8abe144f0fd0a5585e959923"> 20</a></span>&#160;<a class="code" href="../../d9/d15/class_s_l_net_1_1_variable_list_delta_tracker.xhtml#aaefde87f8abe144f0fd0a5585e959923">VariableListDeltaTracker::VariableListDeltaTracker</a>() {<a class="code" href="../../d9/d15/class_s_l_net_1_1_variable_list_delta_tracker.xhtml#adf4e9975127adc830f27bd3ee1cb2d07">nextWriteIndex</a>=0;}</div>
<div class="line"><a name="l00021"></a><span class="lineno"><a class="code" href="../../d9/d15/class_s_l_net_1_1_variable_list_delta_tracker.xhtml#a0704466f18f590fdb6bd90be5a62a695"> 21</a></span>&#160;<a class="code" href="../../d9/d15/class_s_l_net_1_1_variable_list_delta_tracker.xhtml#a0704466f18f590fdb6bd90be5a62a695">VariableListDeltaTracker::~VariableListDeltaTracker</a>()</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="keywordtype">unsigned</span> <span class="keywordtype">int</span> i;</div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160; <span class="keywordflow">for</span> (i=0; i &lt; <a class="code" href="../../d9/d15/class_s_l_net_1_1_variable_list_delta_tracker.xhtml#a3edfe444562103e57deb9e85faed21d4">variableList</a>.<a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml#a6f13a4519693cbd16cd13b1fe284f330">Size</a>(); i++)</div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160; <a class="code" href="../../d9/d4c/_rak_memory_override_8cpp.xhtml#ab91fbe0570bf501cd97a53c6cffcef8f">rakFree_Ex</a>(<a class="code" href="../../d9/d15/class_s_l_net_1_1_variable_list_delta_tracker.xhtml#a3edfe444562103e57deb9e85faed21d4">variableList</a>[i].lastData,<a class="code" href="../../d8/db0/defines_8h.xhtml#a8661ec2137eef33a8cd0cd618a748871">_FILE_AND_LINE_</a>);</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="comment">// Call before using a series of WriteVar</span></div>
<div class="line"><a name="l00029"></a><span class="lineno"><a class="code" href="../../d9/d15/class_s_l_net_1_1_variable_list_delta_tracker.xhtml#ae2fc5a264d0719fa27d51e5f365e39aa"> 29</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../d9/d15/class_s_l_net_1_1_variable_list_delta_tracker.xhtml#ae2fc5a264d0719fa27d51e5f365e39aa">VariableListDeltaTracker::StartWrite</a>(<span class="keywordtype">void</span>) {<a class="code" href="../../d9/d15/class_s_l_net_1_1_variable_list_delta_tracker.xhtml#adf4e9975127adc830f27bd3ee1cb2d07">nextWriteIndex</a>=0;}</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="../../d9/d15/class_s_l_net_1_1_variable_list_delta_tracker.xhtml#acbbad9fa1cb7e3aae24e4e559f3e1b2a"> 31</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../d9/d15/class_s_l_net_1_1_variable_list_delta_tracker.xhtml#acbbad9fa1cb7e3aae24e4e559f3e1b2a">VariableListDeltaTracker::FlagDirtyFromBitArray</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *bArray)</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="keywordtype">unsigned</span> <span class="keywordtype">short</span> readOffset=0;</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; <span class="keywordflow">for</span> (readOffset=0; readOffset &lt; <a class="code" href="../../d9/d15/class_s_l_net_1_1_variable_list_delta_tracker.xhtml#a3edfe444562103e57deb9e85faed21d4">variableList</a>.<a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml#a6f13a4519693cbd16cd13b1fe284f330">Size</a>(); readOffset++)</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; <span class="keywordtype">bool</span> result = ( bArray[ readOffset &gt;&gt; 3 ] &amp; ( 0x80 &gt;&gt; ( readOffset &amp; 7 ) ) ) !=0;</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="keywordflow">if</span> (result==<span class="keyword">true</span>)</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; <a class="code" href="../../d9/d15/class_s_l_net_1_1_variable_list_delta_tracker.xhtml#a3edfe444562103e57deb9e85faed21d4">variableList</a>[readOffset].isDirty=<span class="keyword">true</span>;</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"><a class="code" href="../../dc/dea/struct_s_l_net_1_1_variable_list_delta_tracker_1_1_variable_last_value_node.xhtml#a24efff925fafe3edfe95f240ad2f4ace"> 42</a></span>&#160;<a class="code" href="../../dc/dea/struct_s_l_net_1_1_variable_list_delta_tracker_1_1_variable_last_value_node.xhtml#a24efff925fafe3edfe95f240ad2f4ace">VariableListDeltaTracker::VariableLastValueNode::VariableLastValueNode</a>()</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; <a class="code" href="../../dc/dea/struct_s_l_net_1_1_variable_list_delta_tracker_1_1_variable_last_value_node.xhtml#ab71358a633ed93815f68344dd026b122">lastData</a>=0;</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="../../dc/dea/struct_s_l_net_1_1_variable_list_delta_tracker_1_1_variable_last_value_node.xhtml#a8f95b553f2879193205b6ae7ea560eb8"> 46</a></span>&#160;<a class="code" href="../../dc/dea/struct_s_l_net_1_1_variable_list_delta_tracker_1_1_variable_last_value_node.xhtml#a24efff925fafe3edfe95f240ad2f4ace">VariableListDeltaTracker::VariableLastValueNode::VariableLastValueNode</a>(<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *data, <span class="keywordtype">int</span> _byteLength)</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; lastData=(<span class="keywordtype">char</span>*) <a class="code" href="../../d9/d4c/_rak_memory_override_8cpp.xhtml#aebeb2e4754399ea3e2c7af3dd9bbe8c3">rakMalloc_Ex</a>(_byteLength,<a class="code" href="../../d8/db0/defines_8h.xhtml#a8661ec2137eef33a8cd0cd618a748871">_FILE_AND_LINE_</a>);</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; memcpy(lastData,data,_byteLength);</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; byteLength=_byteLength;</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; isDirty=<span class="keyword">false</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"><a class="code" href="../../dc/dea/struct_s_l_net_1_1_variable_list_delta_tracker_1_1_variable_last_value_node.xhtml#a3f5c842507ee91dde91238fc0828c066"> 53</a></span>&#160;<a class="code" href="../../dc/dea/struct_s_l_net_1_1_variable_list_delta_tracker_1_1_variable_last_value_node.xhtml#a3f5c842507ee91dde91238fc0828c066">VariableListDeltaTracker::VariableLastValueNode::~VariableLastValueNode</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><!-- 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="../../d4/d61/_variable_list_delta_tracker_8cpp.xhtml">VariableListDeltaTracker.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,23 @@
var class_data_structures_1_1_list =
[
[ "List", "d4/d78/class_data_structures_1_1_list.xhtml#aa063066442a5e28b3c40d0b1206ace35", null ],
[ "~List", "d4/d78/class_data_structures_1_1_list.xhtml#a42e396ab4ea4c92197b6a86e74a65f3f", null ],
[ "List", "d4/d78/class_data_structures_1_1_list.xhtml#abafec4707d1b0b452539afb5acabe1da", null ],
[ "Clear", "d4/d78/class_data_structures_1_1_list.xhtml#a34219a5ce92981102d06fb1da7842a6b", null ],
[ "Compress", "d4/d78/class_data_structures_1_1_list.xhtml#a1dd30a84afeb655784dae4351777dce5", null ],
[ "Get", "d4/d78/class_data_structures_1_1_list.xhtml#a46ce8d0ed396b4de4cc3d4af3e6965db", null ],
[ "GetIndexOf", "d4/d78/class_data_structures_1_1_list.xhtml#aae4e608a6f4cc3560ee3b3b20eda67fe", null ],
[ "Insert", "d4/d78/class_data_structures_1_1_list.xhtml#a5cb7d8b68d8d020a34f2186ea8d5b1c6", null ],
[ "Insert", "d4/d78/class_data_structures_1_1_list.xhtml#adfe61ff53151ab61ecba6f8506a4662f", null ],
[ "operator=", "d4/d78/class_data_structures_1_1_list.xhtml#a7faf28804c9d17c301ee072c7dce005b", null ],
[ "operator[]", "d4/d78/class_data_structures_1_1_list.xhtml#a028d64be4f2c6945be0f31a48b80823a", null ],
[ "Pop", "d4/d78/class_data_structures_1_1_list.xhtml#a9be46e78d21543bf28bd473807160024", null ],
[ "Preallocate", "d4/d78/class_data_structures_1_1_list.xhtml#a3ccff322ccbf8eca0214d2c39693abc0", null ],
[ "Push", "d4/d78/class_data_structures_1_1_list.xhtml#a771fc63e3b0d892fbb605a379a78bacb", null ],
[ "RemoveAtIndex", "d4/d78/class_data_structures_1_1_list.xhtml#a79621376e92b605c4dbdb77aafbb6b60", null ],
[ "RemoveAtIndexFast", "d4/d78/class_data_structures_1_1_list.xhtml#a351a647150169c71cc3f758dbb312096", null ],
[ "RemoveFromEnd", "d4/d78/class_data_structures_1_1_list.xhtml#aeed32cd1075569515bb825f874dca24e", null ],
[ "Replace", "d4/d78/class_data_structures_1_1_list.xhtml#a953b497c5f51b0b4f98089c08ad15696", null ],
[ "Replace", "d4/d78/class_data_structures_1_1_list.xhtml#a3eb0624d2bd176d1cc85f2ff45264eb9", null ],
[ "Size", "d4/d78/class_data_structures_1_1_list.xhtml#a6f13a4519693cbd16cd13b1fe284f330", null ]
];

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,3 @@
<map id="SLNet::RakPeerInterface" name="SLNet::RakPeerInterface">
<area shape="rect" id="node2" href="$d5/dbf/class_s_l_net_1_1_rak_peer.xhtml" title="Main interface for network communications." alt="" coords="5,292,251,839"/>
</map>

View File

@ -0,0 +1 @@
2c28909b035fbcdd38a71eda1bbe6cd6

View File

@ -0,0 +1,155 @@
<?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::RakPeerInterface Pages: 1 -->
<!--zoomable 633 -->
<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 = 192;
var viewHeight = 633;
var sectionId = 'dynsection-0';
</script>
<script xlink:href="../../svgpan.js"/>
<svg id="graph" class="graph">
<g id="viewport">
<title>SLNet::RakPeerInterface</title>
<!-- Node1 -->
<g id="node1" class="node"><title>Node1</title>
<polygon fill="#bfbfbf" stroke="black" points="0,-446.5 0,-624.5 184,-624.5 184,-446.5 0,-446.5"/>
<text text-anchor="middle" x="92" y="-612.5" font-family="Helvetica,sans-Serif" font-size="10.00">SLNet::RakPeerInterface</text>
<polyline fill="none" stroke="black" points="0,-605.5 184,-605.5 "/>
<text text-anchor="middle" x="92" y="-593.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
<polyline fill="none" stroke="black" points="0,-586.5 184,-586.5 "/>
<text text-anchor="start" x="8" y="-574.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~RakPeerInterface()</text>
<text text-anchor="start" x="8" y="-563.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Startup()</text>
<text text-anchor="start" x="8" y="-552.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitializeSecurity()</text>
<text text-anchor="start" x="8" y="-541.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ DisableSecurity()</text>
<text text-anchor="start" x="8" y="-530.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ AddToSecurityExceptionList()</text>
<text text-anchor="start" x="8" y="-519.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ RemoveFromSecurityExceptionList()</text>
<text text-anchor="start" x="8" y="-508.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ IsInSecurityExceptionList()</text>
<text text-anchor="start" x="8" y="-497.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SetMaximumIncomingConnections()</text>
<text text-anchor="start" x="8" y="-486.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetMaximumIncomingConnections()</text>
<text text-anchor="start" x="8" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ NumberOfConnections()</text>
<text text-anchor="start" x="8" y="-464.5" font-family="Helvetica,sans-Serif" font-size="10.00">and 77 more...</text>
<text text-anchor="start" x="8" y="-453.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Get64BitUniqueRandomNumber()</text>
</g>
<!-- Node2 -->
<g id="node2" class="node"><title>Node2</title>
<g id="a_node2"><a xlink:href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml" target="_top" xlink:title="Main interface for network communications.">
<polygon fill="none" stroke="black" points="0,-0.5 0,-409.5 184,-409.5 184,-0.5 0,-0.5"/>
<text text-anchor="middle" x="92" y="-397.5" font-family="Helvetica,sans-Serif" font-size="10.00">SLNet::RakPeer</text>
<polyline fill="none" stroke="black" points="0,-390.5 184,-390.5 "/>
<text text-anchor="start" x="8" y="-378.5" font-family="Helvetica,sans-Serif" font-size="10.00"># endThreads</text>
<text text-anchor="start" x="8" y="-367.5" font-family="Helvetica,sans-Serif" font-size="10.00"># isMainLoopThreadActive</text>
<text text-anchor="start" x="8" y="-356.5" font-family="Helvetica,sans-Serif" font-size="10.00"># occasionalPing</text>
<text text-anchor="start" x="8" y="-345.5" font-family="Helvetica,sans-Serif" font-size="10.00"># maximumNumberOfPeers</text>
<text text-anchor="start" x="8" y="-334.5" font-family="Helvetica,sans-Serif" font-size="10.00"># maximumIncomingConnections</text>
<text text-anchor="start" x="8" y="-323.5" font-family="Helvetica,sans-Serif" font-size="10.00"># offlinePingResponse</text>
<text text-anchor="start" x="8" y="-312.5" font-family="Helvetica,sans-Serif" font-size="10.00"># incomingPassword</text>
<text text-anchor="start" x="8" y="-301.5" font-family="Helvetica,sans-Serif" font-size="10.00"># incomingPasswordLength</text>
<text text-anchor="start" x="8" y="-290.5" font-family="Helvetica,sans-Serif" font-size="10.00"># remoteSystemList</text>
<text text-anchor="start" x="8" y="-279.5" font-family="Helvetica,sans-Serif" font-size="10.00"># activeSystemList</text>
<text text-anchor="start" x="8" y="-268.5" font-family="Helvetica,sans-Serif" font-size="10.00">and 49 more...</text>
<polyline fill="none" stroke="black" points="0,-261.5 184,-261.5 "/>
<text text-anchor="start" x="8" y="-249.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ RakPeer()</text>
<text text-anchor="start" x="8" y="-238.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~RakPeer()</text>
<text text-anchor="start" x="8" y="-227.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Startup()</text>
<text text-anchor="start" x="8" y="-216.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitializeSecurity()</text>
<text text-anchor="start" x="8" y="-205.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ DisableSecurity()</text>
<text text-anchor="start" x="8" y="-194.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ AddToSecurityExceptionList()</text>
<text text-anchor="start" x="8" y="-183.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ RemoveFromSecurityExceptionList()</text>
<text text-anchor="start" x="8" y="-172.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ IsInSecurityExceptionList()</text>
<text text-anchor="start" x="8" y="-161.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SetMaximumIncomingConnections()</text>
<text text-anchor="start" x="8" y="-150.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetMaximumIncomingConnections()</text>
<text text-anchor="start" x="8" y="-139.5" font-family="Helvetica,sans-Serif" font-size="10.00">and 78 more...</text>
<text text-anchor="start" x="8" y="-128.5" font-family="Helvetica,sans-Serif" font-size="10.00"># RAK_THREAD_DECLARATION()</text>
<text text-anchor="start" x="8" y="-117.5" font-family="Helvetica,sans-Serif" font-size="10.00"># RAK_THREAD_DECLARATION()</text>
<text text-anchor="start" x="8" y="-106.5" font-family="Helvetica,sans-Serif" font-size="10.00"># GetIndexFromSystemAddress()</text>
<text text-anchor="start" x="8" y="-95.5" font-family="Helvetica,sans-Serif" font-size="10.00"># GetIndexFromGuid()</text>
<text text-anchor="start" x="8" y="-84.5" font-family="Helvetica,sans-Serif" font-size="10.00"># SendConnectionRequest()</text>
<text text-anchor="start" x="8" y="-73.5" font-family="Helvetica,sans-Serif" font-size="10.00"># SendConnectionRequest()</text>
<text text-anchor="start" x="8" y="-62.5" font-family="Helvetica,sans-Serif" font-size="10.00"># GetRemoteSystemFromSystem</text>
<text text-anchor="start" x="8" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">Address()</text>
<text text-anchor="start" x="8" y="-40.5" font-family="Helvetica,sans-Serif" font-size="10.00"># GetRemoteSystem()</text>
<text text-anchor="start" x="8" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00"># ValidateRemoteSystemLookup()</text>
<text text-anchor="start" x="8" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00"># GetRemoteSystemFromGUID()</text>
<text text-anchor="start" x="8" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">and 46 more...</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="M92,-436.456C92,-427.807 92,-418.863 92,-409.746"/>
<polygon fill="none" stroke="midnightblue" points="88.5001,-436.468 92,-446.468 95.5001,-436.468 88.5001,-436.468"/>
</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_rak_peer_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: 12 KiB

View File

@ -0,0 +1,81 @@
<?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::RakPeerInterface Pages: 1 -->
<svg width="192pt" height="633pt"
viewBox="0.00 0.00 192.00 633.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 629)">
<title>SLNet::RakPeerInterface</title>
<!-- Node1 -->
<g id="node1" class="node"><title>Node1</title>
<polygon fill="#bfbfbf" stroke="black" points="0,-446.5 0,-624.5 184,-624.5 184,-446.5 0,-446.5"/>
<text text-anchor="middle" x="92" y="-612.5" font-family="Helvetica,sans-Serif" font-size="10.00">SLNet::RakPeerInterface</text>
<polyline fill="none" stroke="black" points="0,-605.5 184,-605.5 "/>
<text text-anchor="middle" x="92" y="-593.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
<polyline fill="none" stroke="black" points="0,-586.5 184,-586.5 "/>
<text text-anchor="start" x="8" y="-574.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~RakPeerInterface()</text>
<text text-anchor="start" x="8" y="-563.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Startup()</text>
<text text-anchor="start" x="8" y="-552.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitializeSecurity()</text>
<text text-anchor="start" x="8" y="-541.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ DisableSecurity()</text>
<text text-anchor="start" x="8" y="-530.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ AddToSecurityExceptionList()</text>
<text text-anchor="start" x="8" y="-519.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ RemoveFromSecurityExceptionList()</text>
<text text-anchor="start" x="8" y="-508.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ IsInSecurityExceptionList()</text>
<text text-anchor="start" x="8" y="-497.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SetMaximumIncomingConnections()</text>
<text text-anchor="start" x="8" y="-486.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetMaximumIncomingConnections()</text>
<text text-anchor="start" x="8" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ NumberOfConnections()</text>
<text text-anchor="start" x="8" y="-464.5" font-family="Helvetica,sans-Serif" font-size="10.00">and 77 more...</text>
<text text-anchor="start" x="8" y="-453.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Get64BitUniqueRandomNumber()</text>
</g>
<!-- Node2 -->
<g id="node2" class="node"><title>Node2</title>
<g id="a_node2"><a xlink:href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml" target="_top" xlink:title="Main interface for network communications.">
<polygon fill="none" stroke="black" points="0,-0.5 0,-409.5 184,-409.5 184,-0.5 0,-0.5"/>
<text text-anchor="middle" x="92" y="-397.5" font-family="Helvetica,sans-Serif" font-size="10.00">SLNet::RakPeer</text>
<polyline fill="none" stroke="black" points="0,-390.5 184,-390.5 "/>
<text text-anchor="start" x="8" y="-378.5" font-family="Helvetica,sans-Serif" font-size="10.00"># endThreads</text>
<text text-anchor="start" x="8" y="-367.5" font-family="Helvetica,sans-Serif" font-size="10.00"># isMainLoopThreadActive</text>
<text text-anchor="start" x="8" y="-356.5" font-family="Helvetica,sans-Serif" font-size="10.00"># occasionalPing</text>
<text text-anchor="start" x="8" y="-345.5" font-family="Helvetica,sans-Serif" font-size="10.00"># maximumNumberOfPeers</text>
<text text-anchor="start" x="8" y="-334.5" font-family="Helvetica,sans-Serif" font-size="10.00"># maximumIncomingConnections</text>
<text text-anchor="start" x="8" y="-323.5" font-family="Helvetica,sans-Serif" font-size="10.00"># offlinePingResponse</text>
<text text-anchor="start" x="8" y="-312.5" font-family="Helvetica,sans-Serif" font-size="10.00"># incomingPassword</text>
<text text-anchor="start" x="8" y="-301.5" font-family="Helvetica,sans-Serif" font-size="10.00"># incomingPasswordLength</text>
<text text-anchor="start" x="8" y="-290.5" font-family="Helvetica,sans-Serif" font-size="10.00"># remoteSystemList</text>
<text text-anchor="start" x="8" y="-279.5" font-family="Helvetica,sans-Serif" font-size="10.00"># activeSystemList</text>
<text text-anchor="start" x="8" y="-268.5" font-family="Helvetica,sans-Serif" font-size="10.00">and 49 more...</text>
<polyline fill="none" stroke="black" points="0,-261.5 184,-261.5 "/>
<text text-anchor="start" x="8" y="-249.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ RakPeer()</text>
<text text-anchor="start" x="8" y="-238.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~RakPeer()</text>
<text text-anchor="start" x="8" y="-227.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Startup()</text>
<text text-anchor="start" x="8" y="-216.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitializeSecurity()</text>
<text text-anchor="start" x="8" y="-205.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ DisableSecurity()</text>
<text text-anchor="start" x="8" y="-194.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ AddToSecurityExceptionList()</text>
<text text-anchor="start" x="8" y="-183.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ RemoveFromSecurityExceptionList()</text>
<text text-anchor="start" x="8" y="-172.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ IsInSecurityExceptionList()</text>
<text text-anchor="start" x="8" y="-161.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SetMaximumIncomingConnections()</text>
<text text-anchor="start" x="8" y="-150.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetMaximumIncomingConnections()</text>
<text text-anchor="start" x="8" y="-139.5" font-family="Helvetica,sans-Serif" font-size="10.00">and 78 more...</text>
<text text-anchor="start" x="8" y="-128.5" font-family="Helvetica,sans-Serif" font-size="10.00"># RAK_THREAD_DECLARATION()</text>
<text text-anchor="start" x="8" y="-117.5" font-family="Helvetica,sans-Serif" font-size="10.00"># RAK_THREAD_DECLARATION()</text>
<text text-anchor="start" x="8" y="-106.5" font-family="Helvetica,sans-Serif" font-size="10.00"># GetIndexFromSystemAddress()</text>
<text text-anchor="start" x="8" y="-95.5" font-family="Helvetica,sans-Serif" font-size="10.00"># GetIndexFromGuid()</text>
<text text-anchor="start" x="8" y="-84.5" font-family="Helvetica,sans-Serif" font-size="10.00"># SendConnectionRequest()</text>
<text text-anchor="start" x="8" y="-73.5" font-family="Helvetica,sans-Serif" font-size="10.00"># SendConnectionRequest()</text>
<text text-anchor="start" x="8" y="-62.5" font-family="Helvetica,sans-Serif" font-size="10.00"># GetRemoteSystemFromSystem</text>
<text text-anchor="start" x="8" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">Address()</text>
<text text-anchor="start" x="8" y="-40.5" font-family="Helvetica,sans-Serif" font-size="10.00"># GetRemoteSystem()</text>
<text text-anchor="start" x="8" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00"># ValidateRemoteSystemLookup()</text>
<text text-anchor="start" x="8" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00"># GetRemoteSystemFromGUID()</text>
<text text-anchor="start" x="8" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">and 46 more...</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="M92,-436.456C92,-427.807 92,-418.863 92,-409.746"/>
<polygon fill="none" stroke="midnightblue" points="88.5001,-436.468 92,-446.468 95.5001,-436.468 88.5001,-436.468"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 7.6 KiB

View File

@ -0,0 +1,187 @@
<!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/d05/class_s_l_net_1_1_packetized_t_c_p.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::PacketizedTCP Member List</div> </div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="../../d6/d05/class_s_l_net_1_1_packetized_t_c_p.xhtml">SLNet::PacketizedTCP</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="../../d6/d05/class_s_l_net_1_1_packetized_t_c_p.xhtml#aed53e6a168e97069e34d1b777d97ee2b">_completedConnectionAttempts</a></td><td class="entry"><a class="el" href="../../d6/d05/class_s_l_net_1_1_packetized_t_c_p.xhtml">SLNet::PacketizedTCP</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d6/d05/class_s_l_net_1_1_packetized_t_c_p.xhtml#a54b1f5b77a9a2a586cda9a0b97c7ae2a">_failedConnectionAttempts</a></td><td class="entry"><a class="el" href="../../d6/d05/class_s_l_net_1_1_packetized_t_c_p.xhtml">SLNet::PacketizedTCP</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d6/d05/class_s_l_net_1_1_packetized_t_c_p.xhtml#a47f9e955cae94554377644973ee1b58c">_lostConnections</a></td><td class="entry"><a class="el" href="../../d6/d05/class_s_l_net_1_1_packetized_t_c_p.xhtml">SLNet::PacketizedTCP</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d6/d05/class_s_l_net_1_1_packetized_t_c_p.xhtml#a8c5100e8cf1d08acb9c5ad44d3ed7d48">_newIncomingConnections</a></td><td class="entry"><a class="el" href="../../d6/d05/class_s_l_net_1_1_packetized_t_c_p.xhtml">SLNet::PacketizedTCP</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d6/d05/class_s_l_net_1_1_packetized_t_c_p.xhtml#a3a6b864f72a9ba6447d7a292089b147a">AddToConnectionList</a>(const SystemAddress &amp;sa)</td><td class="entry"><a class="el" href="../../d6/d05/class_s_l_net_1_1_packetized_t_c_p.xhtml">SLNet::PacketizedTCP</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml#a84ab36f6d36c31690c80bb5e51f2d016">AllocatePacket</a>(unsigned dataSize)</td><td class="entry"><a class="el" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml">SLNet::TCPInterface</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml#ad96d1589ffa7c60837c8928479e7f76a">AttachPlugin</a>(PluginInterface2 *plugin)</td><td class="entry"><a class="el" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml">SLNet::TCPInterface</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml#acc946d279a85bbbc5758ab1dab032fff">blockingSocketList</a></td><td class="entry"><a class="el" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml">SLNet::TCPInterface</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml#a414fd63eec213a7d002e4db20dee4040">blockingSocketListMutex</a></td><td class="entry"><a class="el" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml">SLNet::TCPInterface</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d6/d05/class_s_l_net_1_1_packetized_t_c_p.xhtml#a7e8a03b38394522903c96b50ba9f9dff">ClearAllConnections</a>(void)</td><td class="entry"><a class="el" href="../../d6/d05/class_s_l_net_1_1_packetized_t_c_p.xhtml">SLNet::PacketizedTCP</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d6/d05/class_s_l_net_1_1_packetized_t_c_p.xhtml#a3e0db659159d423e35ac1e6e519c16a1">CloseConnection</a>(SystemAddress systemAddress)</td><td class="entry"><a class="el" href="../../d6/d05/class_s_l_net_1_1_packetized_t_c_p.xhtml">SLNet::PacketizedTCP</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml#ab9e3b277e57a536050cab4b10cba56f9">completedConnectionAttemptMutex</a></td><td class="entry"><a class="el" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml">SLNet::TCPInterface</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml#a14b9d2c1ddc5061ddb889bd6f9913882">completedConnectionAttempts</a></td><td class="entry"><a class="el" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml">SLNet::TCPInterface</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml#aef31dfbd383b7864e0e9deb074291cb7">Connect</a>(const char *host, unsigned short remotePort, bool block=true, unsigned short socketFamily=AF_INET, const char *bindAddress=0)</td><td class="entry"><a class="el" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml">SLNet::TCPInterface</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d6/d05/class_s_l_net_1_1_packetized_t_c_p.xhtml#ae703976a762de38353ff1e2530b85b1d">connections</a></td><td class="entry"><a class="el" href="../../d6/d05/class_s_l_net_1_1_packetized_t_c_p.xhtml">SLNet::PacketizedTCP</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml#a7db6ce7942a3fe51c1500233e6d7c0c6">CreateListenSocket</a>(unsigned short port, unsigned short maxIncomingConnections, unsigned short socketFamily, const char *hostAddress)</td><td class="entry"><a class="el" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml">SLNet::TCPInterface</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml#a7800dc1ce89b0127884503b6168ceb27">DeallocatePacket</a>(Packet *packet)</td><td class="entry"><a class="el" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml">SLNet::TCPInterface</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml#a28bdf3a84139b63a3e17c9c655fff8d1">DetachPlugin</a>(PluginInterface2 *plugin)</td><td class="entry"><a class="el" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml">SLNet::TCPInterface</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml#a6dcbdc9e795fd65cd853a3a3ab834f37">failedConnectionAttemptMutex</a></td><td class="entry"><a class="el" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml">SLNet::TCPInterface</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml#a210c68082c85abc011bc2e36e9b8612f">failedConnectionAttempts</a></td><td class="entry"><a class="el" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml">SLNet::TCPInterface</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml#a56b0b5df8bcb2d052e351694b3944309">GetConnectionCount</a>(void) const </td><td class="entry"><a class="el" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml">SLNet::TCPInterface</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml#a5a58f4f3f1ef2d67bb34ee5e5d94e28c">GetConnectionList</a>(SystemAddress *remoteSystems, unsigned short *numberOfSystems) const </td><td class="entry"><a class="el" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml">SLNet::TCPInterface</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml#a962cf7dae3f47c5b61e8e49a621d55eb">GetOutgoingDataBufferSize</a>(SystemAddress systemAddress) const </td><td class="entry"><a class="el" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml">SLNet::TCPInterface</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d6/d05/class_s_l_net_1_1_packetized_t_c_p.xhtml#add11822eb7fd9add9cce96b4da037551">HasCompletedConnectionAttempt</a>(void)</td><td class="entry"><a class="el" href="../../d6/d05/class_s_l_net_1_1_packetized_t_c_p.xhtml">SLNet::PacketizedTCP</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d6/d05/class_s_l_net_1_1_packetized_t_c_p.xhtml#a24b79eef8b19127811081a06f563b201">HasFailedConnectionAttempt</a>(void)</td><td class="entry"><a class="el" href="../../d6/d05/class_s_l_net_1_1_packetized_t_c_p.xhtml">SLNet::PacketizedTCP</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d6/d05/class_s_l_net_1_1_packetized_t_c_p.xhtml#a05acdd6d69e568e2dc56b1ca947ad661">HasLostConnection</a>(void)</td><td class="entry"><a class="el" href="../../d6/d05/class_s_l_net_1_1_packetized_t_c_p.xhtml">SLNet::PacketizedTCP</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d6/d05/class_s_l_net_1_1_packetized_t_c_p.xhtml#a77e22ce6702c24d0f2f21bcbeff64376">HasNewIncomingConnection</a>(void)</td><td class="entry"><a class="el" href="../../d6/d05/class_s_l_net_1_1_packetized_t_c_p.xhtml">SLNet::PacketizedTCP</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml#ad0ae4d715023680163494d240df06cdf">headPush</a></td><td class="entry"><a class="el" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml">SLNet::TCPInterface</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml#a7da4384d5f38a5094cbcf094b6cdd04c">incomingMessages</a></td><td class="entry"><a class="el" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml">SLNet::TCPInterface</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml#a61577774b1da1580e0682483b1137325">isStarted</a></td><td class="entry"><a class="el" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml">SLNet::TCPInterface</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml#a0f2a1f100c5a75f7ab72dfa5419b6798">listenSocket</a></td><td class="entry"><a class="el" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml">SLNet::TCPInterface</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml#a8ef9bd2ee156ee38ab58e3813323dee6">lostConnections</a></td><td class="entry"><a class="el" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml">SLNet::TCPInterface</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml#a22c75a502613e56f09bfa234e91b78e5">messageHandlerList</a></td><td class="entry"><a class="el" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml">SLNet::TCPInterface</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml#a4980f4880bfa383c972d8577bdca365b">newIncomingConnections</a></td><td class="entry"><a class="el" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml">SLNet::TCPInterface</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml#aee892f798c20da8efc6c8f2355297004">newRemoteClients</a></td><td class="entry"><a class="el" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml">SLNet::TCPInterface</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d6/d05/class_s_l_net_1_1_packetized_t_c_p.xhtml#a507976a59210042b078d1e6d981d5988">PacketizedTCP</a>()</td><td class="entry"><a class="el" href="../../d6/d05/class_s_l_net_1_1_packetized_t_c_p.xhtml">SLNet::PacketizedTCP</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml#ade3faa8d7328f22b493d94b54678d9ef">PushBackPacket</a>(Packet *packet, bool pushAtHead)</td><td class="entry"><a class="el" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml">SLNet::TCPInterface</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d6/d05/class_s_l_net_1_1_packetized_t_c_p.xhtml#a448f16c8da3861951c9a8ea4a4f9710a">PushNotificationsToQueues</a>(void)</td><td class="entry"><a class="el" href="../../d6/d05/class_s_l_net_1_1_packetized_t_c_p.xhtml">SLNet::PacketizedTCP</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml#a73b1b282e78fa708acdbe1835470180e">RAK_THREAD_DECLARATION</a>(UpdateTCPInterfaceLoop)</td><td class="entry"><a class="el" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml">SLNet::TCPInterface</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml#ae28f53d633d734ad112621e53f458cb9">RAK_THREAD_DECLARATION</a>(ConnectionAttemptLoop)</td><td class="entry"><a class="el" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml">SLNet::TCPInterface</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d6/d05/class_s_l_net_1_1_packetized_t_c_p.xhtml#afa93398c49e197bfd5ff28da5f01255f">Receive</a>(void)</td><td class="entry"><a class="el" href="../../d6/d05/class_s_l_net_1_1_packetized_t_c_p.xhtml">SLNet::PacketizedTCP</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml#a4aa106ad458b729b163b77291583c738">ReceiveHasPackets</a>(void)</td><td class="entry"><a class="el" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml">SLNet::TCPInterface</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml#a4a5a3d26cc99076cc90503926f7d1109">ReceiveInt</a>(void)</td><td class="entry"><a class="el" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml">SLNet::TCPInterface</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml#a74654381a25971e8b927509c6a6aea3e">remoteClients</a></td><td class="entry"><a class="el" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml">SLNet::TCPInterface</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml#a6879cc20c4eb191b3a67ea6ccab92ae3">remoteClientsLength</a></td><td class="entry"><a class="el" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml">SLNet::TCPInterface</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d6/d05/class_s_l_net_1_1_packetized_t_c_p.xhtml#a81b5523bff04a41224e17df3f08aace1">RemoveFromConnectionList</a>(const SystemAddress &amp;sa)</td><td class="entry"><a class="el" href="../../d6/d05/class_s_l_net_1_1_packetized_t_c_p.xhtml">SLNet::PacketizedTCP</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml#a7c0331ed4bff87b28af932d203bf54e5">requestedCloseConnections</a></td><td class="entry"><a class="el" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml">SLNet::TCPInterface</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d6/d05/class_s_l_net_1_1_packetized_t_c_p.xhtml#a95a065fbee5d0979547776bc65e69967">ReturnOutgoingPacket</a>(void)</td><td class="entry"><a class="el" href="../../d6/d05/class_s_l_net_1_1_packetized_t_c_p.xhtml">SLNet::PacketizedTCP</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d6/d05/class_s_l_net_1_1_packetized_t_c_p.xhtml#a2e0359f51b82619ffce5c7b60ad11c8f">Send</a>(const char *data, unsigned length, const SystemAddress &amp;systemAddress, bool broadcast)</td><td class="entry"><a class="el" href="../../d6/d05/class_s_l_net_1_1_packetized_t_c_p.xhtml">SLNet::PacketizedTCP</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml#a6a2bf12f77233eec447a6496730286e7">SLNet::TCPInterface::Send</a>(const char *data, unsigned int length, const SystemAddress &amp;systemAddress, bool broadcast)</td><td class="entry"><a class="el" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml">SLNet::TCPInterface</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d6/d05/class_s_l_net_1_1_packetized_t_c_p.xhtml#a845cf1394e5f38b6ca122c5c53b413b9">SendList</a>(const char **data, const unsigned int *lengths, const int numParameters, const SystemAddress &amp;systemAddress, bool broadcast)</td><td class="entry"><a class="el" href="../../d6/d05/class_s_l_net_1_1_packetized_t_c_p.xhtml">SLNet::PacketizedTCP</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml#af086f0bd1c32fd60d3bcb05a5e8ebdc7">SocketConnect</a>(const char *host, unsigned short remotePort, unsigned short socketFamily, const char *bindAddress)</td><td class="entry"><a class="el" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml">SLNet::TCPInterface</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml#aacace1fc8ab33669952e9dc97596c8a3">Start</a>(unsigned short port, unsigned short maxIncomingConnections, unsigned short maxConnections=0, int _threadPriority=-99999, unsigned short socketFamily=AF_INET, const char *bindAddress=0)</td><td class="entry"><a class="el" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml">SLNet::TCPInterface</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d6/d05/class_s_l_net_1_1_packetized_t_c_p.xhtml#a24dc509b4245936f3cd11eac686824f3">Stop</a>(void)</td><td class="entry"><a class="el" href="../../d6/d05/class_s_l_net_1_1_packetized_t_c_p.xhtml">SLNet::PacketizedTCP</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml#ac81dcb8c8588310ea3d3be716c3e193d">tailPush</a></td><td class="entry"><a class="el" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml">SLNet::TCPInterface</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml#a3dca35917603c4961029b1cdefec0c88">TCPInterface</a>()</td><td class="entry"><a class="el" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml">SLNet::TCPInterface</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml#af9463b38b9361e80f39f565191d44901">threadPriority</a></td><td class="entry"><a class="el" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml">SLNet::TCPInterface</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml#aabb95043e7f8e83a2215a22209f1af18">threadRunning</a></td><td class="entry"><a class="el" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml">SLNet::TCPInterface</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d6/d05/class_s_l_net_1_1_packetized_t_c_p.xhtml#a9cbed8e96309966ec16f141ce4b1bf26">waitingPackets</a></td><td class="entry"><a class="el" href="../../d6/d05/class_s_l_net_1_1_packetized_t_c_p.xhtml">SLNet::PacketizedTCP</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml#a9ec2d879bb47462699456ebb9749aad5">WasStarted</a>(void) const </td><td class="entry"><a class="el" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml">SLNet::TCPInterface</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d6/d05/class_s_l_net_1_1_packetized_t_c_p.xhtml#a4a795d38df243d5c9e30e1cabe673132">~PacketizedTCP</a>()</td><td class="entry"><a class="el" href="../../d6/d05/class_s_l_net_1_1_packetized_t_c_p.xhtml">SLNet::PacketizedTCP</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml#a6d320d7f8b25a9106c1723e41705badc">~TCPInterface</a>()</td><td class="entry"><a class="el" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml">SLNet::TCPInterface</a></td><td class="entry"><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,30 @@
var class_s_l_net_1_1_replica3_composite =
[
[ "DeallocReplica", "d4/d8f/class_s_l_net_1_1_replica3_composite.xhtml#afe19935fcfea23a3d3527e24ff45cca9", null ],
[ "Deserialize", "d4/d8f/class_s_l_net_1_1_replica3_composite.xhtml#a05c471b6c6d744bb487bd836b48cf228", null ],
[ "DeserializeConstruction", "d4/d8f/class_s_l_net_1_1_replica3_composite.xhtml#ad442eea446ad187681d8812eb5c66c43", null ],
[ "DeserializeConstructionExisting", "d4/d8f/class_s_l_net_1_1_replica3_composite.xhtml#a5a01b24d92cae0411113b3c9930f209a", null ],
[ "DeserializeDestruction", "d4/d8f/class_s_l_net_1_1_replica3_composite.xhtml#a59d5c8e512a08cfe6f1ce592268fc05e", null ],
[ "GetCompositeOwner", "d4/d8f/class_s_l_net_1_1_replica3_composite.xhtml#abf3206f3a96234788fe4488fe1d14302", null ],
[ "OnPoppedConnection", "d4/d8f/class_s_l_net_1_1_replica3_composite.xhtml#a2ba44d7be986fc9a2a65832d1fea644c", null ],
[ "OnSerializeTransmission", "d4/d8f/class_s_l_net_1_1_replica3_composite.xhtml#a608842a7b612ce8bf64d938e1cf5a316", null ],
[ "OnUserReplicaPreSerializeTick", "d4/d8f/class_s_l_net_1_1_replica3_composite.xhtml#a4ca87ca259b10100d3bc1557379e32b4", null ],
[ "PostDeserializeConstruction", "d4/d8f/class_s_l_net_1_1_replica3_composite.xhtml#abde90440a05ad0a6b7593f20456cfb78", null ],
[ "PostDeserializeConstructionExisting", "d4/d8f/class_s_l_net_1_1_replica3_composite.xhtml#a091313e4eb8fa0a3a2a5e630a29eb0e2", null ],
[ "PostSerializeConstruction", "d4/d8f/class_s_l_net_1_1_replica3_composite.xhtml#aa0ece5bfe5d6e0298f978e92bb794556", null ],
[ "PostSerializeConstructionExisting", "d4/d8f/class_s_l_net_1_1_replica3_composite.xhtml#abc3e0001f3169e5ceb7cc16fd7399da8", null ],
[ "PreDestruction", "d4/d8f/class_s_l_net_1_1_replica3_composite.xhtml#a648a8ec3efa4267b793aa525812e1575", null ],
[ "QueryActionOnPopConnection", "d4/d8f/class_s_l_net_1_1_replica3_composite.xhtml#aa95265145a7464dbd8d33a8cb433814d", null ],
[ "QueryConstruction", "d4/d8f/class_s_l_net_1_1_replica3_composite.xhtml#acc4616f18d9526a0554ef72025bd92e2", null ],
[ "QueryDestruction", "d4/d8f/class_s_l_net_1_1_replica3_composite.xhtml#acc6380a679846d0e496a507ee884ffce", null ],
[ "QueryRelayDestruction", "d4/d8f/class_s_l_net_1_1_replica3_composite.xhtml#a8dd6381a64895144ebc129bf9b3dcd25", null ],
[ "QueryRemoteConstruction", "d4/d8f/class_s_l_net_1_1_replica3_composite.xhtml#a3d3ecca89023a52e073d587d1d62779f", null ],
[ "QuerySerialization", "d4/d8f/class_s_l_net_1_1_replica3_composite.xhtml#a9363d5b9aec96bb3a7805c603774cd59", null ],
[ "Serialize", "d4/d8f/class_s_l_net_1_1_replica3_composite.xhtml#a6e7587fc3d2d09e82406e55cb9b2f6ff", null ],
[ "SerializeConstruction", "d4/d8f/class_s_l_net_1_1_replica3_composite.xhtml#a4b05dcb8e721e594319c32f1a9b9db13", null ],
[ "SerializeConstructionExisting", "d4/d8f/class_s_l_net_1_1_replica3_composite.xhtml#a05dfbbe98ffb64ac52bd614fac672749", null ],
[ "SerializeDestruction", "d4/d8f/class_s_l_net_1_1_replica3_composite.xhtml#a96942e9814ebd48774ca261fbaa2f631", null ],
[ "SetCompositeOwner", "d4/d8f/class_s_l_net_1_1_replica3_composite.xhtml#a6fb5745c0a41cbe1cfb3955fbacbd673", null ],
[ "WriteAllocationID", "d4/d8f/class_s_l_net_1_1_replica3_composite.xhtml#a78c835d8559ec3f376bd95d36ecc4564", null ],
[ "r3CompositeOwner", "d4/d8f/class_s_l_net_1_1_replica3_composite.xhtml#a2d110322a65691bb161900ef3417e193", null ]
];

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,135 @@
<!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/d3d/class_s_l_net_1_1_string_compressor.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::StringCompressor Member List</div> </div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="../../de/d3d/class_s_l_net_1_1_string_compressor.xhtml">SLNet::StringCompressor</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="../../de/d3d/class_s_l_net_1_1_string_compressor.xhtml#aa237e63b4793abc8e6bb0e6f1b744f50">AddReference</a>(void)</td><td class="entry"><a class="el" href="../../de/d3d/class_s_l_net_1_1_string_compressor.xhtml">SLNet::StringCompressor</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
<tr><td class="entry"><a class="el" href="../../de/d3d/class_s_l_net_1_1_string_compressor.xhtml#a5ff01d168653fbd47d917e7ffd3675cd">DecodeString</a>(char *output, int maxCharsToWrite, SLNet::BitStream *input, uint8_t languageId=0)</td><td class="entry"><a class="el" href="../../de/d3d/class_s_l_net_1_1_string_compressor.xhtml">SLNet::StringCompressor</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../de/d3d/class_s_l_net_1_1_string_compressor.xhtml#a3f6c5faa599067a47f254a83aef1b45e">DecodeString</a>(SLNet::RakString *output, int maxCharsToWrite, SLNet::BitStream *input, uint8_t languageId=0)</td><td class="entry"><a class="el" href="../../de/d3d/class_s_l_net_1_1_string_compressor.xhtml">SLNet::StringCompressor</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../de/d3d/class_s_l_net_1_1_string_compressor.xhtml#a44be8cc8a469a28085a7502650040459">EncodeString</a>(const char *input, int maxCharsToWrite, SLNet::BitStream *output, uint8_t languageId=0)</td><td class="entry"><a class="el" href="../../de/d3d/class_s_l_net_1_1_string_compressor.xhtml">SLNet::StringCompressor</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../de/d3d/class_s_l_net_1_1_string_compressor.xhtml#ae42817a37f2065d35df28c1ea1b9b495">EncodeString</a>(const SLNet::RakString *input, int maxCharsToWrite, SLNet::BitStream *output, uint8_t languageId=0)</td><td class="entry"><a class="el" href="../../de/d3d/class_s_l_net_1_1_string_compressor.xhtml">SLNet::StringCompressor</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../de/d3d/class_s_l_net_1_1_string_compressor.xhtml#ad856d59ee5d65d4085e2aa68c0a7588e">GenerateTreeFromStrings</a>(unsigned char *input, unsigned inputLength, uint8_t languageId)</td><td class="entry"><a class="el" href="../../de/d3d/class_s_l_net_1_1_string_compressor.xhtml">SLNet::StringCompressor</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../de/d3d/class_s_l_net_1_1_string_compressor.xhtml#acbd6add1c51c15fbbb616ce17b527aab">Instance</a>(void)</td><td class="entry"><a class="el" href="../../de/d3d/class_s_l_net_1_1_string_compressor.xhtml">SLNet::StringCompressor</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
<tr><td class="entry"><a class="el" href="../../de/d3d/class_s_l_net_1_1_string_compressor.xhtml#a20c521f3b23b8fdc4b8a62e3b1d3f505">RemoveReference</a>(void)</td><td class="entry"><a class="el" href="../../de/d3d/class_s_l_net_1_1_string_compressor.xhtml">SLNet::StringCompressor</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../de/d3d/class_s_l_net_1_1_string_compressor.xhtml#af53e37f9b3b4647c83f3f67e3cc531bf">StringCompressor</a>()</td><td class="entry"><a class="el" href="../../de/d3d/class_s_l_net_1_1_string_compressor.xhtml">SLNet::StringCompressor</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../de/d3d/class_s_l_net_1_1_string_compressor.xhtml#acbe22b1af7872e9a4272560c3f274cd0">~StringCompressor</a>()</td><td class="entry"><a class="el" href="../../de/d3d/class_s_l_net_1_1_string_compressor.xhtml">SLNet::StringCompressor</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,7 @@
var struct_data_structures_1_1_ordered_channel_heap_1_1_heap_channel_and_data =
[
[ "HeapChannelAndData", "d4/da4/struct_data_structures_1_1_ordered_channel_heap_1_1_heap_channel_and_data.xhtml#a4f98981f14e84391d0ff2535532c2655", null ],
[ "HeapChannelAndData", "d4/da4/struct_data_structures_1_1_ordered_channel_heap_1_1_heap_channel_and_data.xhtml#ada0ca9b94437a7841736d7f6bec2874d", null ],
[ "channel", "d4/da4/struct_data_structures_1_1_ordered_channel_heap_1_1_heap_channel_and_data.xhtml#abe0f345d5b43d1df33b2830ea520a401", null ],
[ "data", "d4/da4/struct_data_structures_1_1_ordered_channel_heap_1_1_heap_channel_and_data.xhtml#a64530eaa3b1a5893d83b87d074b2ea61", null ]
];

View File

@ -0,0 +1,254 @@
<!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: DataStructures::OrderedChannelHeap&lt; channel_key_type, heap_data_type, channel_key_comparison_func &gt;::HeapChannelAndData 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('d4/da4/struct_data_structures_1_1_ordered_channel_heap_1_1_heap_channel_and_data.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="../../de/d5e/struct_data_structures_1_1_ordered_channel_heap_1_1_heap_channel_and_data-members.xhtml">List of all members</a> </div>
<div class="headertitle">
<div class="title">DataStructures::OrderedChannelHeap&lt; channel_key_type, heap_data_type, channel_key_comparison_func &gt;::HeapChannelAndData Struct Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><code>#include &lt;<a class="el" href="../../d8/db6/_d_s___ordered_channel_heap_8h_source.xhtml">slikenet/DS_OrderedChannelHeap.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:a4f98981f14e84391d0ff2535532c2655"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/da4/struct_data_structures_1_1_ordered_channel_heap_1_1_heap_channel_and_data.xhtml#a4f98981f14e84391d0ff2535532c2655">HeapChannelAndData</a> ()</td></tr>
<tr class="separator:a4f98981f14e84391d0ff2535532c2655"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ada0ca9b94437a7841736d7f6bec2874d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/da4/struct_data_structures_1_1_ordered_channel_heap_1_1_heap_channel_and_data.xhtml#ada0ca9b94437a7841736d7f6bec2874d">HeapChannelAndData</a> (const channel_key_type &amp;_channel, const heap_data_type &amp;_data)</td></tr>
<tr class="separator:ada0ca9b94437a7841736d7f6bec2874d"><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:a64530eaa3b1a5893d83b87d074b2ea61"><td class="memItemLeft" align="right" valign="top">heap_data_type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/da4/struct_data_structures_1_1_ordered_channel_heap_1_1_heap_channel_and_data.xhtml#a64530eaa3b1a5893d83b87d074b2ea61">data</a></td></tr>
<tr class="separator:a64530eaa3b1a5893d83b87d074b2ea61"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abe0f345d5b43d1df33b2830ea520a401"><td class="memItemLeft" align="right" valign="top">channel_key_type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/da4/struct_data_structures_1_1_ordered_channel_heap_1_1_heap_channel_and_data.xhtml#abe0f345d5b43d1df33b2830ea520a401">channel</a></td></tr>
<tr class="separator:abe0f345d5b43d1df33b2830ea520a401"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><h3>template&lt;class channel_key_type, class heap_data_type, int(*)(const channel_key_type &amp;, const channel_key_type &amp;) channel_key_comparison_func = defaultMapKeyComparison&lt;channel_key_type&gt;&gt;<br/>
struct DataStructures::OrderedChannelHeap&lt; channel_key_type, heap_data_type, channel_key_comparison_func &gt;::HeapChannelAndData</h3>
<p>Definition at line <a class="el" href="../../d8/db6/_d_s___ordered_channel_heap_8h_source.xhtml#l00062">62</a> of file <a class="el" href="../../d8/db6/_d_s___ordered_channel_heap_8h_source.xhtml">DS_OrderedChannelHeap.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a4f98981f14e84391d0ff2535532c2655"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class channel_key_type , class heap_data_type , int(*)(const channel_key_type &amp;, const channel_key_type &amp;) channel_key_comparison_func = defaultMapKeyComparison&lt;channel_key_type&gt;&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../de/d25/class_data_structures_1_1_ordered_channel_heap.xhtml">DataStructures::OrderedChannelHeap</a>&lt; channel_key_type, heap_data_type, channel_key_comparison_func &gt;::HeapChannelAndData::HeapChannelAndData </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d8/db6/_d_s___ordered_channel_heap_8h_source.xhtml#l00064">64</a> of file <a class="el" href="../../d8/db6/_d_s___ordered_channel_heap_8h_source.xhtml">DS_OrderedChannelHeap.h</a>.</p>
</div>
</div>
<a class="anchor" id="ada0ca9b94437a7841736d7f6bec2874d"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class channel_key_type , class heap_data_type , int(*)(const channel_key_type &amp;, const channel_key_type &amp;) channel_key_comparison_func = defaultMapKeyComparison&lt;channel_key_type&gt;&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../de/d25/class_data_structures_1_1_ordered_channel_heap.xhtml">DataStructures::OrderedChannelHeap</a>&lt; channel_key_type, heap_data_type, channel_key_comparison_func &gt;::HeapChannelAndData::HeapChannelAndData </td>
<td>(</td>
<td class="paramtype">const channel_key_type &amp;&#160;</td>
<td class="paramname"><em>_channel</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const heap_data_type &amp;&#160;</td>
<td class="paramname"><em>_data</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d8/db6/_d_s___ordered_channel_heap_8h_source.xhtml#l00065">65</a> of file <a class="el" href="../../d8/db6/_d_s___ordered_channel_heap_8h_source.xhtml">DS_OrderedChannelHeap.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a class="anchor" id="abe0f345d5b43d1df33b2830ea520a401"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class channel_key_type , class heap_data_type , int(*)(const channel_key_type &amp;, const channel_key_type &amp;) channel_key_comparison_func = defaultMapKeyComparison&lt;channel_key_type&gt;&gt; </div>
<table class="memname">
<tr>
<td class="memname">channel_key_type <a class="el" href="../../de/d25/class_data_structures_1_1_ordered_channel_heap.xhtml">DataStructures::OrderedChannelHeap</a>&lt; channel_key_type, heap_data_type, channel_key_comparison_func &gt;::HeapChannelAndData::channel</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d8/db6/_d_s___ordered_channel_heap_8h_source.xhtml#l00067">67</a> of file <a class="el" href="../../d8/db6/_d_s___ordered_channel_heap_8h_source.xhtml">DS_OrderedChannelHeap.h</a>.</p>
</div>
</div>
<a class="anchor" id="a64530eaa3b1a5893d83b87d074b2ea61"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class channel_key_type , class heap_data_type , int(*)(const channel_key_type &amp;, const channel_key_type &amp;) channel_key_comparison_func = defaultMapKeyComparison&lt;channel_key_type&gt;&gt; </div>
<table class="memname">
<tr>
<td class="memname">heap_data_type <a class="el" href="../../de/d25/class_data_structures_1_1_ordered_channel_heap.xhtml">DataStructures::OrderedChannelHeap</a>&lt; channel_key_type, heap_data_type, channel_key_comparison_func &gt;::HeapChannelAndData::data</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d8/db6/_d_s___ordered_channel_heap_8h_source.xhtml#l00066">66</a> of file <a class="el" href="../../d8/db6/_d_s___ordered_channel_heap_8h_source.xhtml">DS_OrderedChannelHeap.h</a>.</p>
<p>Referenced by <a class="el" href="../../d8/db6/_d_s___ordered_channel_heap_8h_source.xhtml#l00190">DataStructures::OrderedChannelHeap&lt; channel_key_type, heap_data_type, channel_key_comparison_func &gt;::Peek()</a>.</p>
</div>
</div>
<hr/>The documentation for this struct was generated from the following file:<ul>
<li>Source/include/slikenet/<a class="el" href="../../d8/db6/_d_s___ordered_channel_heap_8h_source.xhtml">DS_OrderedChannelHeap.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="../../da/d80/namespace_data_structures.xhtml">DataStructures</a></li><li class="navelem"><a class="el" href="../../de/d25/class_data_structures_1_1_ordered_channel_heap.xhtml">OrderedChannelHeap</a></li><li class="navelem"><a class="el" href="../../d4/da4/struct_data_structures_1_1_ordered_channel_heap_1_1_heap_channel_and_data.xhtml">HeapChannelAndData</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,125 @@
<!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/gettimeofday.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('d4/da7/gettimeofday_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">gettimeofday.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &lt;sys/time.h&gt;</code><br/>
<code>#include &lt;unistd.h&gt;</code><br/>
</div>
<p><a href="../../d4/da7/gettimeofday_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="../../d4/da7/gettimeofday_8h.xhtml">gettimeofday.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,195 @@
<!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/gettimeofday.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('d4/da7/gettimeofday_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">gettimeofday.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="../../d4/da7/gettimeofday_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 __GET_TIME_OF_DAY_H</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define __GET_TIME_OF_DAY_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="preprocessor">#if defined(_WIN32) &amp;&amp; !defined(__GNUC__) &amp;&amp;!defined(__GCCXML__)</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#include &lt; time.h &gt;</span></div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="keyword">struct </span>timezone</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; <span class="keywordtype">int</span> tz_minuteswest; <span class="comment">/* minutes W of Greenwich */</span></div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160; <span class="keywordtype">int</span> tz_dsttime; <span class="comment">/* type of dst correction */</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="preprocessor">#if defined(WINDOWS_STORE_RT)</span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="preprocessor"></span><span class="keyword">struct </span>timeval {</div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160; <span class="keywordtype">long</span> tv_sec;</div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160; <span class="keywordtype">long</span> tv_usec;</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="preprocessor">#endif</span></div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</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="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></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;<span class="preprocessor">#include &lt;sys/time.h&gt;</span></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;<span class="preprocessor">#include &lt;unistd.h&gt;</span></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="comment">// Uncomment this if you need to</span></div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;<span class="comment">// http://www.halcode.com/archives/2008/08/26/retrieving-system-time-gettimeofday/</span></div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;<span class="comment">struct timezone</span></div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;<span class="comment">{</span></div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;<span class="comment"> int tz_minuteswest;</span></div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;<span class="comment"> int tz_dsttime;</span></div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;<span class="comment">};</span></div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;<span class="comment"> </span></div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;<span class="comment">#ifdef __cplusplus</span></div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;<span class="comment"> </span></div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;<span class="comment">void GetSystemTimeAsFileTime(FILETIME*);</span></div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;<span class="comment"> </span></div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;<span class="comment">inline int gettimeofday(struct timeval* p, void* tz )</span></div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;<span class="comment">{</span></div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;<span class="comment"> union {</span></div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;<span class="comment"> long long ns100; // time since 1 Jan 1601 in 100ns units</span></div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;<span class="comment"> FILETIME ft;</span></div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;<span class="comment"> } now;</span></div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;<span class="comment"> </span></div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;<span class="comment"> GetSystemTimeAsFileTime( &amp;(now.ft) );</span></div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;<span class="comment"> p-&gt;tv_usec=(long)((now.ns100 / 10LL) % 1000000LL );</span></div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;<span class="comment"> p-&gt;tv_sec= (long)((now.ns100-(116444736000000000LL))/10000000LL);</span></div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;<span class="comment"> return 0;</span></div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;<span class="comment">}</span></div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;<span class="comment"> </span></div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;<span class="comment">#else</span></div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;<span class="comment"> int gettimeofday(struct timeval* p, void* tz );</span></div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;<span class="comment">#endif</span></div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;<span class="comment">*/</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 class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</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="../../d4/da7/gettimeofday_8h.xhtml">gettimeofday.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/EmailSender.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('d4/dad/_email_sender_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">EmailSender.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="../../d4/dad/_email_sender_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="../../d4/dad/_email_sender_8cpp.xhtml">EmailSender.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,499 @@
<!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/EmailSender.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('d4/dad/_email_sender_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">EmailSender.cpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="../../d4/dad/_email_sender_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="../../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_EmailSender==1 &amp;&amp; _RAKNET_SUPPORT_TCPInterface==1 &amp;&amp; _RAKNET_SUPPORT_FileOperations==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="comment">// Useful sites</span></div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="comment">// http://www.faqs.org\rfcs\rfc2821.html</span></div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="comment">// http://www2.rad.com\networks/1995/mime/examples.htm</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="preprocessor">#include &quot;<a class="code" href="../../d8/de4/_email_sender_8h.xhtml" title="Rudimentary class to send email from code. Don&#39;t expect anything fancy.">slikenet/EmailSender.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="../../de/dd1/_t_c_p_interface_8h.xhtml" title="A simple TCP based server allowing sends and receives. Can be connected by any TCP client...">slikenet/TCPInterface.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/d10/_rand_8h.xhtml" title="[Internal] Random number generator">slikenet/Rand.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="../../d0/dc4/_file_list_8h.xhtml">slikenet/FileList.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/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="l00029"></a><span class="lineno"> 29</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../d4/d4c/_base64_encoder_8h.xhtml">slikenet/Base64Encoder.h</a>&quot;</span></div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="preprocessor">#include &lt;stdio.h&gt;</span></div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</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="l00032"></a><span class="lineno"> 32</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="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;<span class="preprocessor">#include &quot;<a class="code" href="../../d9/d81/sleep_8h.xhtml">slikenet/sleep.h</a>&quot;</span></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">using namespace </span>SLNet;</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;<a class="code" href="../../db/dbd/_export_8h.xhtml#aa00165c970bdb25e1c757b432509533b">STATIC_FACTORY_DEFINITIONS</a>(<a class="code" href="../../dc/dfd/class_s_l_net_1_1_email_sender.xhtml" title="Rudimentary class to send email from code.">EmailSender</a>,<a class="code" href="../../dc/dfd/class_s_l_net_1_1_email_sender.xhtml" title="Rudimentary class to send email from code.">EmailSender</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="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="../../dc/dfd/class_s_l_net_1_1_email_sender.xhtml#a13221d180b5a94feda1355c6331f8fce" title="Sends an email.">EmailSender::Send</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *hostAddress, <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> hostPort, <span class="keyword">const</span> <span class="keywordtype">char</span> *sender, <span class="keyword">const</span> <span class="keywordtype">char</span> *recipient, <span class="keyword">const</span> <span class="keywordtype">char</span> *senderName, <span class="keyword">const</span> <span class="keywordtype">char</span> *recipientName, <span class="keyword">const</span> <span class="keywordtype">char</span> *subject, <span class="keyword">const</span> <span class="keywordtype">char</span> *body, <a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml">FileList</a> *attachedFiles, <span class="keywordtype">bool</span> doPrintf, <span class="keyword">const</span> <span class="keywordtype">char</span> *password)</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; <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.">SLNet::Packet</a> *packet;</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; <span class="keywordtype">char</span> query[1024];</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <a class="code" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml">TCPInterface</a> tcpInterface;</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</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> emailServer;</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <span class="keywordflow">if</span> (tcpInterface.<a class="code" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml#aacace1fc8ab33669952e9dc97596c8a3">Start</a>(0, 0)==<span class="keyword">false</span>)</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;Unknown error starting TCP&quot;</span>;</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; emailServer=tcpInterface.<a class="code" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml#aef31dfbd383b7864e0e9deb074291cb7" title="Connect to the specified host on the specified port.">Connect</a>(hostAddress, hostPort,<span class="keyword">true</span>);</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <span class="keywordflow">if</span> (emailServer==<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#acea7714c995aae0e1feaf79c9e7f073d" title="Index of an invalid SystemAddress.">UNASSIGNED_SYSTEM_ADDRESS</a>)</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;Failed to connect to host&quot;</span>;</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;<span class="preprocessor">#if OPEN_SSL_CLIENT_SUPPORT==1</span></div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;<span class="preprocessor"></span> tcpInterface.StartSSLClient(emailServer);</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;<span class="preprocessor"></span> <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a26b4eb1be8467562f791e3c5af4a67ae">SLNet::TimeMS</a> timeoutTime = <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a4772a177cb3fcb5d9e699a6670c3fb8a">SLNet::GetTimeMS</a>()+3000;</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; packet=0;</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <span class="keywordflow">while</span> (<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a4772a177cb3fcb5d9e699a6670c3fb8a">SLNet::GetTimeMS</a>() &lt; timeoutTime)</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; packet = tcpInterface.<a class="code" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml#a71c601f7df74b40aae954757c7724ca9" title="Returns data received.">Receive</a>();</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; <span class="keywordflow">if</span> (packet)</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; <span class="keywordflow">if</span> (doPrintf)</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; <a class="code" href="../../d8/db0/defines_8h.xhtml#a2a5d867f7ae6521f217847a78f17ab4a">RAKNET_DEBUG_PRINTF</a>(<span class="stringliteral">&quot;%s&quot;</span>, packet-&gt;<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#aff6d115daef2787d582f9a20efd64fc0" title="The data from the sender.">data</a>);</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; tcpInterface.<a class="code" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml#a7800dc1ce89b0127884503b6168ceb27" title="Deallocates a packet returned by Receive.">DeallocatePacket</a>(packet);</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"> 71</span>&#160; <span class="keywordflow">break</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; <a class="code" href="../../df/d30/_rak_sleep_8cpp.xhtml#a5b4f72ab4031078e87f5ed1b6828e1c7">RakSleep</a>(250);</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"> 76</span>&#160; <span class="keywordflow">if</span> (packet==0)</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;Timeout while waiting for initial data from server.&quot;</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; tcpInterface.<a class="code" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml#a6a2bf12f77233eec447a6496730286e7" title="Sends a byte stream.">Send</a>(<span class="stringliteral">&quot;EHLO\r\n&quot;</span>, 6, emailServer,<span class="keyword">false</span>);</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <span class="keyword">const</span> <span class="keywordtype">char</span> *response;</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; <span class="keywordtype">bool</span> authenticate=<span class="keyword">false</span>;</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; <span class="keywordflow">for</span>(;;)</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; response=<a class="code" href="../../dc/dfd/class_s_l_net_1_1_email_sender.xhtml#aaaedccdf998f78eba9efa66bcbb9b6c3">GetResponse</a>(&amp;tcpInterface, emailServer, doPrintf);</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="keywordflow">if</span> (response!=0 &amp;&amp; strcmp(response, <span class="stringliteral">&quot;AUTHENTICATE&quot;</span>)==0)</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; {</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; authenticate=<span class="keyword">true</span>;</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; <span class="keywordflow">break</span>;</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;</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <span class="comment">// Something other than continue?</span></div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <span class="keywordflow">if</span> (response!=0 &amp;&amp; strcmp(response, <span class="stringliteral">&quot;CONTINUE&quot;</span>)!=0)</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <span class="keywordflow">return</span> response;</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="comment">// Success?</span></div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <span class="keywordflow">if</span> (response==0)</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; }</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">if</span> (authenticate)</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"> 103</span>&#160; sprintf_s(query, <span class="stringliteral">&quot;EHLO %s\r\n&quot;</span>, sender);</div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; tcpInterface.<a class="code" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml#a6a2bf12f77233eec447a6496730286e7" title="Sends a byte stream.">Send</a>(query, (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>)strlen(query), emailServer,<span class="keyword">false</span>);</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; response=<a class="code" href="../../dc/dfd/class_s_l_net_1_1_email_sender.xhtml#aaaedccdf998f78eba9efa66bcbb9b6c3">GetResponse</a>(&amp;tcpInterface, emailServer, doPrintf);</div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <span class="keywordflow">if</span> (response!=0)</div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <span class="keywordflow">return</span> response;</div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <span class="keywordflow">if</span> (password==0)</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;Password needed&quot;</span>;</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; <span class="keywordtype">char</span> *outputData = SLNet::OP_NEW_ARRAY&lt;char &gt;((<span class="keyword">const</span> int) (strlen(sender)+strlen(password)+2)*3, <a class="code" href="../../d8/db0/defines_8h.xhtml#a8661ec2137eef33a8cd0cd618a748871">_FILE_AND_LINE_</a> );</div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</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="l00112"></a><span class="lineno"> 112</span>&#160; <span class="keywordtype">char</span> zero=0;</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</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>(&amp;zero,1);</div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</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>(sender,(<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>)strlen(sender));</div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; <span class="comment">//bs.Write(&quot;jms1@jms1.net&quot;,(const unsigned int)strlen(&quot;jms1@jms1.net&quot;));</span></div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</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>(&amp;zero,1);</div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</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>(password,(<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>)strlen(password));</div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</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>(&amp;zero,1);</div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <span class="comment">//bs.Write(&quot;not.my.real.password&quot;,(const unsigned int)strlen(&quot;not.my.real.password&quot;));</span></div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; <a class="code" href="../../d9/d9b/_base64_encoder_8cpp.xhtml#a8139edc5f6d1b0e1716c4ce4b830ef53" title="Returns how many bytes were written.">Base64Encoding</a>((<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>*)bs.<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a7b4099386f6f116f0978b00ead160a0d">GetData</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>(), outputData);</div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; sprintf_s(query, <span class="stringliteral">&quot;AUTH PLAIN %s&quot;</span>, outputData);</div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; tcpInterface.<a class="code" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml#a6a2bf12f77233eec447a6496730286e7" title="Sends a byte stream.">Send</a>(query, (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>)strlen(query), emailServer,<span class="keyword">false</span>);</div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; response=<a class="code" href="../../dc/dfd/class_s_l_net_1_1_email_sender.xhtml#aaaedccdf998f78eba9efa66bcbb9b6c3">GetResponse</a>(&amp;tcpInterface, emailServer, doPrintf);</div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <span class="keywordflow">if</span> (response!=0)</div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <span class="keywordflow">return</span> response;</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;</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">if</span> (sender)</div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; sprintf_s(query, <span class="stringliteral">&quot;MAIL From: &lt;%s&gt;\r\n&quot;</span>, sender);</div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; sprintf_s(query, <span class="stringliteral">&quot;MAIL From: &lt;&gt;\r\n&quot;</span>);</div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; tcpInterface.<a class="code" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml#a6a2bf12f77233eec447a6496730286e7" title="Sends a byte stream.">Send</a>(query, (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>)strlen(query), emailServer,<span class="keyword">false</span>);</div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; response=<a class="code" href="../../dc/dfd/class_s_l_net_1_1_email_sender.xhtml#aaaedccdf998f78eba9efa66bcbb9b6c3">GetResponse</a>(&amp;tcpInterface, emailServer, doPrintf);</div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <span class="keywordflow">if</span> (response!=0)</div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; <span class="keywordflow">return</span> response;</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="keywordflow">if</span> (recipient)</div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; sprintf_s(query, <span class="stringliteral">&quot;RCPT TO: &lt;%s&gt;\r\n&quot;</span>, recipient);</div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; sprintf_s(query, <span class="stringliteral">&quot;RCPT TO: &lt;&gt;\r\n&quot;</span>);</div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; tcpInterface.<a class="code" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml#a6a2bf12f77233eec447a6496730286e7" title="Sends a byte stream.">Send</a>(query, (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>)strlen(query), emailServer,<span class="keyword">false</span>);</div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; response=<a class="code" href="../../dc/dfd/class_s_l_net_1_1_email_sender.xhtml#aaaedccdf998f78eba9efa66bcbb9b6c3">GetResponse</a>(&amp;tcpInterface, emailServer, doPrintf);</div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <span class="keywordflow">if</span> (response!=0)</div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; <span class="keywordflow">return</span> response;</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; tcpInterface.<a class="code" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml#a6a2bf12f77233eec447a6496730286e7" title="Sends a byte stream.">Send</a>(<span class="stringliteral">&quot;DATA\r\n&quot;</span>, (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>)strlen(<span class="stringliteral">&quot;DATA\r\n&quot;</span>), emailServer,<span class="keyword">false</span>);</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"> 149</span>&#160; <span class="comment">// Wait for 354...</span></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; response=<a class="code" href="../../dc/dfd/class_s_l_net_1_1_email_sender.xhtml#aaaedccdf998f78eba9efa66bcbb9b6c3">GetResponse</a>(&amp;tcpInterface, emailServer, doPrintf);</div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; <span class="keywordflow">if</span> (response!=0)</div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; <span class="keywordflow">return</span> response;</div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;</div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; <span class="keywordflow">if</span> (subject)</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; sprintf_s(query, <span class="stringliteral">&quot;Subject: %s\r\n&quot;</span>, subject);</div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; tcpInterface.<a class="code" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml#a6a2bf12f77233eec447a6496730286e7" title="Sends a byte stream.">Send</a>(query, (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>)strlen(query), emailServer,<span class="keyword">false</span>);</div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; }</div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; <span class="keywordflow">if</span> (senderName)</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; sprintf_s(query, <span class="stringliteral">&quot;From: %s\r\n&quot;</span>, senderName);</div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; tcpInterface.<a class="code" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml#a6a2bf12f77233eec447a6496730286e7" title="Sends a byte stream.">Send</a>(query, (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>)strlen(query), emailServer,<span class="keyword">false</span>);</div>
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; }</div>
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; <span class="keywordflow">if</span> (recipientName)</div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; {</div>
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; sprintf_s(query, <span class="stringliteral">&quot;To: %s\r\n&quot;</span>, recipientName);</div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; tcpInterface.<a class="code" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml#a6a2bf12f77233eec447a6496730286e7" title="Sends a byte stream.">Send</a>(query, (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>)strlen(query), emailServer,<span class="keyword">false</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;</div>
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; <span class="keyword">const</span> <span class="keywordtype">int</span> boundarySize=60;</div>
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; <span class="keywordtype">char</span> boundary[boundarySize+1];</div>
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; <span class="keywordtype">int</span> i,j;</div>
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; <span class="keywordflow">if</span> (attachedFiles &amp;&amp; attachedFiles-&gt;<a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aba78be96dad9e9014e2392cae3d731eb">fileList</a>.<a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml#a6f13a4519693cbd16cd13b1fe284f330">Size</a>())</div>
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; {</div>
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; <a class="code" href="../../dc/dfd/class_s_l_net_1_1_email_sender.xhtml#a7ff0521c85b5e8bcea2fa798c0183816">rakNetRandom</a>.<a class="code" href="../../df/dd4/class_s_l_net_1_1_rak_net_random.xhtml#a2d1a9a274688d7fd1554607d46cc5296">SeedMT</a>((<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>)<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a4772a177cb3fcb5d9e699a6670c3fb8a">SLNet::GetTimeMS</a>());</div>
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; <span class="comment">// Random multipart message boundary</span></div>
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; <span class="keywordflow">for</span> (i=0; i &lt; boundarySize; i++)</div>
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; boundary[i]=<a class="code" href="../../d9/d9b/_base64_encoder_8cpp.xhtml#a60674731c56f7ab8cfab678ee5511998">Base64Map</a>()[<a class="code" href="../../dc/dfd/class_s_l_net_1_1_email_sender.xhtml#a7ff0521c85b5e8bcea2fa798c0183816">rakNetRandom</a>.<a class="code" href="../../df/dd4/class_s_l_net_1_1_rak_net_random.xhtml#ac2661b0600af7f2a6f1d904c553c31bb">RandomMT</a>()%64];</div>
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; boundary[boundarySize]=0;</div>
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; }</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; sprintf_s(query, <span class="stringliteral">&quot;MIME-version: 1.0\r\n&quot;</span>);</div>
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; tcpInterface.<a class="code" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml#a6a2bf12f77233eec447a6496730286e7" title="Sends a byte stream.">Send</a>(query, (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>)strlen(query), emailServer,<span class="keyword">false</span>);</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; <span class="keywordflow">if</span> (attachedFiles &amp;&amp; attachedFiles-&gt;<a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aba78be96dad9e9014e2392cae3d731eb">fileList</a>.<a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml#a6f13a4519693cbd16cd13b1fe284f330">Size</a>())</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; sprintf_s(query, <span class="stringliteral">&quot;Content-type: multipart/mixed; BOUNDARY=\&quot;%s\&quot;\r\n\r\n&quot;</span>, boundary);</div>
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; tcpInterface.<a class="code" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml#a6a2bf12f77233eec447a6496730286e7" title="Sends a byte stream.">Send</a>(query, (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>)strlen(query), emailServer,<span class="keyword">false</span>);</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; sprintf_s(query, <span class="stringliteral">&quot;This is a multi-part message in MIME format.\r\n\r\n--%s\r\n&quot;</span>, boundary);</div>
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; tcpInterface.<a class="code" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml#a6a2bf12f77233eec447a6496730286e7" title="Sends a byte stream.">Send</a>(query, (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>)strlen(query), emailServer,<span class="keyword">false</span>);</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; </div>
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; sprintf_s(query, <span class="stringliteral">&quot;Content-Type: text/plain; charset=\&quot;US-ASCII\&quot;\r\n\r\n&quot;</span>);</div>
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; tcpInterface.<a class="code" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml#a6a2bf12f77233eec447a6496730286e7" title="Sends a byte stream.">Send</a>(query, (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>)strlen(query), emailServer,<span class="keyword">false</span>);</div>
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160;</div>
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; <span class="comment">// Write the body of the email, doing some lame shitty shit where I have to make periods at the start of a newline have a second period.</span></div>
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; <span class="keywordtype">char</span> *newBody;</div>
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; <span class="keywordtype">int</span> bodyLength;</div>
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; bodyLength=(int)strlen(body);</div>
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; newBody = (<span class="keywordtype">char</span>*) <a class="code" href="../../d9/d4c/_rak_memory_override_8cpp.xhtml#aebeb2e4754399ea3e2c7af3dd9bbe8c3">rakMalloc_Ex</a>( bodyLength*3, <a class="code" href="../../d8/db0/defines_8h.xhtml#a8661ec2137eef33a8cd0cd618a748871">_FILE_AND_LINE_</a> );</div>
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; <span class="keywordflow">if</span> (bodyLength&gt;=0)</div>
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; newBody[0]=body[0];</div>
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; <span class="keywordflow">for</span> (i=1, j=1; i &lt; bodyLength; i++)</div>
<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; {</div>
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; <span class="comment">// Transform \n . \r \n into \n . . \r \n</span></div>
<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; <span class="keywordflow">if</span> (i &lt; bodyLength-2 &amp;&amp;</div>
<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; body[i-1]==<span class="charliteral">&#39;\n&#39;</span> &amp;&amp;</div>
<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; body[i+0]==<span class="charliteral">&#39;.&#39;</span> &amp;&amp;</div>
<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; body[i+1]==<span class="charliteral">&#39;\r&#39;</span> &amp;&amp;</div>
<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; body[i+2]==<span class="charliteral">&#39;\n&#39;</span>)</div>
<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; {</div>
<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; newBody[j++]=<span class="charliteral">&#39;.&#39;</span>;</div>
<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; newBody[j++]=<span class="charliteral">&#39;.&#39;</span>;</div>
<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; newBody[j++]=<span class="charliteral">&#39;\r&#39;</span>;</div>
<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; newBody[j++]=<span class="charliteral">&#39;\n&#39;</span>;</div>
<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; i+=2;</div>
<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; }</div>
<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; <span class="comment">// Transform \n . . \r \n into \n . . . \r \n</span></div>
<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; <span class="comment">// Having to process .. is a bug in the mail server - the spec says ONLY \r\n.\r\n should be transformed</span></div>
<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (i &lt;= bodyLength-3 &amp;&amp;</div>
<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; body[i-1]==<span class="charliteral">&#39;\n&#39;</span> &amp;&amp;</div>
<div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; body[i+0]==<span class="charliteral">&#39;.&#39;</span> &amp;&amp;</div>
<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; body[i+1]==<span class="charliteral">&#39;.&#39;</span> &amp;&amp;</div>
<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; body[i+2]==<span class="charliteral">&#39;\r&#39;</span> &amp;&amp;</div>
<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; body[i+3]==<span class="charliteral">&#39;\n&#39;</span>)</div>
<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; {</div>
<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; newBody[j++]=<span class="charliteral">&#39;.&#39;</span>;</div>
<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; newBody[j++]=<span class="charliteral">&#39;.&#39;</span>;</div>
<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; newBody[j++]=<span class="charliteral">&#39;.&#39;</span>;</div>
<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; newBody[j++]=<span class="charliteral">&#39;\r&#39;</span>;</div>
<div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; newBody[j++]=<span class="charliteral">&#39;\n&#39;</span>;</div>
<div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; i+=3;</div>
<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; }</div>
<div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; <span class="comment">// Transform \n . \n into \n . . \r \n (this is a bug in the mail server - the spec says do not count \n alone but it does)</span></div>
<div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (i &lt; bodyLength-1 &amp;&amp;</div>
<div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; body[i-1]==<span class="charliteral">&#39;\n&#39;</span> &amp;&amp;</div>
<div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; body[i+0]==<span class="charliteral">&#39;.&#39;</span> &amp;&amp;</div>
<div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; body[i+1]==<span class="charliteral">&#39;\n&#39;</span>)</div>
<div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; {</div>
<div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; newBody[j++]=<span class="charliteral">&#39;.&#39;</span>;</div>
<div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; newBody[j++]=<span class="charliteral">&#39;.&#39;</span>;</div>
<div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; newBody[j++]=<span class="charliteral">&#39;\r&#39;</span>;</div>
<div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; newBody[j++]=<span class="charliteral">&#39;\n&#39;</span>;</div>
<div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; i+=1;</div>
<div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; }</div>
<div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; <span class="comment">// Transform \n . . \n into \n . . . \r \n (this is a bug in the mail server - the spec says do not count \n alone but it does)</span></div>
<div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; <span class="comment">// In fact having to process .. is a bug too - because the spec says ONLY \r\n.\r\n should be transformed</span></div>
<div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (i &lt;= bodyLength-2 &amp;&amp;</div>
<div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; body[i-1]==<span class="charliteral">&#39;\n&#39;</span> &amp;&amp;</div>
<div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; body[i+0]==<span class="charliteral">&#39;.&#39;</span> &amp;&amp;</div>
<div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; body[i+1]==<span class="charliteral">&#39;.&#39;</span> &amp;&amp;</div>
<div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; body[i+2]==<span class="charliteral">&#39;\n&#39;</span>)</div>
<div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; {</div>
<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; newBody[j++]=<span class="charliteral">&#39;.&#39;</span>;</div>
<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; newBody[j++]=<span class="charliteral">&#39;.&#39;</span>;</div>
<div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; newBody[j++]=<span class="charliteral">&#39;.&#39;</span>;</div>
<div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; newBody[j++]=<span class="charliteral">&#39;\r&#39;</span>;</div>
<div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; newBody[j++]=<span class="charliteral">&#39;\n&#39;</span>;</div>
<div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; i+=2;</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; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; newBody[j++]=body[i];</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; </div>
<div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; newBody[j++]=<span class="charliteral">&#39;\r&#39;</span>;</div>
<div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; newBody[j++]=<span class="charliteral">&#39;\n&#39;</span>;</div>
<div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; tcpInterface.<a class="code" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml#a6a2bf12f77233eec447a6496730286e7" title="Sends a byte stream.">Send</a>(newBody, j, emailServer,<span class="keyword">false</span>);</div>
<div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160;</div>
<div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; <a class="code" href="../../d9/d4c/_rak_memory_override_8cpp.xhtml#ab91fbe0570bf501cd97a53c6cffcef8f">rakFree_Ex</a>(newBody, <a class="code" href="../../d8/db0/defines_8h.xhtml#a8661ec2137eef33a8cd0cd618a748871">_FILE_AND_LINE_</a> );</div>
<div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; <span class="keywordtype">int</span> outputOffset;</div>
<div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160;</div>
<div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; <span class="comment">// What a pain in the rear. I have to map the binary to printable characters using 6 bits per character.</span></div>
<div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; <span class="keywordflow">if</span> (attachedFiles &amp;&amp; attachedFiles-&gt;<a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aba78be96dad9e9014e2392cae3d731eb">fileList</a>.<a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml#a6f13a4519693cbd16cd13b1fe284f330">Size</a>())</div>
<div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; {</div>
<div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160; <span class="keywordflow">for</span> (i=0; i &lt; (int) attachedFiles-&gt;<a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aba78be96dad9e9014e2392cae3d731eb">fileList</a>.<a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml#a6f13a4519693cbd16cd13b1fe284f330">Size</a>(); i++)</div>
<div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; {</div>
<div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; <span class="comment">// Write boundary</span></div>
<div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160; sprintf_s(query, <span class="stringliteral">&quot;\r\n--%s\r\n&quot;</span>, boundary);</div>
<div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160; tcpInterface.<a class="code" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml#a6a2bf12f77233eec447a6496730286e7" title="Sends a byte stream.">Send</a>(query, (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>)strlen(query), emailServer,<span class="keyword">false</span>);</div>
<div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160;</div>
<div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; sprintf_s(query, <span class="stringliteral">&quot;Content-Type: APPLICATION/Octet-Stream; SizeOnDisk=%i; name=\&quot;%s\&quot;\r\nContent-Transfer-Encoding: BASE64\r\nContent-Description: %s\r\n\r\n&quot;</span>, attachedFiles-&gt;<a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aba78be96dad9e9014e2392cae3d731eb">fileList</a>[i].dataLengthBytes, attachedFiles-&gt;<a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aba78be96dad9e9014e2392cae3d731eb">fileList</a>[i].filename.C_String(), attachedFiles-&gt;<a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aba78be96dad9e9014e2392cae3d731eb">fileList</a>[i].filename.C_String());</div>
<div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; tcpInterface.<a class="code" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml#a6a2bf12f77233eec447a6496730286e7" title="Sends a byte stream.">Send</a>(query, (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>)strlen(query), emailServer,<span class="keyword">false</span>);</div>
<div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160;</div>
<div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160; newBody = (<span class="keywordtype">char</span>*) <a class="code" href="../../d9/d4c/_rak_memory_override_8cpp.xhtml#aebeb2e4754399ea3e2c7af3dd9bbe8c3">rakMalloc_Ex</a>( (<span class="keywordtype">size_t</span>) (attachedFiles-&gt;<a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aba78be96dad9e9014e2392cae3d731eb">fileList</a>[i].dataLengthBytes*3)/2, <a class="code" href="../../d8/db0/defines_8h.xhtml#a8661ec2137eef33a8cd0cd618a748871">_FILE_AND_LINE_</a> );</div>
<div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160;</div>
<div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160; outputOffset=<a class="code" href="../../d9/d9b/_base64_encoder_8cpp.xhtml#a8139edc5f6d1b0e1716c4ce4b830ef53" title="Returns how many bytes were written.">Base64Encoding</a>((<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>*) attachedFiles-&gt;<a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aba78be96dad9e9014e2392cae3d731eb">fileList</a>[i].data, (<span class="keywordtype">int</span>) attachedFiles-&gt;<a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aba78be96dad9e9014e2392cae3d731eb">fileList</a>[i].dataLengthBytes, newBody);</div>
<div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160;</div>
<div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160; <span class="comment">// Send the base64 mapped file.</span></div>
<div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; tcpInterface.<a class="code" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml#a6a2bf12f77233eec447a6496730286e7" title="Sends a byte stream.">Send</a>(newBody, outputOffset, emailServer,<span class="keyword">false</span>);</div>
<div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; <a class="code" href="../../d9/d4c/_rak_memory_override_8cpp.xhtml#ab91fbe0570bf501cd97a53c6cffcef8f">rakFree_Ex</a>(newBody, <a class="code" href="../../d8/db0/defines_8h.xhtml#a8661ec2137eef33a8cd0cd618a748871">_FILE_AND_LINE_</a> );</div>
<div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160;</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;</div>
<div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160; <span class="comment">// Write last boundary</span></div>
<div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; sprintf_s(query, <span class="stringliteral">&quot;\r\n--%s--\r\n&quot;</span>, boundary);</div>
<div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160; tcpInterface.<a class="code" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml#a6a2bf12f77233eec447a6496730286e7" title="Sends a byte stream.">Send</a>(query, (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>)strlen(query), emailServer,<span class="keyword">false</span>);</div>
<div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160; }</div>
<div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160;</div>
<div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160;</div>
<div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160; sprintf_s(query, <span class="stringliteral">&quot;\r\n.\r\n&quot;</span>);</div>
<div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160; tcpInterface.<a class="code" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml#a6a2bf12f77233eec447a6496730286e7" title="Sends a byte stream.">Send</a>(query, (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>)strlen(query), emailServer,<span class="keyword">false</span>);</div>
<div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160; response=<a class="code" href="../../dc/dfd/class_s_l_net_1_1_email_sender.xhtml#aaaedccdf998f78eba9efa66bcbb9b6c3">GetResponse</a>(&amp;tcpInterface, emailServer, doPrintf);</div>
<div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; <span class="keywordflow">if</span> (response!=0)</div>
<div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160; <span class="keywordflow">return</span> response;</div>
<div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160;</div>
<div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160; tcpInterface.<a class="code" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml#a6a2bf12f77233eec447a6496730286e7" title="Sends a byte stream.">Send</a>(<span class="stringliteral">&quot;QUIT\r\n&quot;</span>, (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>)strlen(<span class="stringliteral">&quot;QUIT\r\n&quot;</span>), emailServer,<span class="keyword">false</span>);</div>
<div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160;</div>
<div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; <a class="code" href="../../df/d30/_rak_sleep_8cpp.xhtml#a5b4f72ab4031078e87f5ed1b6828e1c7">RakSleep</a>(30);</div>
<div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160; <span class="keywordflow">if</span> (doPrintf)</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; packet = tcpInterface.<a class="code" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml#a71c601f7df74b40aae954757c7724ca9" title="Returns data received.">Receive</a>();</div>
<div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160; <span class="keywordflow">while</span> (packet)</div>
<div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; {</div>
<div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; <a class="code" href="../../d8/db0/defines_8h.xhtml#a2a5d867f7ae6521f217847a78f17ab4a">RAKNET_DEBUG_PRINTF</a>(<span class="stringliteral">&quot;%s&quot;</span>, packet-&gt;<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#aff6d115daef2787d582f9a20efd64fc0" title="The data from the sender.">data</a>);</div>
<div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; tcpInterface.<a class="code" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml#a7800dc1ce89b0127884503b6168ceb27" title="Deallocates a packet returned by Receive.">DeallocatePacket</a>(packet);</div>
<div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160; packet = tcpInterface.<a class="code" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml#a71c601f7df74b40aae954757c7724ca9" title="Returns data received.">Receive</a>();</div>
<div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; }</div>
<div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160; }</div>
<div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160; tcpInterface.<a class="code" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml#ab8e38a1a18cac128a2bb22ed5374cb04" title="Stops the TCP server.">Stop</a>();</div>
<div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160; <span class="keywordflow">return</span> 0; <span class="comment">// Success</span></div>
<div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160;}</div>
<div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160;</div>
<div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160;<span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="../../dc/dfd/class_s_l_net_1_1_email_sender.xhtml#aaaedccdf998f78eba9efa66bcbb9b6c3">EmailSender::GetResponse</a>(<a class="code" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml">TCPInterface</a> *tcpInterface, <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;emailServer, <span class="keywordtype">bool</span> doPrintf)</div>
<div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160;{</div>
<div class="line"><a name="l00327"></a><span class="lineno"> 327</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.">SLNet::Packet</a> *packet;</div>
<div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a26b4eb1be8467562f791e3c5af4a67ae">SLNet::TimeMS</a> timeout;</div>
<div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160; timeout= <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a4772a177cb3fcb5d9e699a6670c3fb8a">SLNet::GetTimeMS</a>()+5000;</div>
<div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160; <span class="keywordflow">for</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="keywordflow">if</span> (tcpInterface-&gt;<a class="code" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml#a0eb90925c3a0ae42d00019214446fb97" title="Queued events of lost connections.">HasLostConnection</a>()==emailServer)</div>
<div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;Connection to server lost.&quot;</span>;</div>
<div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160; packet = tcpInterface-&gt;<a class="code" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml#a71c601f7df74b40aae954757c7724ca9" title="Returns data received.">Receive</a>();</div>
<div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160; <span class="keywordflow">if</span> (packet)</div>
<div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160; {</div>
<div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160; <span class="keywordflow">if</span> (doPrintf)</div>
<div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160; {</div>
<div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160; <a class="code" href="../../d8/db0/defines_8h.xhtml#a2a5d867f7ae6521f217847a78f17ab4a">RAKNET_DEBUG_PRINTF</a>(<span class="stringliteral">&quot;%s&quot;</span>, packet-&gt;<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#aff6d115daef2787d582f9a20efd64fc0" title="The data from the sender.">data</a>);</div>
<div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; }</div>
<div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160;<span class="preprocessor">#if OPEN_SSL_CLIENT_SUPPORT==1</span></div>
<div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160;<span class="preprocessor"></span> <span class="keywordflow">if</span> (strstr((<span class="keyword">const</span> <span class="keywordtype">char</span>*)packet-&gt;<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#aff6d115daef2787d582f9a20efd64fc0" title="The data from the sender.">data</a>, <span class="stringliteral">&quot;220&quot;</span>))</div>
<div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; {</div>
<div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; tcpInterface-&gt;StartSSLClient(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="l00345"></a><span class="lineno"> 345</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;AUTHENTICATE&quot;</span>; <span class="comment">// OK</span></div>
<div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160; }</div>
<div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160;<span class="comment">// if (strstr((const char*)packet-&gt;data, &quot;250-AUTH LOGIN PLAIN&quot;))</span></div>
<div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160;<span class="comment">// {</span></div>
<div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160;<span class="comment">// tcpInterface-&gt;StartSSLClient(packet-&gt;systemAddress);</span></div>
<div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160;<span class="comment">// return &quot;AUTHENTICATE&quot;; // OK</span></div>
<div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160;<span class="comment">// }</span></div>
<div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160;<span class="preprocessor"></span> <span class="keywordflow">if</span> (strstr((<span class="keyword">const</span> <span class="keywordtype">char</span>*)packet-&gt;<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#aff6d115daef2787d582f9a20efd64fc0" title="The data from the sender.">data</a>, <span class="stringliteral">&quot;235&quot;</span>))</div>
<div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160; <span class="keywordflow">return</span> 0; <span class="comment">// Authentication accepted</span></div>
<div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160; <span class="keywordflow">if</span> (strstr((<span class="keyword">const</span> <span class="keywordtype">char</span>*)packet-&gt;<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#aff6d115daef2787d582f9a20efd64fc0" title="The data from the sender.">data</a>, <span class="stringliteral">&quot;354&quot;</span>))</div>
<div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160; <span class="keywordflow">return</span> 0; <span class="comment">// Go ahead</span></div>
<div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160;<span class="preprocessor">#if OPEN_SSL_CLIENT_SUPPORT==1</span></div>
<div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160;<span class="preprocessor"></span> <span class="keywordflow">if</span> (strstr((<span class="keyword">const</span> <span class="keywordtype">char</span>*)packet-&gt;<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#aff6d115daef2787d582f9a20efd64fc0" title="The data from the sender.">data</a>, <span class="stringliteral">&quot;250-STARTTLS&quot;</span>))</div>
<div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160; {</div>
<div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160; tcpInterface-&gt;<a class="code" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml#a6a2bf12f77233eec447a6496730286e7" title="Sends a byte stream.">Send</a>(<span class="stringliteral">&quot;STARTTLS\r\n&quot;</span>, (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>) strlen(<span class="stringliteral">&quot;STARTTLS\r\n&quot;</span>), packet-&gt;<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a5c9d18515892239712a5d8fcb46c4245" title="The system that send this packet.">systemAddress</a>, <span class="keyword">false</span>);</div>
<div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;CONTINUE&quot;</span>;</div>
<div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160; }</div>
<div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160;<span class="preprocessor"></span> <span class="keywordflow">if</span> (strstr((<span class="keyword">const</span> <span class="keywordtype">char</span>*)packet-&gt;<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#aff6d115daef2787d582f9a20efd64fc0" title="The data from the sender.">data</a>, <span class="stringliteral">&quot;250&quot;</span>))</div>
<div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160; <span class="keywordflow">return</span> 0; <span class="comment">// OK</span></div>
<div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160; <span class="keywordflow">if</span> (strstr((<span class="keyword">const</span> <span class="keywordtype">char</span>*)packet-&gt;<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#aff6d115daef2787d582f9a20efd64fc0" title="The data from the sender.">data</a>, <span class="stringliteral">&quot;550&quot;</span>))</div>
<div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;Failed on error code 550&quot;</span>;</div>
<div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160; <span class="keywordflow">if</span> (strstr((<span class="keyword">const</span> <span class="keywordtype">char</span>*)packet-&gt;<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#aff6d115daef2787d582f9a20efd64fc0" title="The data from the sender.">data</a>, <span class="stringliteral">&quot;553&quot;</span>))</div>
<div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;Failed on error code 553&quot;</span>;</div>
<div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; }</div>
<div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a4772a177cb3fcb5d9e699a6670c3fb8a">SLNet::GetTimeMS</a>() &gt; timeout)</div>
<div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;Timed out&quot;</span>;</div>
<div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160; <a class="code" href="../../df/d30/_rak_sleep_8cpp.xhtml#a5b4f72ab4031078e87f5ed1b6828e1c7">RakSleep</a>(100);</div>
<div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; }</div>
<div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160;}</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;</div>
<div class="line"><a name="l00378"></a><span class="lineno"> 378</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="../../d4/dad/_email_sender_8cpp.xhtml">EmailSender.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,52 @@
var group___r_p_c___p_l_u_g_i_n___g_r_o_u_p =
[
[ "RPC4", "d4/db4/group___r_p_c___p_l_u_g_i_n___g_r_o_u_p.xhtml#de/d58/class_s_l_net_1_1_r_p_c4", [
[ "RPC4", "d4/db4/group___r_p_c___p_l_u_g_i_n___g_r_o_u_p.xhtml#a8cf7fc7da3d60685da38f0e9fba2b506", null ],
[ "~RPC4", "d4/db4/group___r_p_c___p_l_u_g_i_n___g_r_o_u_p.xhtml#acf17a28094d0763464b43b3d8df7428c", null ],
[ "Call", "d4/db4/group___r_p_c___p_l_u_g_i_n___g_r_o_u_p.xhtml#a1614d680409aa30ea7c79112ad9a6877", null ],
[ "CallBlocking", "d4/db4/group___r_p_c___p_l_u_g_i_n___g_r_o_u_p.xhtml#a417b68c1979b3948a568c57d6cdf7d24", null ],
[ "CallLoopback", "d4/db4/group___r_p_c___p_l_u_g_i_n___g_r_o_u_p.xhtml#a09dc786630a940baae7166f49823ee7f", null ],
[ "GetLocalSlotIndex", "d4/db4/group___r_p_c___p_l_u_g_i_n___g_r_o_u_p.xhtml#a99b121d95631c2b115d924301ef0f2db", null ],
[ "InterruptSignal", "d4/db4/group___r_p_c___p_l_u_g_i_n___g_r_o_u_p.xhtml#ad80d046f69c427b68e7d087a4409a2b8", null ],
[ "InvokeSignal", "d4/db4/group___r_p_c___p_l_u_g_i_n___g_r_o_u_p.xhtml#a6ac33fb920cab36b21a2ceb58f91d4dc", null ],
[ "LocalCallbackComp", "d4/db4/group___r_p_c___p_l_u_g_i_n___g_r_o_u_p.xhtml#aeaa88b77476e12830903a7962be1458a", null ],
[ "LocalSlotObjectComp", "d4/db4/group___r_p_c___p_l_u_g_i_n___g_r_o_u_p.xhtml#abe1b27195128d90fb4fbf3a4b96fabe8", null ],
[ "OnAttach", "d4/db4/group___r_p_c___p_l_u_g_i_n___g_r_o_u_p.xhtml#aaa352dac20c481024c71b96ac8e98f39", null ],
[ "OnReceive", "d4/db4/group___r_p_c___p_l_u_g_i_n___g_r_o_u_p.xhtml#aacbb8dd9ddba653c9df0f8ad8f154f78", null ],
[ "RegisterBlockingFunction", "d4/db4/group___r_p_c___p_l_u_g_i_n___g_r_o_u_p.xhtml#ad3b069b947e161794586f7b5c7addf00", null ],
[ "RegisterFunction", "d4/db4/group___r_p_c___p_l_u_g_i_n___g_r_o_u_p.xhtml#a76d4f1373c622cf1a1d2c6b2bda30fd5", null ],
[ "RegisterLocalCallback", "d4/db4/group___r_p_c___p_l_u_g_i_n___g_r_o_u_p.xhtml#a508f3a63f49f9b76f55cae0dceb9fd21", null ],
[ "RegisterSlot", "d4/db4/group___r_p_c___p_l_u_g_i_n___g_r_o_u_p.xhtml#a08c1f1cde743bf2e8dbb2eea2031e9ab", null ],
[ "Signal", "d4/db4/group___r_p_c___p_l_u_g_i_n___g_r_o_u_p.xhtml#a60623a6701a366548a94000f5c656a26", null ],
[ "UnregisterBlockingFunction", "d4/db4/group___r_p_c___p_l_u_g_i_n___g_r_o_u_p.xhtml#afdb98185e7eb00039ccec299fcf48181", null ],
[ "UnregisterFunction", "d4/db4/group___r_p_c___p_l_u_g_i_n___g_r_o_u_p.xhtml#a7b44e827b381d406b9889b756019bc87", null ],
[ "UnregisterLocalCallback", "d4/db4/group___r_p_c___p_l_u_g_i_n___g_r_o_u_p.xhtml#a3c8b7eb5242eb1b2acf428b5bc338b09", null ],
[ "UnregisterSlot", "d4/db4/group___r_p_c___p_l_u_g_i_n___g_r_o_u_p.xhtml#a766fec24de630fcc714f0d5b3431821c", null ],
[ "blockingReturnValue", "d4/db4/group___r_p_c___p_l_u_g_i_n___g_r_o_u_p.xhtml#ada24147085c7bdf3612df36348863c39", null ],
[ "gotBlockingReturnValue", "d4/db4/group___r_p_c___p_l_u_g_i_n___g_r_o_u_p.xhtml#a42c6def740ccc00e4e43d3654ec91aa8", null ],
[ "interruptSignal", "d4/db4/group___r_p_c___p_l_u_g_i_n___g_r_o_u_p.xhtml#a11e089e6f6518965d73bef62ed54b70a", null ],
[ "localCallbacks", "d4/db4/group___r_p_c___p_l_u_g_i_n___g_r_o_u_p.xhtml#a3d27be774422190974d5fe9bffe3f7a1", null ],
[ "localSlots", "d4/db4/group___r_p_c___p_l_u_g_i_n___g_r_o_u_p.xhtml#a668b14b2e79ab303943992d4c52881aa", null ],
[ "nextSlotRegistrationCount", "d4/db4/group___r_p_c___p_l_u_g_i_n___g_r_o_u_p.xhtml#a13e1e510840bb04488c9d65c367872ac", null ],
[ "registeredBlockingFunctions", "d4/db4/group___r_p_c___p_l_u_g_i_n___g_r_o_u_p.xhtml#a521111ffd556bddcf29ae207187063b6", null ],
[ "registeredNonblockingFunctions", "d4/db4/group___r_p_c___p_l_u_g_i_n___g_r_o_u_p.xhtml#a931e229b11729ab1d674aff512092d6e", null ]
] ],
[ "LocalCallback", "d4/db4/group___r_p_c___p_l_u_g_i_n___g_r_o_u_p.xhtml#d2/d7d/struct_s_l_net_1_1_r_p_c4_1_1_local_callback", [
[ "functions", "d4/db4/group___r_p_c___p_l_u_g_i_n___g_r_o_u_p.xhtml#aff897330f1bba23b9250b2d00a41f79e", null ],
[ "messageId", "d4/db4/group___r_p_c___p_l_u_g_i_n___g_r_o_u_p.xhtml#ab3f0bb19b886c587d873d8e4eecbeb4e", null ]
] ],
[ "LocalSlot", "d4/db4/group___r_p_c___p_l_u_g_i_n___g_r_o_u_p.xhtml#d3/d5e/struct_s_l_net_1_1_r_p_c4_1_1_local_slot", [
[ "slotObjects", "d4/db4/group___r_p_c___p_l_u_g_i_n___g_r_o_u_p.xhtml#a75d9d2c343ebe27effb3cfd12664cbbd", null ]
] ],
[ "LocalSlotObject", "d4/db4/group___r_p_c___p_l_u_g_i_n___g_r_o_u_p.xhtml#d1/d96/struct_s_l_net_1_1_r_p_c4_1_1_local_slot_object", [
[ "LocalSlotObject", "d4/db4/group___r_p_c___p_l_u_g_i_n___g_r_o_u_p.xhtml#a34d0ed981e4c752ed90459f08dade1c3", null ],
[ "LocalSlotObject", "d4/db4/group___r_p_c___p_l_u_g_i_n___g_r_o_u_p.xhtml#af27181d8f354d4406ac97634243d4df0", null ],
[ "~LocalSlotObject", "d4/db4/group___r_p_c___p_l_u_g_i_n___g_r_o_u_p.xhtml#a4a7ee5ff9e405df8db81a7588d535ff0", null ],
[ "callPriority", "d4/db4/group___r_p_c___p_l_u_g_i_n___g_r_o_u_p.xhtml#af39cc842a62602104020c493deacf49f", null ],
[ "functionPointer", "d4/db4/group___r_p_c___p_l_u_g_i_n___g_r_o_u_p.xhtml#a6f7216b704882f40e886cf295b8f1211", null ],
[ "registrationCount", "d4/db4/group___r_p_c___p_l_u_g_i_n___g_r_o_u_p.xhtml#aea190ff9fe91060e1c3b0fb4807bb28e", null ]
] ],
[ "RPCErrorCodes", "d4/db4/group___r_p_c___p_l_u_g_i_n___g_r_o_u_p.xhtml#gaf57aae36449dec5f2df3be031e658dc9", [
[ "RPC_ERROR_FUNCTION_NOT_REGISTERED", "d4/db4/group___r_p_c___p_l_u_g_i_n___g_r_o_u_p.xhtml#ggaf57aae36449dec5f2df3be031e658dc9a1407810710bd678545cbe27c91263530", null ]
] ]
];

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,3 @@
<map id="RNS2_Windows_Linux_360" name="RNS2_Windows_Linux_360">
<area shape="rect" id="node2" href="$d1/da2/class_s_l_net_1_1_r_n_s2___linux.xhtml" title="{SLNet::RNS2_Linux\n||+ Bind()\l+ Send()\l+ GetMyIP()\l# GetMyIPIPV4()\l# GetMyIPIPV4And6()\l}" alt="" coords="21,131,172,267"/>
</map>

View File

@ -0,0 +1 @@
d8d8ba7af9a69625888cd544b5da4ec0

View File

@ -0,0 +1,42 @@
<?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: RNS2_Windows_Linux_360 Pages: 1 -->
<svg width="145pt" height="204pt"
viewBox="0.00 0.00 145.00 204.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 200)">
<title>RNS2_Windows_Linux_360</title>
<!-- Node1 -->
<g id="node1" class="node"><title>Node1</title>
<polygon fill="#bfbfbf" stroke="black" points="0,-138.5 0,-195.5 137,-195.5 137,-138.5 0,-138.5"/>
<text text-anchor="middle" x="68.5" y="-183.5" font-family="Helvetica,sans-Serif" font-size="10.00">RNS2_Windows_Linux_360</text>
<polyline fill="none" stroke="black" points="0,-176.5 137,-176.5 "/>
<text text-anchor="middle" x="68.5" y="-164.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
<polyline fill="none" stroke="black" points="0,-157.5 137,-157.5 "/>
<text text-anchor="middle" x="68.5" y="-145.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
</g>
<!-- Node2 -->
<g id="node2" class="node"><title>Node2</title>
<g id="a_node2"><a xlink:href="../../d1/da2/class_s_l_net_1_1_r_n_s2___linux.xhtml" target="_top" xlink:title="{SLNet::RNS2_Linux\n||+ Bind()\l+ Send()\l+ GetMyIP()\l# GetMyIPIPV4()\l# GetMyIPIPV4And6()\l}">
<polygon fill="none" stroke="black" points="12,-0.5 12,-101.5 125,-101.5 125,-0.5 12,-0.5"/>
<text text-anchor="middle" x="68.5" y="-89.5" font-family="Helvetica,sans-Serif" font-size="10.00">SLNet::RNS2_Linux</text>
<polyline fill="none" stroke="black" points="12,-82.5 125,-82.5 "/>
<text text-anchor="middle" x="68.5" y="-70.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
<polyline fill="none" stroke="black" points="12,-63.5 125,-63.5 "/>
<text text-anchor="start" x="20" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Bind()</text>
<text text-anchor="start" x="20" y="-40.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Send()</text>
<text text-anchor="start" x="20" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetMyIP()</text>
<text text-anchor="start" x="20" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00"># GetMyIPIPV4()</text>
<text text-anchor="start" x="20" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00"># GetMyIPIPV4And6()</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="M68.5,-128.354C68.5,-119.796 68.5,-110.578 68.5,-101.608"/>
<polygon fill="none" stroke="midnightblue" points="65.0001,-128.404 68.5,-138.404 72.0001,-128.404 65.0001,-128.404"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.8 KiB

View File

@ -0,0 +1,17 @@
var class_data_structures_1_1_byte_queue =
[
[ "ByteQueue", "d4/dbb/class_data_structures_1_1_byte_queue.xhtml#af46e9094a8848eae05dd05faa18c7cf8", null ],
[ "~ByteQueue", "d4/dbb/class_data_structures_1_1_byte_queue.xhtml#a0c6dce34c8c4c7838f94917ed8911df6", null ],
[ "Clear", "d4/dbb/class_data_structures_1_1_byte_queue.xhtml#ad004a0f4a6a25c3160ad53f3d7c94844", null ],
[ "DecrementReadOffset", "d4/dbb/class_data_structures_1_1_byte_queue.xhtml#a08a5b33591cbc886c03151f66ce76c56", null ],
[ "GetBytesWritten", "d4/dbb/class_data_structures_1_1_byte_queue.xhtml#a27afa634c492ddbe9f53104fbe6cf273", null ],
[ "IncrementReadOffset", "d4/dbb/class_data_structures_1_1_byte_queue.xhtml#ac24da4177978aa25555221945bbd2c9c", null ],
[ "PeekContiguousBytes", "d4/dbb/class_data_structures_1_1_byte_queue.xhtml#a4177cc9da786255b1ec20fa0aefc0c54", null ],
[ "Print", "d4/dbb/class_data_structures_1_1_byte_queue.xhtml#a91a75c2b8b9261326357f291dd241d7c", null ],
[ "ReadBytes", "d4/dbb/class_data_structures_1_1_byte_queue.xhtml#ac0c658c8f766e2c6dbb02c610d31f582", null ],
[ "WriteBytes", "d4/dbb/class_data_structures_1_1_byte_queue.xhtml#a0db56ed238c4a8e1dcbf1a9112a4c159", null ],
[ "data", "d4/dbb/class_data_structures_1_1_byte_queue.xhtml#a28ba1ed7479ae358be3a59745919a75e", null ],
[ "lengthAllocated", "d4/dbb/class_data_structures_1_1_byte_queue.xhtml#a58bf3cbb92ffd26a9466abb668e14f00", null ],
[ "readOffset", "d4/dbb/class_data_structures_1_1_byte_queue.xhtml#aca87a2d80232d16183e0f3df6ac05f45", null ],
[ "writeOffset", "d4/dbb/class_data_structures_1_1_byte_queue.xhtml#a85f8fee5b33abdd82ee1a6251adbaf58", null ]
];

View File

@ -0,0 +1,522 @@
<!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: DataStructures::ByteQueue 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('d4/dbb/class_data_structures_1_1_byte_queue.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="#pro-attribs">Protected Attributes</a> &#124;
<a href="../../d9/d9a/class_data_structures_1_1_byte_queue-members.xhtml">List of all members</a> </div>
<div class="headertitle">
<div class="title">DataStructures::ByteQueue Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><code>#include &lt;<a class="el" href="../../d4/dc3/_d_s___byte_queue_8h_source.xhtml">slikenet/DS_ByteQueue.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:af46e9094a8848eae05dd05faa18c7cf8"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#af46e9094a8848eae05dd05faa18c7cf8">ByteQueue</a> ()</td></tr>
<tr class="separator:af46e9094a8848eae05dd05faa18c7cf8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0c6dce34c8c4c7838f94917ed8911df6"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#a0c6dce34c8c4c7838f94917ed8911df6">~ByteQueue</a> ()</td></tr>
<tr class="separator:a0c6dce34c8c4c7838f94917ed8911df6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0db56ed238c4a8e1dcbf1a9112a4c159"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#a0db56ed238c4a8e1dcbf1a9112a4c159">WriteBytes</a> (const char *in, unsigned length, const char *file, unsigned int line)</td></tr>
<tr class="separator:a0db56ed238c4a8e1dcbf1a9112a4c159"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac0c658c8f766e2c6dbb02c610d31f582"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#ac0c658c8f766e2c6dbb02c610d31f582">ReadBytes</a> (char *out, unsigned maxLengthToRead, bool peek)</td></tr>
<tr class="separator:ac0c658c8f766e2c6dbb02c610d31f582"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a27afa634c492ddbe9f53104fbe6cf273"><td class="memItemLeft" align="right" valign="top">unsigned&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#a27afa634c492ddbe9f53104fbe6cf273">GetBytesWritten</a> (void) const </td></tr>
<tr class="separator:a27afa634c492ddbe9f53104fbe6cf273"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4177cc9da786255b1ec20fa0aefc0c54"><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#a4177cc9da786255b1ec20fa0aefc0c54">PeekContiguousBytes</a> (unsigned int *outLength) const </td></tr>
<tr class="separator:a4177cc9da786255b1ec20fa0aefc0c54"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac24da4177978aa25555221945bbd2c9c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#ac24da4177978aa25555221945bbd2c9c">IncrementReadOffset</a> (unsigned length)</td></tr>
<tr class="separator:ac24da4177978aa25555221945bbd2c9c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a08a5b33591cbc886c03151f66ce76c56"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#a08a5b33591cbc886c03151f66ce76c56">DecrementReadOffset</a> (unsigned length)</td></tr>
<tr class="separator:a08a5b33591cbc886c03151f66ce76c56"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad004a0f4a6a25c3160ad53f3d7c94844"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#ad004a0f4a6a25c3160ad53f3d7c94844">Clear</a> (const char *file, unsigned int line)</td></tr>
<tr class="separator:ad004a0f4a6a25c3160ad53f3d7c94844"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a91a75c2b8b9261326357f291dd241d7c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#a91a75c2b8b9261326357f291dd241d7c">Print</a> (void)</td></tr>
<tr class="separator:a91a75c2b8b9261326357f291dd241d7c"><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:a28ba1ed7479ae358be3a59745919a75e"><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#a28ba1ed7479ae358be3a59745919a75e">data</a></td></tr>
<tr class="separator:a28ba1ed7479ae358be3a59745919a75e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aca87a2d80232d16183e0f3df6ac05f45"><td class="memItemLeft" align="right" valign="top">unsigned&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#aca87a2d80232d16183e0f3df6ac05f45">readOffset</a></td></tr>
<tr class="separator:aca87a2d80232d16183e0f3df6ac05f45"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a85f8fee5b33abdd82ee1a6251adbaf58"><td class="memItemLeft" align="right" valign="top">unsigned&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#a85f8fee5b33abdd82ee1a6251adbaf58">writeOffset</a></td></tr>
<tr class="separator:a85f8fee5b33abdd82ee1a6251adbaf58"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a58bf3cbb92ffd26a9466abb668e14f00"><td class="memItemLeft" align="right" valign="top">unsigned&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#a58bf3cbb92ffd26a9466abb668e14f00">lengthAllocated</a></td></tr>
<tr class="separator:a58bf3cbb92ffd26a9466abb668e14f00"><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="../../d4/dc3/_d_s___byte_queue_8h_source.xhtml#l00032">32</a> of file <a class="el" href="../../d4/dc3/_d_s___byte_queue_8h_source.xhtml">DS_ByteQueue.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="af46e9094a8848eae05dd05faa18c7cf8"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ByteQueue::ByteQueue </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="../../d7/d26/_d_s___byte_queue_8cpp_source.xhtml#l00024">24</a> of file <a class="el" href="../../d7/d26/_d_s___byte_queue_8cpp_source.xhtml">DS_ByteQueue.cpp</a>.</p>
<p>References <a class="el" href="../../d4/dc3/_d_s___byte_queue_8h_source.xhtml#l00047">data</a>, <a class="el" href="../../d4/dc3/_d_s___byte_queue_8h_source.xhtml#l00048">lengthAllocated</a>, <a class="el" href="../../d4/dc3/_d_s___byte_queue_8h_source.xhtml#l00048">readOffset</a>, and <a class="el" href="../../d4/dc3/_d_s___byte_queue_8h_source.xhtml#l00048">writeOffset</a>.</p>
</div>
</div>
<a class="anchor" id="a0c6dce34c8c4c7838f94917ed8911df6"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ByteQueue::~ByteQueue </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="../../d7/d26/_d_s___byte_queue_8cpp_source.xhtml#l00029">29</a> of file <a class="el" href="../../d7/d26/_d_s___byte_queue_8cpp_source.xhtml">DS_ByteQueue.cpp</a>.</p>
<p>References <a class="el" href="../../d8/db0/defines_8h_source.xhtml#l00047">_FILE_AND_LINE_</a>, and <a class="el" href="../../d7/d26/_d_s___byte_queue_8cpp_source.xhtml#l00111">Clear()</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="ad004a0f4a6a25c3160ad53f3d7c94844"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ByteQueue::Clear </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>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d7/d26/_d_s___byte_queue_8cpp_source.xhtml#l00111">111</a> of file <a class="el" href="../../d7/d26/_d_s___byte_queue_8cpp_source.xhtml">DS_ByteQueue.cpp</a>.</p>
<p>References <a class="el" href="../../d4/dc3/_d_s___byte_queue_8h_source.xhtml#l00047">data</a>, <a class="el" href="../../d4/dc3/_d_s___byte_queue_8h_source.xhtml#l00048">lengthAllocated</a>, <a class="el" href="../../d9/d4c/_rak_memory_override_8cpp_source.xhtml#l00064">rakFree_Ex</a>, <a class="el" href="../../d4/dc3/_d_s___byte_queue_8h_source.xhtml#l00048">readOffset</a>, and <a class="el" href="../../d4/dc3/_d_s___byte_queue_8h_source.xhtml#l00048">writeOffset</a>.</p>
<p>Referenced by <a class="el" href="../../de/dd1/_t_c_p_interface_8h_source.xhtml#l00253">SLNet::RemoteClient::Reset()</a>, and <a class="el" href="../../d7/d26/_d_s___byte_queue_8cpp_source.xhtml#l00029">~ByteQueue()</a>.</p>
</div>
</div>
<a class="anchor" id="a08a5b33591cbc886c03151f66ce76c56"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ByteQueue::DecrementReadOffset </td>
<td>(</td>
<td class="paramtype">unsigned&#160;</td>
<td class="paramname"><em>length</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d7/d26/_d_s___byte_queue_8cpp_source.xhtml#l00129">129</a> of file <a class="el" href="../../d7/d26/_d_s___byte_queue_8cpp_source.xhtml">DS_ByteQueue.cpp</a>.</p>
<p>References <a class="el" href="../../d4/dc3/_d_s___byte_queue_8h_source.xhtml#l00048">lengthAllocated</a>, and <a class="el" href="../../d4/dc3/_d_s___byte_queue_8h_source.xhtml#l00048">readOffset</a>.</p>
</div>
</div>
<a class="anchor" id="a27afa634c492ddbe9f53104fbe6cf273"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">unsigned ByteQueue::GetBytesWritten </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d7/d26/_d_s___byte_queue_8cpp_source.xhtml#l00118">118</a> of file <a class="el" href="../../d7/d26/_d_s___byte_queue_8cpp_source.xhtml">DS_ByteQueue.cpp</a>.</p>
<p>References <a class="el" href="../../d4/dc3/_d_s___byte_queue_8h_source.xhtml#l00048">lengthAllocated</a>, <a class="el" href="../../d4/dc3/_d_s___byte_queue_8h_source.xhtml#l00048">readOffset</a>, and <a class="el" href="../../d4/dc3/_d_s___byte_queue_8h_source.xhtml#l00048">writeOffset</a>.</p>
<p>Referenced by <a class="el" href="../../d7/d26/_d_s___byte_queue_8cpp_source.xhtml#l00074">ReadBytes()</a>, and <a class="el" href="../../d7/d26/_d_s___byte_queue_8cpp_source.xhtml#l00035">WriteBytes()</a>.</p>
</div>
</div>
<a class="anchor" id="ac24da4177978aa25555221945bbd2c9c"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ByteQueue::IncrementReadOffset </td>
<td>(</td>
<td class="paramtype">unsigned&#160;</td>
<td class="paramname"><em>length</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d7/d26/_d_s___byte_queue_8cpp_source.xhtml#l00125">125</a> of file <a class="el" href="../../d7/d26/_d_s___byte_queue_8cpp_source.xhtml">DS_ByteQueue.cpp</a>.</p>
<p>References <a class="el" href="../../d4/dc3/_d_s___byte_queue_8h_source.xhtml#l00048">lengthAllocated</a>, and <a class="el" href="../../d4/dc3/_d_s___byte_queue_8h_source.xhtml#l00048">readOffset</a>.</p>
<p>Referenced by <a class="el" href="../../d7/d26/_d_s___byte_queue_8cpp_source.xhtml#l00074">ReadBytes()</a>.</p>
</div>
</div>
<a class="anchor" id="a4177cc9da786255b1ec20fa0aefc0c54"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">char * ByteQueue::PeekContiguousBytes </td>
<td>(</td>
<td class="paramtype">unsigned int *&#160;</td>
<td class="paramname"><em>outLength</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d7/d26/_d_s___byte_queue_8cpp_source.xhtml#l00103">103</a> of file <a class="el" href="../../d7/d26/_d_s___byte_queue_8cpp_source.xhtml">DS_ByteQueue.cpp</a>.</p>
<p>References <a class="el" href="../../d4/dc3/_d_s___byte_queue_8h_source.xhtml#l00047">data</a>, <a class="el" href="../../d4/dc3/_d_s___byte_queue_8h_source.xhtml#l00048">lengthAllocated</a>, <a class="el" href="../../d4/dc3/_d_s___byte_queue_8h_source.xhtml#l00048">readOffset</a>, and <a class="el" href="../../d4/dc3/_d_s___byte_queue_8h_source.xhtml#l00048">writeOffset</a>.</p>
</div>
</div>
<a class="anchor" id="a91a75c2b8b9261326357f291dd241d7c"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ByteQueue::Print </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="../../d7/d26/_d_s___byte_queue_8cpp_source.xhtml#l00136">136</a> of file <a class="el" href="../../d7/d26/_d_s___byte_queue_8cpp_source.xhtml">DS_ByteQueue.cpp</a>.</p>
<p>References <a class="el" href="../../d4/dc3/_d_s___byte_queue_8h_source.xhtml#l00047">data</a>, <a class="el" href="../../d8/db0/defines_8h_source.xhtml#l00098">RAKNET_DEBUG_PRINTF</a>, <a class="el" href="../../d4/dc3/_d_s___byte_queue_8h_source.xhtml#l00048">readOffset</a>, and <a class="el" href="../../d4/dc3/_d_s___byte_queue_8h_source.xhtml#l00048">writeOffset</a>.</p>
</div>
</div>
<a class="anchor" id="ac0c658c8f766e2c6dbb02c610d31f582"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ByteQueue::ReadBytes </td>
<td>(</td>
<td class="paramtype">char *&#160;</td>
<td class="paramname"><em>out</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned&#160;</td>
<td class="paramname"><em>maxLengthToRead</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>peek</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="../../d7/d26/_d_s___byte_queue_8cpp_source.xhtml#l00074">74</a> of file <a class="el" href="../../d7/d26/_d_s___byte_queue_8cpp_source.xhtml">DS_ByteQueue.cpp</a>.</p>
<p>References <a class="el" href="../../d4/dc3/_d_s___byte_queue_8h_source.xhtml#l00047">data</a>, <a class="el" href="../../d7/d26/_d_s___byte_queue_8cpp_source.xhtml#l00118">GetBytesWritten()</a>, <a class="el" href="../../d7/d26/_d_s___byte_queue_8cpp_source.xhtml#l00125">IncrementReadOffset()</a>, <a class="el" href="../../d4/dc3/_d_s___byte_queue_8h_source.xhtml#l00048">lengthAllocated</a>, <a class="el" href="../../d4/dc3/_d_s___byte_queue_8h_source.xhtml#l00048">readOffset</a>, and <a class="el" href="../../d4/dc3/_d_s___byte_queue_8h_source.xhtml#l00048">writeOffset</a>.</p>
</div>
</div>
<a class="anchor" id="a0db56ed238c4a8e1dcbf1a9112a4c159"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ByteQueue::WriteBytes </td>
<td>(</td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>in</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned&#160;</td>
<td class="paramname"><em>length</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>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d7/d26/_d_s___byte_queue_8cpp_source.xhtml#l00035">35</a> of file <a class="el" href="../../d7/d26/_d_s___byte_queue_8cpp_source.xhtml">DS_ByteQueue.cpp</a>.</p>
<p>References <a class="el" href="../../d4/dc3/_d_s___byte_queue_8h_source.xhtml#l00047">data</a>, <a class="el" href="../../d7/d26/_d_s___byte_queue_8cpp_source.xhtml#l00118">GetBytesWritten()</a>, <a class="el" href="../../d4/dc3/_d_s___byte_queue_8h_source.xhtml#l00048">lengthAllocated</a>, <a class="el" href="../../d9/d4c/_rak_memory_override_8cpp_source.xhtml#l00063">rakRealloc_Ex</a>, <a class="el" href="../../d4/dc3/_d_s___byte_queue_8h_source.xhtml#l00048">readOffset</a>, and <a class="el" href="../../d4/dc3/_d_s___byte_queue_8h_source.xhtml#l00048">writeOffset</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a class="anchor" id="a28ba1ed7479ae358be3a59745919a75e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">char* DataStructures::ByteQueue::data</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="../../d4/dc3/_d_s___byte_queue_8h_source.xhtml#l00047">47</a> of file <a class="el" href="../../d4/dc3/_d_s___byte_queue_8h_source.xhtml">DS_ByteQueue.h</a>.</p>
<p>Referenced by <a class="el" href="../../d7/d26/_d_s___byte_queue_8cpp_source.xhtml#l00024">ByteQueue()</a>, <a class="el" href="../../d7/d26/_d_s___byte_queue_8cpp_source.xhtml#l00111">Clear()</a>, <a class="el" href="../../d7/d26/_d_s___byte_queue_8cpp_source.xhtml#l00103">PeekContiguousBytes()</a>, <a class="el" href="../../d7/d26/_d_s___byte_queue_8cpp_source.xhtml#l00136">Print()</a>, <a class="el" href="../../d7/d26/_d_s___byte_queue_8cpp_source.xhtml#l00074">ReadBytes()</a>, and <a class="el" href="../../d7/d26/_d_s___byte_queue_8cpp_source.xhtml#l00035">WriteBytes()</a>.</p>
</div>
</div>
<a class="anchor" id="a58bf3cbb92ffd26a9466abb668e14f00"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">unsigned DataStructures::ByteQueue::lengthAllocated</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="../../d4/dc3/_d_s___byte_queue_8h_source.xhtml#l00048">48</a> of file <a class="el" href="../../d4/dc3/_d_s___byte_queue_8h_source.xhtml">DS_ByteQueue.h</a>.</p>
<p>Referenced by <a class="el" href="../../d7/d26/_d_s___byte_queue_8cpp_source.xhtml#l00024">ByteQueue()</a>, <a class="el" href="../../d7/d26/_d_s___byte_queue_8cpp_source.xhtml#l00111">Clear()</a>, <a class="el" href="../../d7/d26/_d_s___byte_queue_8cpp_source.xhtml#l00129">DecrementReadOffset()</a>, <a class="el" href="../../d7/d26/_d_s___byte_queue_8cpp_source.xhtml#l00118">GetBytesWritten()</a>, <a class="el" href="../../d7/d26/_d_s___byte_queue_8cpp_source.xhtml#l00125">IncrementReadOffset()</a>, <a class="el" href="../../d7/d26/_d_s___byte_queue_8cpp_source.xhtml#l00103">PeekContiguousBytes()</a>, <a class="el" href="../../d7/d26/_d_s___byte_queue_8cpp_source.xhtml#l00074">ReadBytes()</a>, and <a class="el" href="../../d7/d26/_d_s___byte_queue_8cpp_source.xhtml#l00035">WriteBytes()</a>.</p>
</div>
</div>
<a class="anchor" id="aca87a2d80232d16183e0f3df6ac05f45"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">unsigned DataStructures::ByteQueue::readOffset</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="../../d4/dc3/_d_s___byte_queue_8h_source.xhtml#l00048">48</a> of file <a class="el" href="../../d4/dc3/_d_s___byte_queue_8h_source.xhtml">DS_ByteQueue.h</a>.</p>
<p>Referenced by <a class="el" href="../../d7/d26/_d_s___byte_queue_8cpp_source.xhtml#l00024">ByteQueue()</a>, <a class="el" href="../../d7/d26/_d_s___byte_queue_8cpp_source.xhtml#l00111">Clear()</a>, <a class="el" href="../../d7/d26/_d_s___byte_queue_8cpp_source.xhtml#l00129">DecrementReadOffset()</a>, <a class="el" href="../../d7/d26/_d_s___byte_queue_8cpp_source.xhtml#l00118">GetBytesWritten()</a>, <a class="el" href="../../d7/d26/_d_s___byte_queue_8cpp_source.xhtml#l00125">IncrementReadOffset()</a>, <a class="el" href="../../d7/d26/_d_s___byte_queue_8cpp_source.xhtml#l00103">PeekContiguousBytes()</a>, <a class="el" href="../../d7/d26/_d_s___byte_queue_8cpp_source.xhtml#l00136">Print()</a>, <a class="el" href="../../d7/d26/_d_s___byte_queue_8cpp_source.xhtml#l00074">ReadBytes()</a>, and <a class="el" href="../../d7/d26/_d_s___byte_queue_8cpp_source.xhtml#l00035">WriteBytes()</a>.</p>
</div>
</div>
<a class="anchor" id="a85f8fee5b33abdd82ee1a6251adbaf58"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">unsigned DataStructures::ByteQueue::writeOffset</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="../../d4/dc3/_d_s___byte_queue_8h_source.xhtml#l00048">48</a> of file <a class="el" href="../../d4/dc3/_d_s___byte_queue_8h_source.xhtml">DS_ByteQueue.h</a>.</p>
<p>Referenced by <a class="el" href="../../d7/d26/_d_s___byte_queue_8cpp_source.xhtml#l00024">ByteQueue()</a>, <a class="el" href="../../d7/d26/_d_s___byte_queue_8cpp_source.xhtml#l00111">Clear()</a>, <a class="el" href="../../d7/d26/_d_s___byte_queue_8cpp_source.xhtml#l00118">GetBytesWritten()</a>, <a class="el" href="../../d7/d26/_d_s___byte_queue_8cpp_source.xhtml#l00103">PeekContiguousBytes()</a>, <a class="el" href="../../d7/d26/_d_s___byte_queue_8cpp_source.xhtml#l00136">Print()</a>, <a class="el" href="../../d7/d26/_d_s___byte_queue_8cpp_source.xhtml#l00074">ReadBytes()</a>, and <a class="el" href="../../d7/d26/_d_s___byte_queue_8cpp_source.xhtml#l00035">WriteBytes()</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="../../d4/dc3/_d_s___byte_queue_8h_source.xhtml">DS_ByteQueue.h</a></li>
<li>Source/src/<a class="el" href="../../d7/d26/_d_s___byte_queue_8cpp_source.xhtml">DS_ByteQueue.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="../../da/d80/namespace_data_structures.xhtml">DataStructures</a></li><li class="navelem"><a class="el" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml">ByteQueue</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,139 @@
<!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_ByteQueue.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('d4/dc3/_d_s___byte_queue_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_ByteQueue.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="../../db/dbd/_export_8h_source.xhtml">Export.h</a>&quot;</code><br/>
</div>
<p><a href="../../d4/dc3/_d_s___byte_queue_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="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml">DataStructures::ByteQueue</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:da/d80/namespace_data_structures"><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d80/namespace_data_structures.xhtml">DataStructures</a></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="../../d4/dc3/_d_s___byte_queue_8h.xhtml">DS_ByteQueue.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,167 @@
<!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_ByteQueue.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('d4/dc3/_d_s___byte_queue_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_ByteQueue.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="../../d4/dc3/_d_s___byte_queue_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;<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 __BYTE_QUEUE_H</span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define __BYTE_QUEUE_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;<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;</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="keyword">namespace </span>DataStructures</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="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml"> 32</a></span>&#160; <span class="keyword">class </span><a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml">ByteQueue</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; <span class="keyword">public</span>:</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; <a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#af46e9094a8848eae05dd05faa18c7cf8">ByteQueue</a>();</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; <a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#a0c6dce34c8c4c7838f94917ed8911df6">~ByteQueue</a>();</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; <span class="keywordtype">void</span> <a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#a0db56ed238c4a8e1dcbf1a9112a4c159">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="l00038"></a><span class="lineno"> 38</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#ac0c658c8f766e2c6dbb02c610d31f582">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="l00039"></a><span class="lineno"> 39</span>&#160; <span class="keywordtype">unsigned</span> <a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#a27afa634c492ddbe9f53104fbe6cf273">GetBytesWritten</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; <span class="keywordtype">char</span>* <a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#a4177cc9da786255b1ec20fa0aefc0c54">PeekContiguousBytes</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> *outLength) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; <span class="keywordtype">void</span> <a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#ac24da4177978aa25555221945bbd2c9c">IncrementReadOffset</a>(<span class="keywordtype">unsigned</span> length);</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; <span class="keywordtype">void</span> <a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#a08a5b33591cbc886c03151f66ce76c56">DecrementReadOffset</a>(<span class="keywordtype">unsigned</span> length);</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; <span class="keywordtype">void</span> <a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#ad004a0f4a6a25c3160ad53f3d7c94844">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="l00044"></a><span class="lineno"> 44</span>&#160; <span class="keywordtype">void</span> <a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#a91a75c2b8b9261326357f291dd241d7c">Print</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="l00046"></a><span class="lineno"> 46</span>&#160; <span class="keyword">protected</span>:</div>
<div class="line"><a name="l00047"></a><span class="lineno"><a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#a28ba1ed7479ae358be3a59745919a75e"> 47</a></span>&#160; <span class="keywordtype">char</span> *<a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#a28ba1ed7479ae358be3a59745919a75e">data</a>;</div>
<div class="line"><a name="l00048"></a><span class="lineno"><a class="code" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml#a85f8fee5b33abdd82ee1a6251adbaf58"> 48</a></span>&#160; <span class="keywordtype">unsigned</span> <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>;</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 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="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="../../d4/dc3/_d_s___byte_queue_8h.xhtml">DS_ByteQueue.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,7 @@
var _socket_includes_8h =
[
[ "_PP_Instance_", "d4/dc5/_socket_includes_8h.xhtml#afb515610f39898f2d6e545fe2f2f90ff", null ],
[ "closesocket", "d4/dc5/_socket_includes_8h.xhtml#afdbb9d84bd17efd2ae7290e664992c48", null ],
[ "__TCPSOCKET__", "d4/dc5/_socket_includes_8h.xhtml#a5aa1a1bddd045228f3a4935849eeb8a2", null ],
[ "__UDPSOCKET__", "d4/dc5/_socket_includes_8h.xhtml#ad31a77c59d4b8ba8cbd1eac64fbf89e8", null ]
];

View File

@ -0,0 +1,208 @@
<!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/SocketIncludes.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('d4/dc5/_socket_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="summary">
<a href="#define-members">Macros</a> &#124;
<a href="#typedef-members">Typedefs</a> </div>
<div class="headertitle">
<div class="title">SocketIncludes.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &lt;unistd.h&gt;</code><br/>
<code>#include &lt;sys/types.h&gt;</code><br/>
<code>#include &lt;sys/socket.h&gt;</code><br/>
<code>#include &lt;netinet/in.h&gt;</code><br/>
<code>#include &lt;arpa/inet.h&gt;</code><br/>
<code>#include &lt;fcntl.h&gt;</code><br/>
</div>
<p><a href="../../d4/dc5/_socket_includes_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:afb515610f39898f2d6e545fe2f2f90ff"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/dc5/_socket_includes_8h.xhtml#afb515610f39898f2d6e545fe2f2f90ff">_PP_Instance_</a>&#160;&#160;&#160;int</td></tr>
<tr class="separator:afb515610f39898f2d6e545fe2f2f90ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afdbb9d84bd17efd2ae7290e664992c48"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/dc5/_socket_includes_8h.xhtml#afdbb9d84bd17efd2ae7290e664992c48">closesocket</a>&#160;&#160;&#160;close</td></tr>
<tr class="separator:afdbb9d84bd17efd2ae7290e664992c48"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:ad31a77c59d4b8ba8cbd1eac64fbf89e8"><td class="memItemLeft" align="right" valign="top">typedef int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/dc5/_socket_includes_8h.xhtml#ad31a77c59d4b8ba8cbd1eac64fbf89e8">__UDPSOCKET__</a></td></tr>
<tr class="memdesc:ad31a77c59d4b8ba8cbd1eac64fbf89e8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Unix/Linux uses ints for sockets. <a href="#ad31a77c59d4b8ba8cbd1eac64fbf89e8"></a><br/></td></tr>
<tr class="separator:ad31a77c59d4b8ba8cbd1eac64fbf89e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5aa1a1bddd045228f3a4935849eeb8a2"><td class="memItemLeft" align="right" valign="top">typedef int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/dc5/_socket_includes_8h.xhtml#a5aa1a1bddd045228f3a4935849eeb8a2">__TCPSOCKET__</a></td></tr>
<tr class="separator:a5aa1a1bddd045228f3a4935849eeb8a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a class="anchor" id="afb515610f39898f2d6e545fe2f2f90ff"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define _PP_Instance_&#160;&#160;&#160;int</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d4/dc5/_socket_includes_8h_source.xhtml#l00019">19</a> of file <a class="el" href="../../d4/dc5/_socket_includes_8h_source.xhtml">SocketIncludes.h</a>.</p>
</div>
</div>
<a class="anchor" id="afdbb9d84bd17efd2ae7290e664992c48"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define closesocket&#160;&#160;&#160;close</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d4/dc5/_socket_includes_8h_source.xhtml#l00063">63</a> of file <a class="el" href="../../d4/dc5/_socket_includes_8h_source.xhtml">SocketIncludes.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Typedef Documentation</h2>
<a class="anchor" id="a5aa1a1bddd045228f3a4935849eeb8a2"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef int <a class="el" href="../../d4/dc5/_socket_includes_8h.xhtml#a5aa1a1bddd045228f3a4935849eeb8a2">__TCPSOCKET__</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d4/dc5/_socket_includes_8h_source.xhtml#l00103">103</a> of file <a class="el" href="../../d4/dc5/_socket_includes_8h_source.xhtml">SocketIncludes.h</a>.</p>
</div>
</div>
<a class="anchor" id="ad31a77c59d4b8ba8cbd1eac64fbf89e8"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef int <a class="el" href="../../d4/dc5/_socket_includes_8h.xhtml#ad31a77c59d4b8ba8cbd1eac64fbf89e8">__UDPSOCKET__</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Unix/Linux uses ints for sockets. </p>
<p>Definition at line <a class="el" href="../../d4/dc5/_socket_includes_8h_source.xhtml#l00102">102</a> of file <a class="el" href="../../d4/dc5/_socket_includes_8h_source.xhtml">SocketIncludes.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="../../d4/dc5/_socket_includes_8h.xhtml">SocketIncludes.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,228 @@
<!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/SocketIncludes.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('d4/dc5/_socket_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">SocketIncludes.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="../../d4/dc5/_socket_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.</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;<span class="comment"> * Modified work: Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)</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"> * This source code was modified by SLikeSoft. Modifications are licensed under the MIT-style</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</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="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 RAKNET_SOCKETINCLUDES_H</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define RAKNET_SOCKETINCLUDES_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">// All this crap just to include type SOCKET</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">#ifdef __native_client__</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define _PP_Instance_ PP_Instance</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#else</span></div>
<div class="line"><a name="l00019"></a><span class="lineno"><a class="code" href="../../d4/dc5/_socket_includes_8h.xhtml#afb515610f39898f2d6e545fe2f2f90ff"> 19</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define _PP_Instance_ int</span></div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</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;</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;<span class="preprocessor">#if defined(WINDOWS_STORE_RT)</span></div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;<span class="preprocessor"></span><span class="preprocessor"> #include &lt;windows.h&gt;</span></div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;<span class="preprocessor"> #include &quot;WinRTSockAddr.h&quot;</span></div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; <span class="keyword">typedef</span> Windows::Networking::Sockets::DatagramSocket^ <a class="code" href="../../d4/dc5/_socket_includes_8h.xhtml#ad31a77c59d4b8ba8cbd1eac64fbf89e8" title="Unix/Linux uses ints for sockets.">__UDPSOCKET__</a>;</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; <span class="keyword">typedef</span> Windows::Networking::Sockets::StreamSocket^ <a class="code" href="../../d4/dc5/_socket_includes_8h.xhtml#a5aa1a1bddd045228f3a4935849eeb8a2">__TCPSOCKET__</a>;</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> socklen_t;</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;<span class="preprocessor"> #define FORMAT_MESSAGE_ALLOCATE_BUFFER 0</span></div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;<span class="preprocessor"></span><span class="preprocessor"> #define FIONBIO 0</span></div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;<span class="preprocessor"></span><span class="preprocessor"> #define LocalFree(x)</span></div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;<span class="preprocessor"></span> <span class="comment">// using Windows.Networking;</span></div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <span class="comment">// using Windows.Networking.Sockets;</span></div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; <span class="comment">// See http://msdn.microsoft.com/en-us/library/windows/apps/windows.networking.sockets.datagramsocketcontrol</span></div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;<span class="preprocessor">#elif defined(_WIN32)</span></div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;<span class="preprocessor"></span> <span class="comment">// IP_DONTFRAGMENT is different between winsock 1 and winsock 2. Therefore, Winsock2.h must be linked againt Ws2_32.lib</span></div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <span class="comment">// winsock.h must be linked against WSock32.lib. If these two are mixed up the flag won&#39;t work correctly</span></div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <span class="comment">// WinRT: http://msdn.microsoft.com/en-us/library/windows/apps/windows.networking.sockets</span></div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; <span class="comment">// Sample code: http://stackoverflow.com/questions/10290945/correct-use-of-udp-datagramsocket</span></div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;<span class="preprocessor"> #include &lt;winsock2.h&gt;</span></div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <span class="keyword">typedef</span> SOCKET <a class="code" href="../../d4/dc5/_socket_includes_8h.xhtml#ad31a77c59d4b8ba8cbd1eac64fbf89e8" title="Unix/Linux uses ints for sockets.">__UDPSOCKET__</a>;</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <span class="keyword">typedef</span> SOCKET <a class="code" href="../../d4/dc5/_socket_includes_8h.xhtml#a5aa1a1bddd045228f3a4935849eeb8a2">__TCPSOCKET__</a>;</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <span class="keyword">typedef</span> <span class="keywordtype">int</span> socklen_t;</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;<span class="preprocessor">#else</span></div>
<div class="line"><a name="l00063"></a><span class="lineno"><a class="code" href="../../d4/dc5/_socket_includes_8h.xhtml#afdbb9d84bd17efd2ae7290e664992c48"> 63</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor"> #define closesocket close</span></div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;<span class="preprocessor"></span><span class="preprocessor"> #include &lt;unistd.h&gt;</span></div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;<span class="preprocessor"> #include &lt;sys/types.h&gt;</span></div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;<span class="preprocessor"> #include &lt;sys/socket.h&gt;</span></div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;<span class="preprocessor"> #include &lt;netinet/in.h&gt;</span></div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;<span class="preprocessor"> #include &lt;arpa/inet.h&gt;</span></div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;<span class="preprocessor"> #include &lt;unistd.h&gt;</span></div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;<span class="preprocessor"> #include &lt;fcntl.h&gt;</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"> #ifdef __native_client__</span></div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;<span class="preprocessor"></span><span class="preprocessor"> #include &quot;ppapi/cpp/private/net_address_private.h&quot;</span></div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;<span class="preprocessor"> #include &quot;ppapi/c/pp_bool.h&quot;</span></div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;<span class="preprocessor"> #include &quot;ppapi/c/pp_errors.h&quot;</span></div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160;<span class="preprocessor"> #include &quot;ppapi/cpp/completion_callback.h&quot;</span></div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160;<span class="preprocessor"> #include &quot;ppapi/cpp/instance_handle.h&quot;</span></div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;<span class="preprocessor"> #include &quot;ppapi/cpp/module.h&quot;</span></div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;<span class="preprocessor"> #include &quot;ppapi/cpp/module_impl.h&quot;</span></div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;<span class="preprocessor"> #include &quot;ppapi/c/pp_errors.h&quot;</span></div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160;<span class="preprocessor"> #include &quot;ppapi/c/pp_module.h&quot;</span></div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160;<span class="preprocessor"> #include &quot;ppapi/c/pp_var.h&quot;</span></div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160;<span class="preprocessor"> #include &quot;ppapi/c/pp_resource.h&quot;</span></div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;<span class="preprocessor"> #include &quot;ppapi/c/ppb.h&quot;</span></div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160;<span class="preprocessor"> #include &quot;ppapi/c/ppb_instance.h&quot;</span></div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160;<span class="preprocessor"> #include &quot;ppapi/c/ppb_messaging.h&quot;</span></div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160;<span class="preprocessor"> #include &quot;ppapi/c/ppb_var.h&quot;</span></div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160;<span class="preprocessor"> #include &quot;ppapi/c/ppp.h&quot;</span></div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;<span class="preprocessor"> #include &quot;ppapi/c/ppb_core.h&quot;</span></div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160;<span class="preprocessor"> #include &quot;ppapi/c/ppp_instance.h&quot;</span></div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160;<span class="preprocessor"> #include &quot;ppapi/c/ppp_messaging.h&quot;</span></div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160;<span class="preprocessor"> #include &quot;ppapi/c/pp_input_event.h&quot;</span></div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160;<span class="preprocessor"> #include &quot;ppapi/c/pp_completion_callback.h&quot;</span></div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <span class="comment">//UDP specific - the &#39;private&#39; folder was copied from the chromium src/ppapi/c headers folder</span></div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160;<span class="preprocessor"> #include &quot;ppapi/c/private/ppb_udp_socket_private.h&quot;</span></div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160;<span class="preprocessor"> #include &quot;ppapi/cpp/private/net_address_private.h&quot;</span></div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <span class="keyword">typedef</span> PP_Resource <a class="code" href="../../d4/dc5/_socket_includes_8h.xhtml#ad31a77c59d4b8ba8cbd1eac64fbf89e8" title="Unix/Linux uses ints for sockets.">__UDPSOCKET__</a>;</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; <span class="keyword">typedef</span> PP_Resource <a class="code" href="../../d4/dc5/_socket_includes_8h.xhtml#a5aa1a1bddd045228f3a4935849eeb8a2">__TCPSOCKET__</a>;</div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160;<span class="preprocessor"> #else</span></div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160;<span class="preprocessor"></span> <span class="comment">//#include &quot;memoryoverride.h&quot;</span></div>
<div class="line"><a name="l00102"></a><span class="lineno"><a class="code" href="../../d4/dc5/_socket_includes_8h.xhtml#ad31a77c59d4b8ba8cbd1eac64fbf89e8"> 102</a></span>&#160;<span class="comment"></span> <span class="keyword">typedef</span> <span class="keywordtype">int</span> <a class="code" href="../../d4/dc5/_socket_includes_8h.xhtml#ad31a77c59d4b8ba8cbd1eac64fbf89e8" title="Unix/Linux uses ints for sockets.">__UDPSOCKET__</a>;</div>
<div class="line"><a name="l00103"></a><span class="lineno"><a class="code" href="../../d4/dc5/_socket_includes_8h.xhtml#a5aa1a1bddd045228f3a4935849eeb8a2"> 103</a></span>&#160; <span class="keyword">typedef</span> <span class="keywordtype">int</span> <a class="code" href="../../d4/dc5/_socket_includes_8h.xhtml#a5aa1a1bddd045228f3a4935849eeb8a2">__TCPSOCKET__</a>;</div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;<span class="preprocessor">#endif // RAKNET_SOCKETINCLUDES_H</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="../../d4/dc5/_socket_includes_8h.xhtml">SocketIncludes.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="SLNet::NatPunchthroughDebugInterface_PacketLogger" name="SLNet::NatPunchthroughDebugInterface_PacketLogger">
<area shape="rect" id="node2" href="$db/d81/group___n_a_t___p_u_n_c_h_t_h_r_o_u_g_h___g_r_o_u_p.xhtml#d5/db1/struct_s_l_net_1_1_nat_punchthrough_debug_interface" title="{SLNet::NatPunchthroughDebug\lInterface\n||+ NatPunchthroughDebugInterface()\l+ ~NatPunchthroughDebugInterface()\l+ OnClientMessage()\l}" alt="" coords="5,5,241,127"/>
</map>

View File

@ -0,0 +1,46 @@
<?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::NatPunchthroughDebugInterface_PacketLogger Pages: 1 -->
<svg width="185pt" height="248pt"
viewBox="0.00 0.00 185.00 248.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 244)">
<title>SLNet::NatPunchthroughDebugInterface_PacketLogger</title>
<!-- Node1 -->
<g id="node1" class="node"><title>Node1</title>
<polygon fill="#bfbfbf" stroke="black" points="3,-0.5 3,-112.5 174,-112.5 174,-0.5 3,-0.5"/>
<text text-anchor="start" x="11" y="-100.5" font-family="Helvetica,sans-Serif" font-size="10.00">SLNet::NatPunchthroughDebug</text>
<text text-anchor="middle" x="88.5" y="-89.5" font-family="Helvetica,sans-Serif" font-size="10.00">Interface_PacketLogger</text>
<polyline fill="none" stroke="black" points="3,-82.5 174,-82.5 "/>
<text text-anchor="start" x="11" y="-70.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ pl</text>
<polyline fill="none" stroke="black" points="3,-63.5 174,-63.5 "/>
<text text-anchor="start" x="11" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ NatPunchthroughDebugInterface</text>
<text text-anchor="start" x="11" y="-40.5" font-family="Helvetica,sans-Serif" font-size="10.00">_PacketLogger()</text>
<text text-anchor="start" x="11" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~NatPunchthroughDebugInterface</text>
<text text-anchor="start" x="11" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">_PacketLogger()</text>
<text text-anchor="start" x="11" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ OnClientMessage()</text>
</g>
<!-- Node2 -->
<g id="node2" class="node"><title>Node2</title>
<g id="a_node2"><a xlink:href="../../db/d81/group___n_a_t___p_u_n_c_h_t_h_r_o_u_g_h___g_r_o_u_p.xhtml#d5/db1/struct_s_l_net_1_1_nat_punchthrough_debug_interface" target="_top" xlink:title="{SLNet::NatPunchthroughDebug\lInterface\n||+ NatPunchthroughDebugInterface()\l+ ~NatPunchthroughDebugInterface()\l+ OnClientMessage()\l}">
<polygon fill="none" stroke="black" points="0,-149.5 0,-239.5 177,-239.5 177,-149.5 0,-149.5"/>
<text text-anchor="start" x="8" y="-227.5" font-family="Helvetica,sans-Serif" font-size="10.00">SLNet::NatPunchthroughDebug</text>
<text text-anchor="middle" x="88.5" y="-216.5" font-family="Helvetica,sans-Serif" font-size="10.00">Interface</text>
<polyline fill="none" stroke="black" points="0,-209.5 177,-209.5 "/>
<text text-anchor="middle" x="88.5" y="-197.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
<polyline fill="none" stroke="black" points="0,-190.5 177,-190.5 "/>
<text text-anchor="start" x="8" y="-178.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ NatPunchthroughDebugInterface()</text>
<text text-anchor="start" x="8" y="-167.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~NatPunchthroughDebugInterface()</text>
<text text-anchor="start" x="8" y="-156.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ OnClientMessage()</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.5,-139.312C88.5,-130.611 88.5,-121.595 88.5,-112.867"/>
<polygon fill="none" stroke="midnightblue" points="85.0001,-139.345 88.5,-149.345 92.0001,-139.345 85.0001,-139.345"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.5 KiB

View File

@ -0,0 +1,142 @@
<!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_BytePool.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('d4/dc7/_d_s___byte_pool_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_BytePool.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="../../d6/d7e/_d_s___memory_pool_8h_source.xhtml">DS_MemoryPool.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/ddd/_simple_mutex_8h_source.xhtml">SimpleMutex.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../dc/da7/assert_8h_source.xhtml">assert.h</a>&quot;</code><br/>
</div>
<p><a href="../../d4/dc7/_d_s___byte_pool_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="../../d4/dca/class_data_structures_1_1_byte_pool.xhtml">DataStructures::BytePool</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:da/d80/namespace_data_structures"><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d80/namespace_data_structures.xhtml">DataStructures</a></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="../../d4/dc7/_d_s___byte_pool_8h.xhtml">DS_BytePool.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,178 @@
<!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_BytePool.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('d4/dc7/_d_s___byte_pool_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_BytePool.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="../../d4/dc7/_d_s___byte_pool_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;<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="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;<span class="preprocessor">#ifndef __BYTE_POOL_H</span></div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define __BYTE_POOL_H</span></div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="preprocessor"></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/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="l00024"></a><span class="lineno"> 24</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../d6/d7e/_d_s___memory_pool_8h.xhtml">DS_MemoryPool.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="../../db/dbd/_export_8h.xhtml">Export.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/ddd/_simple_mutex_8h.xhtml" title="[Internal] Encapsulates a mutex">SimpleMutex.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="../../dc/da7/assert_8h.xhtml">assert.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="comment">// #define _DISABLE_BYTE_POOL</span></div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="comment">// #define _THREADSAFE_BYTE_POOL</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>DataStructures</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">// Allocate some number of bytes from pools. Uses the heap if necessary.</span></div>
<div class="line"><a name="l00035"></a><span class="lineno"><a class="code" href="../../d4/dca/class_data_structures_1_1_byte_pool.xhtml"> 35</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="../../d4/dca/class_data_structures_1_1_byte_pool.xhtml">BytePool</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; <span class="keyword">public</span>:</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; <a class="code" href="../../d4/dca/class_data_structures_1_1_byte_pool.xhtml">BytePool</a>();</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; ~<a class="code" href="../../d4/dca/class_data_structures_1_1_byte_pool.xhtml">BytePool</a>();</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; <span class="comment">// Should be at least 8 times bigger than 8192</span></div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; <span class="keywordtype">void</span> SetPageSize(<span class="keywordtype">int</span> size);</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>* Allocate(<span class="keywordtype">int</span> bytesWanted, <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="l00043"></a><span class="lineno"> 43</span>&#160; <span class="keywordtype">void</span> Release(<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *data, <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="l00044"></a><span class="lineno"> 44</span>&#160; <span class="keywordtype">void</span> Clear(<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="l00045"></a><span class="lineno"> 45</span>&#160; <span class="keyword">protected</span>: </div>
<div class="line"><a name="l00046"></a><span class="lineno"><a class="code" href="../../d4/dca/class_data_structures_1_1_byte_pool.xhtml#a9f8b53fbf7656990b1394b23640c49c4"> 46</a></span>&#160; <a class="code" href="../../de/df9/class_data_structures_1_1_memory_pool.xhtml">MemoryPool&lt;unsigned char[128]&gt;</a> <a class="code" href="../../d4/dca/class_data_structures_1_1_byte_pool.xhtml#a9f8b53fbf7656990b1394b23640c49c4">pool128</a>;</div>
<div class="line"><a name="l00047"></a><span class="lineno"><a class="code" href="../../d4/dca/class_data_structures_1_1_byte_pool.xhtml#a79738ca5b1e198b07a2f42b903e52a3c"> 47</a></span>&#160; <a class="code" href="../../de/df9/class_data_structures_1_1_memory_pool.xhtml">MemoryPool&lt;unsigned char[512]&gt;</a> <a class="code" href="../../d4/dca/class_data_structures_1_1_byte_pool.xhtml#a79738ca5b1e198b07a2f42b903e52a3c">pool512</a>;</div>
<div class="line"><a name="l00048"></a><span class="lineno"><a class="code" href="../../d4/dca/class_data_structures_1_1_byte_pool.xhtml#aa342dcec14441134eb4c236fed4ce343"> 48</a></span>&#160; <a class="code" href="../../de/df9/class_data_structures_1_1_memory_pool.xhtml">MemoryPool&lt;unsigned char[2048]&gt;</a> <a class="code" href="../../d4/dca/class_data_structures_1_1_byte_pool.xhtml#aa342dcec14441134eb4c236fed4ce343">pool2048</a>;</div>
<div class="line"><a name="l00049"></a><span class="lineno"><a class="code" href="../../d4/dca/class_data_structures_1_1_byte_pool.xhtml#a031434fb036ed4546d3b6bae0de7ea17"> 49</a></span>&#160; <a class="code" href="../../de/df9/class_data_structures_1_1_memory_pool.xhtml">MemoryPool&lt;unsigned char[8192]&gt;</a> <a class="code" href="../../d4/dca/class_data_structures_1_1_byte_pool.xhtml#a031434fb036ed4546d3b6bae0de7ea17">pool8192</a>;</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;<span class="preprocessor">#ifdef _THREADSAFE_BYTE_POOL</span></div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;<span class="preprocessor"></span> SimpleMutex mutex128;</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; SimpleMutex mutex512;</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; SimpleMutex mutex2048;</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; SimpleMutex mutex8192;</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;<span class="preprocessor"></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;</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</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="../../d4/dc7/_d_s___byte_pool_8h.xhtml">DS_BytePool.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,68 @@
var class_s_l_net_1_1_rackspace =
[
[ "RackspaceOperation", "d4/dc9/class_s_l_net_1_1_rackspace.xhtml#d6/d93/struct_s_l_net_1_1_rackspace_1_1_rackspace_operation", [
[ "connectionAddress", "d4/dc9/class_s_l_net_1_1_rackspace.xhtml#a9928715e08718f181c67c7018ab992c9", null ],
[ "httpCommand", "d4/dc9/class_s_l_net_1_1_rackspace.xhtml#a819f987ceea53024c6b9074387c1249e", null ],
[ "incomingStream", "d4/dc9/class_s_l_net_1_1_rackspace.xhtml#a6516c8e8d23b1f3aa9cc08737dee874f", null ],
[ "isPendingAuthentication", "d4/dc9/class_s_l_net_1_1_rackspace.xhtml#ac96f1dbb30cdbc0b487d57804ffb644d", null ],
[ "operation", "d4/dc9/class_s_l_net_1_1_rackspace.xhtml#a438a0f2b053bdcc76536f008e403a2c8", null ],
[ "type", "d4/dc9/class_s_l_net_1_1_rackspace.xhtml#a6b3a38889a07ff5bc8859ec34e1540df", null ],
[ "xml", "d4/dc9/class_s_l_net_1_1_rackspace.xhtml#a7e7e0ff25f44fb1dd023df915aedd263", null ]
] ],
[ "Rackspace", "d4/dc9/class_s_l_net_1_1_rackspace.xhtml#affca40f9eab4a139e6d771f1ff606fdf", null ],
[ "~Rackspace", "d4/dc9/class_s_l_net_1_1_rackspace.xhtml#aee5c0f61d4a3c675c4c7915f2996c4cc", null ],
[ "AddEventCallback", "d4/dc9/class_s_l_net_1_1_rackspace.xhtml#a57becee254bb4bee51bb673af644106c", null ],
[ "AddOperation", "d4/dc9/class_s_l_net_1_1_rackspace.xhtml#a3f50d015a71811843142c6230970a5ec", null ],
[ "Authenticate", "d4/dc9/class_s_l_net_1_1_rackspace.xhtml#acf72c83e613d00369fe731f682b6e143", null ],
[ "ClearEventCallbacks", "d4/dc9/class_s_l_net_1_1_rackspace.xhtml#ad00eafb7a8959f31da008ed3853a72ea", null ],
[ "ConfirmResizedServer", "d4/dc9/class_s_l_net_1_1_rackspace.xhtml#a2cae87cd5d139d3220234dd425039f37", null ],
[ "ConnectToServerManagementDomain", "d4/dc9/class_s_l_net_1_1_rackspace.xhtml#aa42b327eb301f36da22c4fec5880665a", null ],
[ "CreateImage", "d4/dc9/class_s_l_net_1_1_rackspace.xhtml#a135667af7dbfda0802653641a805a23f", null ],
[ "CreateServer", "d4/dc9/class_s_l_net_1_1_rackspace.xhtml#a6bdb816ff69910f05437522ae7d1ee4f", null ],
[ "CreateSharedIPGroup", "d4/dc9/class_s_l_net_1_1_rackspace.xhtml#abaacbea38c891ba703f05fde971adcc0", null ],
[ "DeleteImage", "d4/dc9/class_s_l_net_1_1_rackspace.xhtml#ad48d8095db174748173677c43113fb2f", null ],
[ "DeleteServer", "d4/dc9/class_s_l_net_1_1_rackspace.xhtml#a6041be210383b5de1f4eb7d495d89b29", null ],
[ "DeleteServerAddress", "d4/dc9/class_s_l_net_1_1_rackspace.xhtml#ae2aade819c5b75bdcfc4b5dee28fccdc", null ],
[ "DeleteSharedIPGroup", "d4/dc9/class_s_l_net_1_1_rackspace.xhtml#af0505e0e76c1dc7a838d2a02b733af12", null ],
[ "EventTypeToString", "d4/dc9/class_s_l_net_1_1_rackspace.xhtml#a2e97021b64f80c04fc8d7e8bfa3b2a9e", null ],
[ "ExecuteOperation", "d4/dc9/class_s_l_net_1_1_rackspace.xhtml#aa8b332064232df19b6affadd12b8c315", null ],
[ "GetFlavorDetails", "d4/dc9/class_s_l_net_1_1_rackspace.xhtml#aa8aa2bab4b220197a8583243f16a5e36", null ],
[ "GetImageDetails", "d4/dc9/class_s_l_net_1_1_rackspace.xhtml#a06984cd7a19d3647f352d0596e377b1a", null ],
[ "GetOperationOfTypeIndex", "d4/dc9/class_s_l_net_1_1_rackspace.xhtml#a0207b34c85fbad9f93981616153333fa", null ],
[ "GetServerDetails", "d4/dc9/class_s_l_net_1_1_rackspace.xhtml#a33820561a614c96bcced059b5abded84", null ],
[ "GetSharedIPGroupDetails", "d4/dc9/class_s_l_net_1_1_rackspace.xhtml#a6227f6818a9fc89c4f56e90c0a2f0ab5", null ],
[ "HasOperationOfType", "d4/dc9/class_s_l_net_1_1_rackspace.xhtml#a7cea0ca71d469fffdcc8ae318c1fe4ce", null ],
[ "ListFlavors", "d4/dc9/class_s_l_net_1_1_rackspace.xhtml#a4ec76bdc7443316cbd6440eed4684f59", null ],
[ "ListImages", "d4/dc9/class_s_l_net_1_1_rackspace.xhtml#a8fed0d3e71e770be47e22bbe602560de", null ],
[ "ListServerAddresses", "d4/dc9/class_s_l_net_1_1_rackspace.xhtml#ad4937bfb74f40eb09051bd76395cf277", null ],
[ "ListServers", "d4/dc9/class_s_l_net_1_1_rackspace.xhtml#ae877ed1486626c67708cb06eb90bb12e", null ],
[ "ListServersWithDetails", "d4/dc9/class_s_l_net_1_1_rackspace.xhtml#ad77d156f6de503b34d6ab19d0b2a02d2", null ],
[ "ListSharedIPGroups", "d4/dc9/class_s_l_net_1_1_rackspace.xhtml#aa0c8e7ce94e0529e76f06d5c9d792b79", null ],
[ "ListSharedIPGroupsWithDetails", "d4/dc9/class_s_l_net_1_1_rackspace.xhtml#aa8eb3341a6fc4749d4d800aeae92aab1", null ],
[ "OnClosedConnection", "d4/dc9/class_s_l_net_1_1_rackspace.xhtml#a9912f124601f26c221252ed9703c99f1", null ],
[ "OnReceive", "d4/dc9/class_s_l_net_1_1_rackspace.xhtml#a939351e17a21310b00c226cff7fc7799", null ],
[ "ReadLine", "d4/dc9/class_s_l_net_1_1_rackspace.xhtml#a51bb689eafbf076f647eb50868269195", null ],
[ "RebootServer", "d4/dc9/class_s_l_net_1_1_rackspace.xhtml#a9e7b59b169f1771ce2a53a5433f52c3c", null ],
[ "RebuildServer", "d4/dc9/class_s_l_net_1_1_rackspace.xhtml#af660feb40e3989a3f6e9b74bf13eb80d", null ],
[ "RemoveEventCallback", "d4/dc9/class_s_l_net_1_1_rackspace.xhtml#a50ef2c7f658fbd350053612dd83974e3", null ],
[ "ResizeServer", "d4/dc9/class_s_l_net_1_1_rackspace.xhtml#acb007f1afd7d254b0b2608fdcd3689d6", null ],
[ "RevertResizedServer", "d4/dc9/class_s_l_net_1_1_rackspace.xhtml#a194535bfc74ff3253b3830d7bec4f3f1", null ],
[ "ShareServerAddress", "d4/dc9/class_s_l_net_1_1_rackspace.xhtml#a8cb72a21a76de1281a93dfa1de7852ce", null ],
[ "UpdateServerNameOrPassword", "d4/dc9/class_s_l_net_1_1_rackspace.xhtml#a869094404371473dfdbb47b769b30a43", null ],
[ "apiAccessKey", "d4/dc9/class_s_l_net_1_1_rackspace.xhtml#ab385abfaafa213fde6a0172348a9920e", null ],
[ "authToken", "d4/dc9/class_s_l_net_1_1_rackspace.xhtml#a02be9f1f25b7aa1eea83ba0ebb0517b5", null ],
[ "cdnManagementDomain", "d4/dc9/class_s_l_net_1_1_rackspace.xhtml#a3189bb7d53cb2d9ce6cbd42daa6284f0", null ],
[ "cdnManagementPath", "d4/dc9/class_s_l_net_1_1_rackspace.xhtml#aab3cc73ecd606ecb05d709c875a79497", null ],
[ "cdnManagementURL", "d4/dc9/class_s_l_net_1_1_rackspace.xhtml#a44dd4dc00c54938f8bc40125e6f56364", null ],
[ "eventCallbacks", "d4/dc9/class_s_l_net_1_1_rackspace.xhtml#a990d107391a983a91f9568d91ecf0ce7", null ],
[ "operations", "d4/dc9/class_s_l_net_1_1_rackspace.xhtml#a58bff3ea37f0df4c2c333369a2291c84", null ],
[ "rackspaceCloudUsername", "d4/dc9/class_s_l_net_1_1_rackspace.xhtml#ad3f4e778bbc955cefb117b2f9ac82018", null ],
[ "serverManagementDomain", "d4/dc9/class_s_l_net_1_1_rackspace.xhtml#a8d9fdc8190c46486eff0af1a0cde6ddc", null ],
[ "serverManagementPath", "d4/dc9/class_s_l_net_1_1_rackspace.xhtml#a18e03eef8f2d742e13f6dbba60bf0e1e", null ],
[ "serverManagementURL", "d4/dc9/class_s_l_net_1_1_rackspace.xhtml#a4161abbb7b0146a6daeb6f8596abd852", null ],
[ "storageDomain", "d4/dc9/class_s_l_net_1_1_rackspace.xhtml#aa542df3c410dd649a4b707e89834e5be", null ],
[ "storagePath", "d4/dc9/class_s_l_net_1_1_rackspace.xhtml#a10b8f8b7dcb07a5ae34837345a0a20dc", null ],
[ "storageToken", "d4/dc9/class_s_l_net_1_1_rackspace.xhtml#aeadbecd19b15d593af45fefba52e5fa0", null ],
[ "storageURL", "d4/dc9/class_s_l_net_1_1_rackspace.xhtml#a13aca4ff519895ad9e3f11ec5afdffee", null ],
[ "tcpInterface", "d4/dc9/class_s_l_net_1_1_rackspace.xhtml#a9fe73d11bcad6ba5718ddb356affd179", null ]
];

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,13 @@
var class_data_structures_1_1_byte_pool =
[
[ "BytePool", "d4/dca/class_data_structures_1_1_byte_pool.xhtml#afbffee8929e4e18fc46997c913525f00", null ],
[ "~BytePool", "d4/dca/class_data_structures_1_1_byte_pool.xhtml#a497b9b00ad6eb879a1529b8b821fb924", null ],
[ "Allocate", "d4/dca/class_data_structures_1_1_byte_pool.xhtml#af56b69abcc9e32c3be33e5e8b7b2c46b", null ],
[ "Clear", "d4/dca/class_data_structures_1_1_byte_pool.xhtml#a5a230f45733727cdf42a4211b4ab7983", null ],
[ "Release", "d4/dca/class_data_structures_1_1_byte_pool.xhtml#afa7e905b4374ca7eb576504018fcc521", null ],
[ "SetPageSize", "d4/dca/class_data_structures_1_1_byte_pool.xhtml#af652b2d8cd50e83addc69ec68fbbcaf0", null ],
[ "pool128", "d4/dca/class_data_structures_1_1_byte_pool.xhtml#a9f8b53fbf7656990b1394b23640c49c4", null ],
[ "pool2048", "d4/dca/class_data_structures_1_1_byte_pool.xhtml#aa342dcec14441134eb4c236fed4ce343", null ],
[ "pool512", "d4/dca/class_data_structures_1_1_byte_pool.xhtml#a79738ca5b1e198b07a2f42b903e52a3c", null ],
[ "pool8192", "d4/dca/class_data_structures_1_1_byte_pool.xhtml#a031434fb036ed4546d3b6bae0de7ea17", null ]
];

View File

@ -0,0 +1,420 @@
<!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: DataStructures::BytePool 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('d4/dca/class_data_structures_1_1_byte_pool.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="#pro-attribs">Protected Attributes</a> &#124;
<a href="../../d2/d62/class_data_structures_1_1_byte_pool-members.xhtml">List of all members</a> </div>
<div class="headertitle">
<div class="title">DataStructures::BytePool Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><code>#include &lt;<a class="el" href="../../d4/dc7/_d_s___byte_pool_8h_source.xhtml">slikenet/DS_BytePool.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:afbffee8929e4e18fc46997c913525f00"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/dca/class_data_structures_1_1_byte_pool.xhtml#afbffee8929e4e18fc46997c913525f00">BytePool</a> ()</td></tr>
<tr class="separator:afbffee8929e4e18fc46997c913525f00"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a497b9b00ad6eb879a1529b8b821fb924"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/dca/class_data_structures_1_1_byte_pool.xhtml#a497b9b00ad6eb879a1529b8b821fb924">~BytePool</a> ()</td></tr>
<tr class="separator:a497b9b00ad6eb879a1529b8b821fb924"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af652b2d8cd50e83addc69ec68fbbcaf0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/dca/class_data_structures_1_1_byte_pool.xhtml#af652b2d8cd50e83addc69ec68fbbcaf0">SetPageSize</a> (int size)</td></tr>
<tr class="separator:af652b2d8cd50e83addc69ec68fbbcaf0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af56b69abcc9e32c3be33e5e8b7b2c46b"><td class="memItemLeft" align="right" valign="top">unsigned char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/dca/class_data_structures_1_1_byte_pool.xhtml#af56b69abcc9e32c3be33e5e8b7b2c46b">Allocate</a> (int bytesWanted, const char *file, unsigned int line)</td></tr>
<tr class="separator:af56b69abcc9e32c3be33e5e8b7b2c46b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afa7e905b4374ca7eb576504018fcc521"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/dca/class_data_structures_1_1_byte_pool.xhtml#afa7e905b4374ca7eb576504018fcc521">Release</a> (unsigned char *data, const char *file, unsigned int line)</td></tr>
<tr class="separator:afa7e905b4374ca7eb576504018fcc521"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5a230f45733727cdf42a4211b4ab7983"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/dca/class_data_structures_1_1_byte_pool.xhtml#a5a230f45733727cdf42a4211b4ab7983">Clear</a> (const char *file, unsigned int line)</td></tr>
<tr class="separator:a5a230f45733727cdf42a4211b4ab7983"><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:a9f8b53fbf7656990b1394b23640c49c4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../de/df9/class_data_structures_1_1_memory_pool.xhtml">MemoryPool</a>&lt; unsigned char[128]&gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/dca/class_data_structures_1_1_byte_pool.xhtml#a9f8b53fbf7656990b1394b23640c49c4">pool128</a></td></tr>
<tr class="separator:a9f8b53fbf7656990b1394b23640c49c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a79738ca5b1e198b07a2f42b903e52a3c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../de/df9/class_data_structures_1_1_memory_pool.xhtml">MemoryPool</a>&lt; unsigned char[512]&gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/dca/class_data_structures_1_1_byte_pool.xhtml#a79738ca5b1e198b07a2f42b903e52a3c">pool512</a></td></tr>
<tr class="separator:a79738ca5b1e198b07a2f42b903e52a3c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa342dcec14441134eb4c236fed4ce343"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../de/df9/class_data_structures_1_1_memory_pool.xhtml">MemoryPool</a>&lt; unsigned char[2048]&gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/dca/class_data_structures_1_1_byte_pool.xhtml#aa342dcec14441134eb4c236fed4ce343">pool2048</a></td></tr>
<tr class="separator:aa342dcec14441134eb4c236fed4ce343"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a031434fb036ed4546d3b6bae0de7ea17"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../de/df9/class_data_structures_1_1_memory_pool.xhtml">MemoryPool</a>&lt; unsigned char[8192]&gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/dca/class_data_structures_1_1_byte_pool.xhtml#a031434fb036ed4546d3b6bae0de7ea17">pool8192</a></td></tr>
<tr class="separator:a031434fb036ed4546d3b6bae0de7ea17"><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="../../d4/dc7/_d_s___byte_pool_8h_source.xhtml#l00035">35</a> of file <a class="el" href="../../d4/dc7/_d_s___byte_pool_8h_source.xhtml">DS_BytePool.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="afbffee8929e4e18fc46997c913525f00"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">BytePool::BytePool </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="../../dd/d79/_d_s___byte_pool_8cpp_source.xhtml#l00025">25</a> of file <a class="el" href="../../dd/d79/_d_s___byte_pool_8cpp_source.xhtml">DS_BytePool.cpp</a>.</p>
<p>References <a class="el" href="../../d4/dc7/_d_s___byte_pool_8h_source.xhtml#l00046">pool128</a>, <a class="el" href="../../d4/dc7/_d_s___byte_pool_8h_source.xhtml#l00048">pool2048</a>, <a class="el" href="../../d4/dc7/_d_s___byte_pool_8h_source.xhtml#l00047">pool512</a>, <a class="el" href="../../d4/dc7/_d_s___byte_pool_8h_source.xhtml#l00049">pool8192</a>, and <a class="el" href="../../d6/d7e/_d_s___memory_pool_8h_source.xhtml#l00101">DataStructures::MemoryPool&lt; MemoryBlockType &gt;::SetPageSize()</a>.</p>
</div>
</div>
<a class="anchor" id="a497b9b00ad6eb879a1529b8b821fb924"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">BytePool::~BytePool </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="../../dd/d79/_d_s___byte_pool_8cpp_source.xhtml#l00032">32</a> of file <a class="el" href="../../dd/d79/_d_s___byte_pool_8cpp_source.xhtml">DS_BytePool.cpp</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="af56b69abcc9e32c3be33e5e8b7b2c46b"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">unsigned char * BytePool::Allocate </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>bytesWanted</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>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../dd/d79/_d_s___byte_pool_8cpp_source.xhtml#l00042">42</a> of file <a class="el" href="../../dd/d79/_d_s___byte_pool_8cpp_source.xhtml">DS_BytePool.cpp</a>.</p>
<p>References <a class="el" href="../../d8/db0/defines_8h_source.xhtml#l00047">_FILE_AND_LINE_</a>, <a class="el" href="../../d6/d7e/_d_s___memory_pool_8h_source.xhtml#l00107">DataStructures::MemoryPool&lt; MemoryBlockType &gt;::Allocate()</a>, <a class="el" href="../../d4/dc7/_d_s___byte_pool_8h_source.xhtml#l00046">pool128</a>, <a class="el" href="../../d4/dc7/_d_s___byte_pool_8h_source.xhtml#l00048">pool2048</a>, <a class="el" href="../../d4/dc7/_d_s___byte_pool_8h_source.xhtml#l00047">pool512</a>, <a class="el" href="../../d4/dc7/_d_s___byte_pool_8h_source.xhtml#l00049">pool8192</a>, and <a class="el" href="../../d9/d4c/_rak_memory_override_8cpp_source.xhtml#l00062">rakMalloc_Ex</a>.</p>
</div>
</div>
<a class="anchor" id="a5a230f45733727cdf42a4211b4ab7983"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BytePool::Clear </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>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../dd/d79/_d_s___byte_pool_8cpp_source.xhtml#l00153">153</a> of file <a class="el" href="../../dd/d79/_d_s___byte_pool_8cpp_source.xhtml">DS_BytePool.cpp</a>.</p>
<p>References <a class="el" href="../../d6/d7e/_d_s___memory_pool_8h_source.xhtml#l00221">DataStructures::MemoryPool&lt; MemoryBlockType &gt;::Clear()</a>, <a class="el" href="../../d4/dc7/_d_s___byte_pool_8h_source.xhtml#l00046">pool128</a>, <a class="el" href="../../d4/dc7/_d_s___byte_pool_8h_source.xhtml#l00048">pool2048</a>, <a class="el" href="../../d4/dc7/_d_s___byte_pool_8h_source.xhtml#l00047">pool512</a>, and <a class="el" href="../../d4/dc7/_d_s___byte_pool_8h_source.xhtml#l00049">pool8192</a>.</p>
</div>
</div>
<a class="anchor" id="afa7e905b4374ca7eb576504018fcc521"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BytePool::Release </td>
<td>(</td>
<td class="paramtype">unsigned char *&#160;</td>
<td class="paramname"><em>data</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>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../dd/d79/_d_s___byte_pool_8cpp_source.xhtml#l00101">101</a> of file <a class="el" href="../../dd/d79/_d_s___byte_pool_8cpp_source.xhtml">DS_BytePool.cpp</a>.</p>
<p>References <a class="el" href="../../d8/db0/defines_8h_source.xhtml#l00047">_FILE_AND_LINE_</a>, <a class="el" href="../../d4/dc7/_d_s___byte_pool_8h_source.xhtml#l00046">pool128</a>, <a class="el" href="../../d4/dc7/_d_s___byte_pool_8h_source.xhtml#l00048">pool2048</a>, <a class="el" href="../../d4/dc7/_d_s___byte_pool_8h_source.xhtml#l00047">pool512</a>, <a class="el" href="../../d4/dc7/_d_s___byte_pool_8h_source.xhtml#l00049">pool8192</a>, <a class="el" href="../../d8/db0/defines_8h_source.xhtml#l00120">RakAssert</a>, <a class="el" href="../../d9/d4c/_rak_memory_override_8cpp_source.xhtml#l00064">rakFree_Ex</a>, and <a class="el" href="../../d6/d7e/_d_s___memory_pool_8h_source.xhtml#l00159">DataStructures::MemoryPool&lt; MemoryBlockType &gt;::Release()</a>.</p>
</div>
</div>
<a class="anchor" id="af652b2d8cd50e83addc69ec68fbbcaf0"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BytePool::SetPageSize </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>size</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../dd/d79/_d_s___byte_pool_8cpp_source.xhtml#l00035">35</a> of file <a class="el" href="../../dd/d79/_d_s___byte_pool_8cpp_source.xhtml">DS_BytePool.cpp</a>.</p>
<p>References <a class="el" href="../../d4/dc7/_d_s___byte_pool_8h_source.xhtml#l00046">pool128</a>, <a class="el" href="../../d4/dc7/_d_s___byte_pool_8h_source.xhtml#l00048">pool2048</a>, <a class="el" href="../../d4/dc7/_d_s___byte_pool_8h_source.xhtml#l00047">pool512</a>, <a class="el" href="../../d4/dc7/_d_s___byte_pool_8h_source.xhtml#l00049">pool8192</a>, and <a class="el" href="../../d6/d7e/_d_s___memory_pool_8h_source.xhtml#l00101">DataStructures::MemoryPool&lt; MemoryBlockType &gt;::SetPageSize()</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a class="anchor" id="a9f8b53fbf7656990b1394b23640c49c4"></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="../../de/df9/class_data_structures_1_1_memory_pool.xhtml">MemoryPool</a>&lt;unsigned char[128]&gt; DataStructures::BytePool::pool128</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="../../d4/dc7/_d_s___byte_pool_8h_source.xhtml#l00046">46</a> of file <a class="el" href="../../d4/dc7/_d_s___byte_pool_8h_source.xhtml">DS_BytePool.h</a>.</p>
<p>Referenced by <a class="el" href="../../dd/d79/_d_s___byte_pool_8cpp_source.xhtml#l00042">Allocate()</a>, <a class="el" href="../../dd/d79/_d_s___byte_pool_8cpp_source.xhtml#l00025">BytePool()</a>, <a class="el" href="../../dd/d79/_d_s___byte_pool_8cpp_source.xhtml#l00153">Clear()</a>, <a class="el" href="../../dd/d79/_d_s___byte_pool_8cpp_source.xhtml#l00101">Release()</a>, and <a class="el" href="../../dd/d79/_d_s___byte_pool_8cpp_source.xhtml#l00035">SetPageSize()</a>.</p>
</div>
</div>
<a class="anchor" id="aa342dcec14441134eb4c236fed4ce343"></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="../../de/df9/class_data_structures_1_1_memory_pool.xhtml">MemoryPool</a>&lt;unsigned char[2048]&gt; DataStructures::BytePool::pool2048</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="../../d4/dc7/_d_s___byte_pool_8h_source.xhtml#l00048">48</a> of file <a class="el" href="../../d4/dc7/_d_s___byte_pool_8h_source.xhtml">DS_BytePool.h</a>.</p>
<p>Referenced by <a class="el" href="../../dd/d79/_d_s___byte_pool_8cpp_source.xhtml#l00042">Allocate()</a>, <a class="el" href="../../dd/d79/_d_s___byte_pool_8cpp_source.xhtml#l00025">BytePool()</a>, <a class="el" href="../../dd/d79/_d_s___byte_pool_8cpp_source.xhtml#l00153">Clear()</a>, <a class="el" href="../../dd/d79/_d_s___byte_pool_8cpp_source.xhtml#l00101">Release()</a>, and <a class="el" href="../../dd/d79/_d_s___byte_pool_8cpp_source.xhtml#l00035">SetPageSize()</a>.</p>
</div>
</div>
<a class="anchor" id="a79738ca5b1e198b07a2f42b903e52a3c"></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="../../de/df9/class_data_structures_1_1_memory_pool.xhtml">MemoryPool</a>&lt;unsigned char[512]&gt; DataStructures::BytePool::pool512</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="../../d4/dc7/_d_s___byte_pool_8h_source.xhtml#l00047">47</a> of file <a class="el" href="../../d4/dc7/_d_s___byte_pool_8h_source.xhtml">DS_BytePool.h</a>.</p>
<p>Referenced by <a class="el" href="../../dd/d79/_d_s___byte_pool_8cpp_source.xhtml#l00042">Allocate()</a>, <a class="el" href="../../dd/d79/_d_s___byte_pool_8cpp_source.xhtml#l00025">BytePool()</a>, <a class="el" href="../../dd/d79/_d_s___byte_pool_8cpp_source.xhtml#l00153">Clear()</a>, <a class="el" href="../../dd/d79/_d_s___byte_pool_8cpp_source.xhtml#l00101">Release()</a>, and <a class="el" href="../../dd/d79/_d_s___byte_pool_8cpp_source.xhtml#l00035">SetPageSize()</a>.</p>
</div>
</div>
<a class="anchor" id="a031434fb036ed4546d3b6bae0de7ea17"></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="../../de/df9/class_data_structures_1_1_memory_pool.xhtml">MemoryPool</a>&lt;unsigned char[8192]&gt; DataStructures::BytePool::pool8192</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="../../d4/dc7/_d_s___byte_pool_8h_source.xhtml#l00049">49</a> of file <a class="el" href="../../d4/dc7/_d_s___byte_pool_8h_source.xhtml">DS_BytePool.h</a>.</p>
<p>Referenced by <a class="el" href="../../dd/d79/_d_s___byte_pool_8cpp_source.xhtml#l00042">Allocate()</a>, <a class="el" href="../../dd/d79/_d_s___byte_pool_8cpp_source.xhtml#l00025">BytePool()</a>, <a class="el" href="../../dd/d79/_d_s___byte_pool_8cpp_source.xhtml#l00153">Clear()</a>, <a class="el" href="../../dd/d79/_d_s___byte_pool_8cpp_source.xhtml#l00101">Release()</a>, and <a class="el" href="../../dd/d79/_d_s___byte_pool_8cpp_source.xhtml#l00035">SetPageSize()</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="../../d4/dc7/_d_s___byte_pool_8h_source.xhtml">DS_BytePool.h</a></li>
<li>Source/src/<a class="el" href="../../dd/d79/_d_s___byte_pool_8cpp_source.xhtml">DS_BytePool.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="../../da/d80/namespace_data_structures.xhtml">DataStructures</a></li><li class="navelem"><a class="el" href="../../d4/dca/class_data_structures_1_1_byte_pool.xhtml">BytePool</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,8 @@
var class_w_s_a_startup_singleton =
[
[ "WSAStartupSingleton", "d4/dcb/class_w_s_a_startup_singleton.xhtml#a61904ff478f4e723e07a3184aab5f2f6", null ],
[ "~WSAStartupSingleton", "d4/dcb/class_w_s_a_startup_singleton.xhtml#ac4d6fabed743b4981a3674e60bba71d2", null ],
[ "AddRef", "d4/dcb/class_w_s_a_startup_singleton.xhtml#aec8c21ef29199bcf9be7f3568c8afadf", null ],
[ "Deref", "d4/dcb/class_w_s_a_startup_singleton.xhtml#ad33efe86b5377555e3062058b5a4be01", null ],
[ "refCount", "d4/dcb/class_w_s_a_startup_singleton.xhtml#a1f45de146975323eedad8b5640fe69fa", null ]
];

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: WSAStartupSingleton 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('d4/dcb/class_w_s_a_startup_singleton.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="#pro-static-attribs">Static Protected Attributes</a> &#124;
<a href="../../d9/dd1/class_w_s_a_startup_singleton-members.xhtml">List of all members</a> </div>
<div class="headertitle">
<div class="title">WSAStartupSingleton Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><code>#include &lt;<a class="el" href="../../da/d7e/_w_s_a_startup_singleton_8h_source.xhtml">slikenet/WSAStartupSingleton.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:a61904ff478f4e723e07a3184aab5f2f6"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/dcb/class_w_s_a_startup_singleton.xhtml#a61904ff478f4e723e07a3184aab5f2f6">WSAStartupSingleton</a> ()</td></tr>
<tr class="separator:a61904ff478f4e723e07a3184aab5f2f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac4d6fabed743b4981a3674e60bba71d2"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/dcb/class_w_s_a_startup_singleton.xhtml#ac4d6fabed743b4981a3674e60bba71d2">~WSAStartupSingleton</a> ()</td></tr>
<tr class="separator:ac4d6fabed743b4981a3674e60bba71d2"><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:aec8c21ef29199bcf9be7f3568c8afadf"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/dcb/class_w_s_a_startup_singleton.xhtml#aec8c21ef29199bcf9be7f3568c8afadf">AddRef</a> (void)</td></tr>
<tr class="separator:aec8c21ef29199bcf9be7f3568c8afadf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad33efe86b5377555e3062058b5a4be01"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/dcb/class_w_s_a_startup_singleton.xhtml#ad33efe86b5377555e3062058b5a4be01">Deref</a> (void)</td></tr>
<tr class="separator:ad33efe86b5377555e3062058b5a4be01"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-static-attribs"></a>
Static Protected Attributes</h2></td></tr>
<tr class="memitem:a1f45de146975323eedad8b5640fe69fa"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/dcb/class_w_s_a_startup_singleton.xhtml#a1f45de146975323eedad8b5640fe69fa">refCount</a> =0</td></tr>
<tr class="separator:a1f45de146975323eedad8b5640fe69fa"><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="../../da/d7e/_w_s_a_startup_singleton_8h_source.xhtml#l00014">14</a> of file <a class="el" href="../../da/d7e/_w_s_a_startup_singleton_8h_source.xhtml">WSAStartupSingleton.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a61904ff478f4e723e07a3184aab5f2f6"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">WSAStartupSingleton::WSAStartupSingleton </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="../../dc/d26/_w_s_a_startup_singleton_8cpp_source.xhtml#l00044">44</a> of file <a class="el" href="../../dc/d26/_w_s_a_startup_singleton_8cpp_source.xhtml">WSAStartupSingleton.cpp</a>.</p>
</div>
</div>
<a class="anchor" id="ac4d6fabed743b4981a3674e60bba71d2"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">WSAStartupSingleton::~WSAStartupSingleton </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="../../dc/d26/_w_s_a_startup_singleton_8cpp_source.xhtml#l00045">45</a> of file <a class="el" href="../../dc/d26/_w_s_a_startup_singleton_8cpp_source.xhtml">WSAStartupSingleton.cpp</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="aec8c21ef29199bcf9be7f3568c8afadf"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void WSAStartupSingleton::AddRef </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../dc/d26/_w_s_a_startup_singleton_8cpp_source.xhtml#l00046">46</a> of file <a class="el" href="../../dc/d26/_w_s_a_startup_singleton_8cpp_source.xhtml">WSAStartupSingleton.cpp</a>.</p>
<p>References <a class="el" href="../../dc/d26/_w_s_a_startup_singleton_8cpp_source.xhtml#l00038">_T</a>, <a class="el" href="../../d8/db0/defines_8h_source.xhtml#l00102">RAKNET_DEBUG_TPRINTF</a>, and <a class="el" href="../../da/d7e/_w_s_a_startup_singleton_8h_source.xhtml#l00023">refCount</a>.</p>
<p>Referenced by <a class="el" href="../../d3/d93/_rak_net_types_8cpp_source.xhtml#l00605">SLNet::SystemAddress::FromString()</a>, and <a class="el" href="../../d5/d55/_rak_peer_8cpp_source.xhtml#l00192">SLNet::RakPeer::RakPeer()</a>.</p>
</div>
</div>
<a class="anchor" id="ad33efe86b5377555e3062058b5a4be01"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void WSAStartupSingleton::Deref </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../dc/d26/_w_s_a_startup_singleton_8cpp_source.xhtml#l00077">77</a> of file <a class="el" href="../../dc/d26/_w_s_a_startup_singleton_8cpp_source.xhtml">WSAStartupSingleton.cpp</a>.</p>
<p>References <a class="el" href="../../da/d7e/_w_s_a_startup_singleton_8h_source.xhtml#l00023">refCount</a>.</p>
<p>Referenced by <a class="el" href="../../d3/d93/_rak_net_types_8cpp_source.xhtml#l00605">SLNet::SystemAddress::FromString()</a>, and <a class="el" href="../../d5/d55/_rak_peer_8cpp_source.xhtml#l00319">SLNet::RakPeer::~RakPeer()</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a class="anchor" id="a1f45de146975323eedad8b5640fe69fa"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int WSAStartupSingleton::refCount =0</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../da/d7e/_w_s_a_startup_singleton_8h_source.xhtml#l00023">23</a> of file <a class="el" href="../../da/d7e/_w_s_a_startup_singleton_8h_source.xhtml">WSAStartupSingleton.h</a>.</p>
<p>Referenced by <a class="el" href="../../dc/d26/_w_s_a_startup_singleton_8cpp_source.xhtml#l00046">AddRef()</a>, and <a class="el" href="../../dc/d26/_w_s_a_startup_singleton_8cpp_source.xhtml#l00077">Deref()</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="../../da/d7e/_w_s_a_startup_singleton_8h_source.xhtml">WSAStartupSingleton.h</a></li>
<li>Source/src/<a class="el" href="../../dc/d26/_w_s_a_startup_singleton_8cpp_source.xhtml">WSAStartupSingleton.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="../../d4/dcb/class_w_s_a_startup_singleton.xhtml">WSAStartupSingleton</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,9 @@
var _super_fast_hash_8cpp =
[
[ "get16bits", "d4/dcf/_super_fast_hash_8cpp.xhtml#abc7d71657be8975a51684e41029b7964", null ],
[ "SuperFastHash", "d4/dcf/_super_fast_hash_8cpp.xhtml#ae1d6670c44d102bfe359bed5b529bdf6", null ],
[ "SuperFastHashFile", "d4/dcf/_super_fast_hash_8cpp.xhtml#ab14f69dd56f375f68534678404453ce3", null ],
[ "SuperFastHashFilePtr", "d4/dcf/_super_fast_hash_8cpp.xhtml#ab806f0deca2ad62cdb41d01e4ed53e71", null ],
[ "SuperFastHashIncremental", "d4/dcf/_super_fast_hash_8cpp.xhtml#aa6ecdaa0cb791a159e46b91ad659f8ce", null ],
[ "INCREMENTAL_READ_BLOCK", "d4/dcf/_super_fast_hash_8cpp.xhtml#ac70c5dcfc7acdeffc17a2509f8ebe3f3", null ]
];

View File

@ -0,0 +1,314 @@
<!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/SuperFastHash.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('d4/dcf/_super_fast_hash_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="summary">
<a href="#define-members">Macros</a> &#124;
<a href="#func-members">Functions</a> &#124;
<a href="#var-members">Variables</a> </div>
<div class="headertitle">
<div class="title">SuperFastHash.cpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &quot;<a class="el" href="../../df/d8e/_super_fast_hash_8h_source.xhtml">slikenet/SuperFastHash.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../df/df2/_native_types_8h_source.xhtml">slikenet/NativeTypes.h</a>&quot;</code><br/>
<code>#include &lt;stdlib.h&gt;</code><br/>
<code>#include &lt;stdint.h&gt;</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="../../d4/dcf/_super_fast_hash_8cpp_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:abc7d71657be8975a51684e41029b7964"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/dcf/_super_fast_hash_8cpp.xhtml#abc7d71657be8975a51684e41029b7964">get16bits</a>(d)</td></tr>
<tr class="separator:abc7d71657be8975a51684e41029b7964"><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:ae1d6670c44d102bfe359bed5b529bdf6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../df/df2/_native_types_8h.xhtml#a6eb1e68cc391dd753bc8ce896dbb8315">uint32_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/dcf/_super_fast_hash_8cpp.xhtml#ae1d6670c44d102bfe359bed5b529bdf6">SuperFastHash</a> (const char *data, int length)</td></tr>
<tr class="separator:ae1d6670c44d102bfe359bed5b529bdf6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa6ecdaa0cb791a159e46b91ad659f8ce"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../df/df2/_native_types_8h.xhtml#a6eb1e68cc391dd753bc8ce896dbb8315">uint32_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/dcf/_super_fast_hash_8cpp.xhtml#aa6ecdaa0cb791a159e46b91ad659f8ce">SuperFastHashIncremental</a> (const char *data, int len, unsigned int lastHash)</td></tr>
<tr class="separator:aa6ecdaa0cb791a159e46b91ad659f8ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab14f69dd56f375f68534678404453ce3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../df/df2/_native_types_8h.xhtml#a6eb1e68cc391dd753bc8ce896dbb8315">uint32_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/dcf/_super_fast_hash_8cpp.xhtml#ab14f69dd56f375f68534678404453ce3">SuperFastHashFile</a> (const char *filename)</td></tr>
<tr class="separator:ab14f69dd56f375f68534678404453ce3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab806f0deca2ad62cdb41d01e4ed53e71"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../df/df2/_native_types_8h.xhtml#a6eb1e68cc391dd753bc8ce896dbb8315">uint32_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/dcf/_super_fast_hash_8cpp.xhtml#ab806f0deca2ad62cdb41d01e4ed53e71">SuperFastHashFilePtr</a> (FILE *fp)</td></tr>
<tr class="separator:ab806f0deca2ad62cdb41d01e4ed53e71"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
Variables</h2></td></tr>
<tr class="memitem:ac70c5dcfc7acdeffc17a2509f8ebe3f3"><td class="memItemLeft" align="right" valign="top">static const int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/dcf/_super_fast_hash_8cpp.xhtml#ac70c5dcfc7acdeffc17a2509f8ebe3f3">INCREMENTAL_READ_BLOCK</a> =65536</td></tr>
<tr class="separator:ac70c5dcfc7acdeffc17a2509f8ebe3f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a class="anchor" id="abc7d71657be8975a51684e41029b7964"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define get16bits</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">d</td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line">((((<a class="code" href="../../df/df2/_native_types_8h.xhtml#a6eb1e68cc391dd753bc8ce896dbb8315">uint32_t</a>)(((<span class="keyword">const</span> <a class="code" href="../../df/df2/_native_types_8h.xhtml#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *)(d))[1])) &lt;&lt; 8)\</div>
<div class="line"> +(<a class="code" href="../../df/df2/_native_types_8h.xhtml#a6eb1e68cc391dd753bc8ce896dbb8315">uint32_t</a>)(((<span class="keyword">const</span> <a class="code" href="../../df/df2/_native_types_8h.xhtml#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *)(d))[0]) )</div>
</div><!-- fragment -->
<p>Definition at line <a class="el" href="../../d4/dcf/_super_fast_hash_8cpp_source.xhtml#l00032">32</a> of file <a class="el" href="../../d4/dcf/_super_fast_hash_8cpp_source.xhtml">SuperFastHash.cpp</a>.</p>
<p>Referenced by <a class="el" href="../../d4/dcf/_super_fast_hash_8cpp_source.xhtml#l00058">SuperFastHashIncremental()</a>.</p>
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="ae1d6670c44d102bfe359bed5b529bdf6"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../df/df2/_native_types_8h.xhtml#a6eb1e68cc391dd753bc8ce896dbb8315">uint32_t</a> SuperFastHash </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">int&#160;</td>
<td class="paramname"><em>length</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="../../d4/dcf/_super_fast_hash_8cpp_source.xhtml#l00038">38</a> of file <a class="el" href="../../d4/dcf/_super_fast_hash_8cpp_source.xhtml">SuperFastHash.cpp</a>.</p>
<p>References <a class="el" href="../../d4/dcf/_super_fast_hash_8cpp_source.xhtml#l00036">INCREMENTAL_READ_BLOCK</a>, and <a class="el" href="../../d4/dcf/_super_fast_hash_8cpp_source.xhtml#l00058">SuperFastHashIncremental()</a>.</p>
</div>
</div>
<a class="anchor" id="ab14f69dd56f375f68534678404453ce3"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../df/df2/_native_types_8h.xhtml#a6eb1e68cc391dd753bc8ce896dbb8315">uint32_t</a> SuperFastHashFile </td>
<td>(</td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>filename</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d4/dcf/_super_fast_hash_8cpp_source.xhtml#l00106">106</a> of file <a class="el" href="../../d4/dcf/_super_fast_hash_8cpp_source.xhtml">SuperFastHash.cpp</a>.</p>
<p>References <a class="el" href="../../d4/dcf/_super_fast_hash_8cpp_source.xhtml#l00116">SuperFastHashFilePtr()</a>.</p>
</div>
</div>
<a class="anchor" id="ab806f0deca2ad62cdb41d01e4ed53e71"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../df/df2/_native_types_8h.xhtml#a6eb1e68cc391dd753bc8ce896dbb8315">uint32_t</a> SuperFastHashFilePtr </td>
<td>(</td>
<td class="paramtype">FILE *&#160;</td>
<td class="paramname"><em>fp</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d4/dcf/_super_fast_hash_8cpp_source.xhtml#l00116">116</a> of file <a class="el" href="../../d4/dcf/_super_fast_hash_8cpp_source.xhtml">SuperFastHash.cpp</a>.</p>
<p>References <a class="el" href="../../d4/dcf/_super_fast_hash_8cpp_source.xhtml#l00036">INCREMENTAL_READ_BLOCK</a>, and <a class="el" href="../../d4/dcf/_super_fast_hash_8cpp_source.xhtml#l00058">SuperFastHashIncremental()</a>.</p>
<p>Referenced by <a class="el" href="../../d4/dcf/_super_fast_hash_8cpp_source.xhtml#l00106">SuperFastHashFile()</a>.</p>
</div>
</div>
<a class="anchor" id="aa6ecdaa0cb791a159e46b91ad659f8ce"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../df/df2/_native_types_8h.xhtml#a6eb1e68cc391dd753bc8ce896dbb8315">uint32_t</a> SuperFastHashIncremental </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">int&#160;</td>
<td class="paramname"><em>len</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned int&#160;</td>
<td class="paramname"><em>lastHash</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="../../d4/dcf/_super_fast_hash_8cpp_source.xhtml#l00058">58</a> of file <a class="el" href="../../d4/dcf/_super_fast_hash_8cpp_source.xhtml">SuperFastHash.cpp</a>.</p>
<p>References <a class="el" href="../../d4/dcf/_super_fast_hash_8cpp_source.xhtml#l00032">get16bits</a>.</p>
<p>Referenced by <a class="el" href="../../d4/dcf/_super_fast_hash_8cpp_source.xhtml#l00038">SuperFastHash()</a>, <a class="el" href="../../d4/dcf/_super_fast_hash_8cpp_source.xhtml#l00116">SuperFastHashFilePtr()</a>, and <a class="el" href="../../d3/d93/_rak_net_types_8cpp_source.xhtml#l00212">SLNet::SystemAddress::ToInteger()</a>.</p>
</div>
</div>
<h2 class="groupheader">Variable Documentation</h2>
<a class="anchor" id="ac70c5dcfc7acdeffc17a2509f8ebe3f3"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const int INCREMENTAL_READ_BLOCK =65536</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="../../d4/dcf/_super_fast_hash_8cpp_source.xhtml#l00036">36</a> of file <a class="el" href="../../d4/dcf/_super_fast_hash_8cpp_source.xhtml">SuperFastHash.cpp</a>.</p>
<p>Referenced by <a class="el" href="../../d4/dcf/_super_fast_hash_8cpp_source.xhtml#l00038">SuperFastHash()</a>, and <a class="el" href="../../d4/dcf/_super_fast_hash_8cpp_source.xhtml#l00116">SuperFastHashFilePtr()</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_d1eb22c2ecfd8b50f59e9cbaf8260105.xhtml">src</a></li><li class="navelem"><a class="el" href="../../d4/dcf/_super_fast_hash_8cpp.xhtml">SuperFastHash.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,257 @@
<!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/SuperFastHash.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('d4/dcf/_super_fast_hash_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">SuperFastHash.cpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="../../d4/dcf/_super_fast_hash_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="../../df/d8e/_super_fast_hash_8h.xhtml">slikenet/SuperFastHash.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="../../df/df2/_native_types_8h.xhtml">slikenet/NativeTypes.h</a>&quot;</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="preprocessor">#include &lt;stdlib.h&gt;</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="preprocessor">#if !defined(_WIN32)</span></div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#include &lt;stdint.h&gt;</span></div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="preprocessor"></span><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="l00024"></a><span class="lineno"> 24</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="l00025"></a><span class="lineno"> 25</span>&#160;</div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="preprocessor">#undef get16bits</span></div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="preprocessor">#if (defined(__GNUC__) &amp;&amp; defined(__i386__)) || defined(__WATCOMC__) \</span></div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="preprocessor"> || defined(_MSC_VER) || defined (__BORLANDC__) || defined (__TURBOC__)</span></div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define get16bits(d) (*((const uint16_t *) (d)))</span></div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#else</span></div>
<div class="line"><a name="l00032"></a><span class="lineno"><a class="code" href="../../d4/dcf/_super_fast_hash_8cpp.xhtml#abc7d71657be8975a51684e41029b7964"> 32</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define get16bits(d) ((((uint32_t)(((const uint8_t *)(d))[1])) &lt;&lt; 8)\</span></div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="preprocessor"> +(uint32_t)(((const uint8_t *)(d))[0]) )</span></div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00036"></a><span class="lineno"><a class="code" href="../../d4/dcf/_super_fast_hash_8cpp.xhtml#ac70c5dcfc7acdeffc17a2509f8ebe3f3"> 36</a></span>&#160;<span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="../../d4/dcf/_super_fast_hash_8cpp.xhtml#ac70c5dcfc7acdeffc17a2509f8ebe3f3">INCREMENTAL_READ_BLOCK</a>=65536;</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"><a class="code" href="../../df/d8e/_super_fast_hash_8h.xhtml#ae1d6670c44d102bfe359bed5b529bdf6"> 38</a></span>&#160;<a class="code" href="../../df/df2/_native_types_8h.xhtml#a6eb1e68cc391dd753bc8ce896dbb8315">uint32_t</a> <a class="code" href="../../d4/dcf/_super_fast_hash_8cpp.xhtml#ae1d6670c44d102bfe359bed5b529bdf6">SuperFastHash</a> (<span class="keyword">const</span> <span class="keywordtype">char</span> * data, <span class="keywordtype">int</span> length)</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="comment">// All this is necessary or the hash does not match SuperFastHashIncremental</span></div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; <span class="keywordtype">int</span> bytesRemaining=length;</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> lastHash = length;</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; <span class="keywordtype">int</span> offset=0;</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; <span class="keywordflow">while</span> (bytesRemaining&gt;=<a class="code" href="../../d4/dcf/_super_fast_hash_8cpp.xhtml#ac70c5dcfc7acdeffc17a2509f8ebe3f3">INCREMENTAL_READ_BLOCK</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"> 46</span>&#160; lastHash=<a class="code" href="../../d4/dcf/_super_fast_hash_8cpp.xhtml#aa6ecdaa0cb791a159e46b91ad659f8ce">SuperFastHashIncremental</a> (data+offset, <a class="code" href="../../d4/dcf/_super_fast_hash_8cpp.xhtml#ac70c5dcfc7acdeffc17a2509f8ebe3f3">INCREMENTAL_READ_BLOCK</a>, lastHash );</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; bytesRemaining-=<a class="code" href="../../d4/dcf/_super_fast_hash_8cpp.xhtml#ac70c5dcfc7acdeffc17a2509f8ebe3f3">INCREMENTAL_READ_BLOCK</a>;</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; offset+=<a class="code" href="../../d4/dcf/_super_fast_hash_8cpp.xhtml#ac70c5dcfc7acdeffc17a2509f8ebe3f3">INCREMENTAL_READ_BLOCK</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> (bytesRemaining&gt;0)</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; lastHash=<a class="code" href="../../d4/dcf/_super_fast_hash_8cpp.xhtml#aa6ecdaa0cb791a159e46b91ad659f8ce">SuperFastHashIncremental</a> (data+offset, bytesRemaining, lastHash );</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="keywordflow">return</span> lastHash;</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="comment">// return SuperFastHashIncremental(data,len,len);</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"><a class="code" href="../../df/d8e/_super_fast_hash_8h.xhtml#aa6ecdaa0cb791a159e46b91ad659f8ce"> 58</a></span>&#160;<a class="code" href="../../df/df2/_native_types_8h.xhtml#a6eb1e68cc391dd753bc8ce896dbb8315">uint32_t</a> <a class="code" href="../../d4/dcf/_super_fast_hash_8cpp.xhtml#aa6ecdaa0cb791a159e46b91ad659f8ce">SuperFastHashIncremental</a> (<span class="keyword">const</span> <span class="keywordtype">char</span> * data, <span class="keywordtype">int</span> len, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> lastHash )</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; <a class="code" href="../../df/df2/_native_types_8h.xhtml#a6eb1e68cc391dd753bc8ce896dbb8315">uint32_t</a> hash = (<a class="code" href="../../df/df2/_native_types_8h.xhtml#a6eb1e68cc391dd753bc8ce896dbb8315">uint32_t</a>) lastHash;</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <a class="code" href="../../df/df2/_native_types_8h.xhtml#a6eb1e68cc391dd753bc8ce896dbb8315">uint32_t</a> tmp;</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <span class="keywordtype">int</span> rem;</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> (len &lt;= 0 || data == NULL) <span class="keywordflow">return</span> 0;</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; rem = len &amp; 3;</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; len &gt;&gt;= 2;</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="comment">/* Main loop */</span></div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <span class="keywordflow">for</span> (;len &gt; 0; len--) {</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; hash += <a class="code" href="../../d4/dcf/_super_fast_hash_8cpp.xhtml#abc7d71657be8975a51684e41029b7964">get16bits</a> (data);</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; tmp = (<a class="code" href="../../d4/dcf/_super_fast_hash_8cpp.xhtml#abc7d71657be8975a51684e41029b7964">get16bits</a> (data+2) &lt;&lt; 11) ^ hash;</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; hash = (hash &lt;&lt; 16) ^ tmp;</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; data += 2*<span class="keyword">sizeof</span> (<a class="code" href="../../df/df2/_native_types_8h.xhtml#a273cf69d639a59973b6019625df33e30">uint16_t</a>);</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; hash += hash &gt;&gt; 11;</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;</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <span class="comment">/* Handle end cases */</span></div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <span class="keywordflow">switch</span> (rem) {</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <span class="keywordflow">case</span> 3: hash += <a class="code" href="../../d4/dcf/_super_fast_hash_8cpp.xhtml#abc7d71657be8975a51684e41029b7964">get16bits</a> (data);</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; hash ^= hash &lt;&lt; 16;</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; hash ^= data[<span class="keyword">sizeof</span> (<a class="code" href="../../df/df2/_native_types_8h.xhtml#a273cf69d639a59973b6019625df33e30">uint16_t</a>)] &lt;&lt; 18;</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; hash += hash &gt;&gt; 11;</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <span class="keywordflow">case</span> 2: hash += <a class="code" href="../../d4/dcf/_super_fast_hash_8cpp.xhtml#abc7d71657be8975a51684e41029b7964">get16bits</a> (data);</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; hash ^= hash &lt;&lt; 11;</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; hash += hash &gt;&gt; 17;</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; <span class="keywordflow">case</span> 1: hash += *data;</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; hash ^= hash &lt;&lt; 10;</div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; hash += hash &gt;&gt; 1;</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;</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <span class="comment">/* Force &quot;avalanching&quot; of final 127 bits */</span></div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; hash ^= hash &lt;&lt; 3;</div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; hash += hash &gt;&gt; 5;</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; hash ^= hash &lt;&lt; 4;</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; hash += hash &gt;&gt; 17;</div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; hash ^= hash &lt;&lt; 25;</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; hash += hash &gt;&gt; 6;</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">return</span> (<a class="code" href="../../df/df2/_native_types_8h.xhtml#a6eb1e68cc391dd753bc8ce896dbb8315">uint32_t</a>) hash;</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;}</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;</div>
<div class="line"><a name="l00106"></a><span class="lineno"><a class="code" href="../../df/d8e/_super_fast_hash_8h.xhtml#ab14f69dd56f375f68534678404453ce3"> 106</a></span>&#160;<a class="code" href="../../df/df2/_native_types_8h.xhtml#a6eb1e68cc391dd753bc8ce896dbb8315">uint32_t</a> <a class="code" href="../../d4/dcf/_super_fast_hash_8cpp.xhtml#ab14f69dd56f375f68534678404453ce3">SuperFastHashFile</a> (<span class="keyword">const</span> <span class="keywordtype">char</span> * filename)</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; FILE *fp;</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <span class="keywordflow">if</span> (fopen_s(&amp;fp, filename, <span class="stringliteral">&quot;rb&quot;</span>)!=0)</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; <span class="keywordflow">return</span> 0;</div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <a class="code" href="../../df/df2/_native_types_8h.xhtml#a6eb1e68cc391dd753bc8ce896dbb8315">uint32_t</a> hash = <a class="code" href="../../d4/dcf/_super_fast_hash_8cpp.xhtml#ab806f0deca2ad62cdb41d01e4ed53e71">SuperFastHashFilePtr</a>(fp);</div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; fclose(fp);</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <span class="keywordflow">return</span> hash;</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="../../df/d8e/_super_fast_hash_8h.xhtml#ab806f0deca2ad62cdb41d01e4ed53e71"> 116</a></span>&#160;<a class="code" href="../../df/df2/_native_types_8h.xhtml#a6eb1e68cc391dd753bc8ce896dbb8315">uint32_t</a> <a class="code" href="../../d4/dcf/_super_fast_hash_8cpp.xhtml#ab806f0deca2ad62cdb41d01e4ed53e71">SuperFastHashFilePtr</a> (FILE *fp)</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; fseek(fp, 0, SEEK_END);</div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <span class="keywordtype">int</span> length = ftell(fp);</div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; fseek(fp, 0, SEEK_SET);</div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <span class="keywordtype">int</span> bytesRemaining=length;</div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> lastHash = length;</div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; <span class="keywordtype">char</span> readBlock[<a class="code" href="../../d4/dcf/_super_fast_hash_8cpp.xhtml#ac70c5dcfc7acdeffc17a2509f8ebe3f3">INCREMENTAL_READ_BLOCK</a>];</div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <span class="keywordflow">while</span> (bytesRemaining&gt;=(<span class="keywordtype">int</span>) <span class="keyword">sizeof</span>(readBlock))</div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; {</div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; fread(readBlock, <span class="keyword">sizeof</span>(readBlock), 1, fp);</div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; lastHash=<a class="code" href="../../d4/dcf/_super_fast_hash_8cpp.xhtml#aa6ecdaa0cb791a159e46b91ad659f8ce">SuperFastHashIncremental</a> (readBlock, (<span class="keywordtype">int</span>) <span class="keyword">sizeof</span>(readBlock), lastHash );</div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; bytesRemaining-=(int) <span class="keyword">sizeof</span>(readBlock);</div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; }</div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; <span class="keywordflow">if</span> (bytesRemaining&gt;0)</div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; {</div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; fread(readBlock, bytesRemaining, 1, fp);</div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; lastHash=<a class="code" href="../../d4/dcf/_super_fast_hash_8cpp.xhtml#aa6ecdaa0cb791a159e46b91ad659f8ce">SuperFastHashIncremental</a> (readBlock, bytesRemaining, lastHash );</div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; }</div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <span class="keywordflow">return</span> lastHash;</div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</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="../../d4/dcf/_super_fast_hash_8cpp.xhtml">SuperFastHash.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,157 @@
<!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/NatTypeDetectionServer.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('d4/dd5/_nat_type_detection_server_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">NatTypeDetectionServer.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>Contains the NAT-type detection code for the server.
<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/ddd/_plugin_interface2_8h_source.xhtml">PluginInterface2.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/>
<code>#include &quot;<a class="el" href="../../d4/dc5/_socket_includes_8h_source.xhtml">SocketIncludes.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../d6/d4d/_d_s___ordered_list_8h_source.xhtml">DS_OrderedList.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="../../d8/d2d/_nat_type_detection_common_8h_source.xhtml">NatTypeDetectionCommon.h</a>&quot;</code><br/>
</div>
<p><a href="../../d4/dd5/_nat_type_detection_server_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:dd/d27/class_s_l_net_1_1_nat_type_detection_server"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" 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">SLNet::NatTypeDetectionServer</a></td></tr>
<tr class="memdesc:dd/d27/class_s_l_net_1_1_nat_type_detection_server"><td class="mdescLeft">&#160;</td><td class="mdescRight">Server code for NatTypeDetection. <a 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">More...</a><br/></td></tr>
<tr class="separator:dd/d27/class_s_l_net_1_1_nat_type_detection_server"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:da/d80/struct_s_l_net_1_1_nat_type_detection_server_1_1_n_a_t_detection_attempt"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" 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#da/d80/struct_s_l_net_1_1_nat_type_detection_server_1_1_n_a_t_detection_attempt">SLNet::NatTypeDetectionServer::NATDetectionAttempt</a></td></tr>
<tr class="separator:da/d80/struct_s_l_net_1_1_nat_type_detection_server_1_1_n_a_t_detection_attempt"><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>Contains the NAT-type detection code for the server. </p>
<p>Definition in file <a class="el" href="../../d4/dd5/_nat_type_detection_server_8h_source.xhtml">NatTypeDetectionServer.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="../../d4/dd5/_nat_type_detection_server_8h.xhtml">NatTypeDetectionServer.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,235 @@
<!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/NatTypeDetectionServer.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('d4/dd5/_nat_type_detection_server_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">NatTypeDetectionServer.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="../../d4/dd5/_nat_type_detection_server_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;<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="l00021"></a><span class="lineno"> 21</span>&#160;<span class="preprocessor">#if _RAKNET_SUPPORT_NatTypeDetectionServer==1</span></div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="preprocessor">#ifndef __NAT_TYPE_DETECTION_SERVER_H</span></div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define __NAT_TYPE_DETECTION_SERVER_H</span></div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</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="l00027"></a><span class="lineno"> 27</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="l00028"></a><span class="lineno"> 28</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="l00029"></a><span class="lineno"> 29</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="l00030"></a><span class="lineno"> 30</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../d4/dc5/_socket_includes_8h.xhtml">SocketIncludes.h</a>&quot;</span></div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../d6/d4d/_d_s___ordered_list_8h.xhtml">DS_OrderedList.h</a>&quot;</span></div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</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="l00033"></a><span class="lineno"> 33</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../d8/d2d/_nat_type_detection_common_8h.xhtml">NatTypeDetectionCommon.h</a>&quot;</span></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;<span class="keyword">namespace </span>SLNet</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"> 39</span>&#160;<span class="keyword">class </span>RakPeerInterface;</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;<span class="keyword">struct </span>Packet;</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;</div>
<div class="line"><a name="l00060"></a><span class="lineno"><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"> 60</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="../../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> : <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>, <span class="keyword">public</span> <a class="code" href="../../d5/da8/class_s_l_net_1_1_r_n_s2_event_handler.xhtml">RNS2EventHandler</a></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="keyword">public</span>:</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="comment">// GetInstance() and DestroyInstance(instance*)</span></div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <a class="code" href="../../db/dbd/_export_8h.xhtml#af3e49377f340027d211b2814949efc48">STATIC_FACTORY_DECLARATIONS</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="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">// Constructor</span></div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</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#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="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">// Destructor</span></div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <span class="keyword">virtual</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#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="l00072"></a><span class="lineno"> 72</span>&#160;</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <span class="keywordtype">void</span> Startup(</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <span class="keyword">const</span> <span class="keywordtype">char</span> *nonRakNetIP2,</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <span class="keyword">const</span> <span class="keywordtype">char</span> *nonRakNetIP3,</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <span class="keyword">const</span> <span class="keywordtype">char</span> *nonRakNetIP4</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160;#ifdef __native_client__</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; ,<a class="code" href="../../d4/dc5/_socket_includes_8h.xhtml#afb515610f39898f2d6e545fe2f2f90ff">_PP_Instance_</a> chromeInstance</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160;#endif</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;</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; <span class="comment">// Releases the sockets created in Startup();</span></div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; <span class="keywordtype">void</span> Shutdown(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160;</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> Update(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160;</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</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> 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="l00094"></a><span class="lineno"> 94</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> OnClosedConnection(<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="l00095"></a><span class="lineno"> 95</span>&#160;</div>
<div class="line"><a name="l00096"></a><span class="lineno"><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"> 96</a></span>&#160; <span class="keyword">enum</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#aa2102d81cf3a7b2e389acc0856fe3e85">NATDetectionState</a></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"><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"> 98</a></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#aa2102d81cf3a7b2e389acc0856fe3e85a7f5088c20e42029db3e2df0297b93f8c">STATE_NONE</a>,</div>
<div class="line"><a name="l00099"></a><span class="lineno"><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"> 99</a></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#aa2102d81cf3a7b2e389acc0856fe3e85a89a075a313ce83f84140560aa8eaa398">STATE_TESTING_NONE_1</a>,</div>
<div class="line"><a name="l00100"></a><span class="lineno"><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"> 100</a></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#aa2102d81cf3a7b2e389acc0856fe3e85a5974dcfbb52096307f0da8dec2dc5cc5">STATE_TESTING_NONE_2</a>,</div>
<div class="line"><a name="l00101"></a><span class="lineno"><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"> 101</a></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#aa2102d81cf3a7b2e389acc0856fe3e85a064818dcb5ceeb5c4dbf76d0c36facea">STATE_TESTING_FULL_CONE_1</a>,</div>
<div class="line"><a name="l00102"></a><span class="lineno"><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"> 102</a></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#aa2102d81cf3a7b2e389acc0856fe3e85aa916339a5ddbe6c244dc4d4164b55472">STATE_TESTING_FULL_CONE_2</a>,</div>
<div class="line"><a name="l00103"></a><span class="lineno"><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"> 103</a></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#aa2102d81cf3a7b2e389acc0856fe3e85a1db166fa80fb53a38a106230c2aaf0fd">STATE_TESTING_ADDRESS_RESTRICTED_1</a>,</div>
<div class="line"><a name="l00104"></a><span class="lineno"><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"> 104</a></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#aa2102d81cf3a7b2e389acc0856fe3e85a91cb2f5e03551701cca2b80880e250b3">STATE_TESTING_ADDRESS_RESTRICTED_2</a>,</div>
<div class="line"><a name="l00105"></a><span class="lineno"><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"> 105</a></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#aa2102d81cf3a7b2e389acc0856fe3e85a2158034505c602d3f41b92d448f1a820">STATE_TESTING_PORT_RESTRICTED_1</a>,</div>
<div class="line"><a name="l00106"></a><span class="lineno"><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"> 106</a></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#aa2102d81cf3a7b2e389acc0856fe3e85a4b574fe9fb14d0bdca6a6bcfe3e69d70">STATE_TESTING_PORT_RESTRICTED_2</a>,</div>
<div class="line"><a name="l00107"></a><span class="lineno"><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#aa2102d81cf3a7b2e389acc0856fe3e85aa9a5389efd2b017695ec0a27fbf5d223"> 107</a></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#aa2102d81cf3a7b2e389acc0856fe3e85aa9a5389efd2b017695ec0a27fbf5d223">STATE_DONE</a>,</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;</div>
<div class="line"><a name="l00110"></a><span class="lineno"><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"> 110</a></span>&#160; <span class="keyword">struct </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#da/d80/struct_s_l_net_1_1_nat_type_detection_server_1_1_n_a_t_detection_attempt">NATDetectionAttempt</a></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"><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#ae92acd5ddf5e8c5bdb2ad7fa98738e8a"> 112</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="../../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#ae92acd5ddf5e8c5bdb2ad7fa98738e8a">systemAddress</a>;</div>
<div class="line"><a name="l00113"></a><span class="lineno"><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#a86dc4ed85ec640259f25384eba8b09d1"> 113</a></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#aa2102d81cf3a7b2e389acc0856fe3e85">NATDetectionState</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#a86dc4ed85ec640259f25384eba8b09d1">detectionState</a>;</div>
<div class="line"><a name="l00114"></a><span class="lineno"><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#a65d7172f31a9a03e852e673fcfdcd841"> 114</a></span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a26b4eb1be8467562f791e3c5af4a67ae">SLNet::TimeMS</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#a65d7172f31a9a03e852e673fcfdcd841">nextStateTime</a>;</div>
<div class="line"><a name="l00115"></a><span class="lineno"><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#adddbbad7feec91100cc5b4c96a39c14c"> 115</a></span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a26b4eb1be8467562f791e3c5af4a67ae">SLNet::TimeMS</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#adddbbad7feec91100cc5b4c96a39c14c">timeBetweenAttempts</a>;</div>
<div class="line"><a name="l00116"></a><span class="lineno"><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#ac0ab27f031065964ec53ee57117017c1"> 116</a></span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">short</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#ac0ab27f031065964ec53ee57117017c1">c2Port</a>;</div>
<div class="line"><a name="l00117"></a><span class="lineno"><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#af267daa1d7d1c19f2bcefd9780e2ec31"> 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="../../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#af267daa1d7d1c19f2bcefd9780e2ec31">guid</a>;</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;</div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> OnRNS2Recv(<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="l00121"></a><span class="lineno"> 121</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> DeallocRNS2RecvStruct(<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="l00122"></a><span class="lineno"> 122</span>&#160; <span class="keyword">virtual</span> <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> *AllocRNS2RecvStruct(<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="l00123"></a><span class="lineno"> 123</span>&#160;<span class="keyword">protected</span>:</div>
<div class="line"><a name="l00124"></a><span class="lineno"><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"> 124</a></span>&#160; <a class="code" href="../../d3/d87/class_data_structures_1_1_queue.xhtml">DataStructures::Queue&lt;RNS2RecvStruct*&gt;</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>;</div>
<div class="line"><a name="l00125"></a><span class="lineno"><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"> 125</a></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> <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>;</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> OnDetectionRequest(<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="l00128"></a><span class="lineno"><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"> 128</a></span>&#160; <a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml">DataStructures::List&lt;NATDetectionAttempt&gt;</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>;</div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> GetDetectionAttemptIndex(<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="l00130"></a><span class="lineno"> 130</span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> GetDetectionAttemptIndex(<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="l00131"></a><span class="lineno"> 131</span>&#160;</div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; <span class="comment">// s1p1 is rakpeer itself</span></div>
<div class="line"><a name="l00133"></a><span class="lineno"><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"> 133</a></span>&#160; <a class="code" href="../../d1/dde/class_s_l_net_1_1_rak_net_socket2.xhtml">RakNetSocket2</a> *s1p2,*s2p3,*s3p4,*<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="l00134"></a><span class="lineno"> 134</span>&#160; <span class="comment">//unsigned short s1p2Port, s2p3Port, s3p4Port, s4p5Port;</span></div>
<div class="line"><a name="l00135"></a><span class="lineno"><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"> 135</a></span>&#160; <span class="keywordtype">char</span> s3p4Address[64];</div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;};</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;</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 class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</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="../../d4/dd5/_nat_type_detection_server_8h.xhtml">NatTypeDetectionServer.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,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('dd/d2b/struct_data_structures_1_1_range_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::RangeNode&lt; range_type &gt; Member List</div> </div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="../../dd/d2b/struct_data_structures_1_1_range_node.xhtml">DataStructures::RangeNode&lt; range_type &gt;</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="../../dd/d2b/struct_data_structures_1_1_range_node.xhtml#a087fd2d24add7891e90ab545d38e8040">maxIndex</a></td><td class="entry"><a class="el" href="../../dd/d2b/struct_data_structures_1_1_range_node.xhtml">DataStructures::RangeNode&lt; range_type &gt;</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../dd/d2b/struct_data_structures_1_1_range_node.xhtml#a836ce2252f7eb8fba94ffd98cf26f8f3">minIndex</a></td><td class="entry"><a class="el" href="../../dd/d2b/struct_data_structures_1_1_range_node.xhtml">DataStructures::RangeNode&lt; range_type &gt;</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../dd/d2b/struct_data_structures_1_1_range_node.xhtml#ac4358d5cd652e0c352ac865efa17c7ef">RangeNode</a>()</td><td class="entry"><a class="el" href="../../dd/d2b/struct_data_structures_1_1_range_node.xhtml">DataStructures::RangeNode&lt; range_type &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../dd/d2b/struct_data_structures_1_1_range_node.xhtml#a6adc5bdb28b073a00cccdff7f36da3b0">RangeNode</a>(range_type min, range_type max)</td><td class="entry"><a class="el" href="../../dd/d2b/struct_data_structures_1_1_range_node.xhtml">DataStructures::RangeNode&lt; range_type &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../dd/d2b/struct_data_structures_1_1_range_node.xhtml#a4cb0fad04a1626633cf678b581b286b6">~RangeNode</a>()</td><td class="entry"><a class="el" href="../../dd/d2b/struct_data_structures_1_1_range_node.xhtml">DataStructures::RangeNode&lt; range_type &gt;</a></td><td class="entry"><span class="mlabel">inline</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,67 @@
var group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p =
[
[ "NatTypeDetectionClient", "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#d2/d32/class_s_l_net_1_1_nat_type_detection_client", [
[ "NatTypeDetectionClient", "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#a9e2d865e4d8fbff894197e8c94353d83", null ],
[ "~NatTypeDetectionClient", "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#a1c388a3748d35129675a73a85e942a3e", null ],
[ "AllocRNS2RecvStruct", "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#acb42df2d3008aee1794e1048e0859f0d", null ],
[ "DeallocRNS2RecvStruct", "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#a3028ee27c4ac77c0332775cdb8589d44", null ],
[ "DetectNATType", "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#a8c7b65beb45eb29b117e7b8dca0d0dfa", null ],
[ "IsInProgress", "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#aaace3fcfc56711c4830824445e12a5f1", null ],
[ "OnClosedConnection", "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#ade11742c5133ac49b8ce61664f4357c5", null ],
[ "OnCompletion", "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#a8efcf97fec1d0abf489d1a046c86edc9", null ],
[ "OnDetach", "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#ad384dfcc22bb1a83170b11ce06c8e059", null ],
[ "OnRakPeerShutdown", "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#ace4ca532373fa4a934256abe33ec0dc1", null ],
[ "OnReceive", "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#a2c452f37726189297d043ba3e02340ad", null ],
[ "OnRNS2Recv", "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#a2cc411126d65d691cf0b270b5723ea13", null ],
[ "OnTestPortRestricted", "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#af42a0d8da81122a6197403d57a8ae674", null ],
[ "Shutdown", "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#ac4f69e6e9b6fb1b71c9ccb3289602c4d", null ],
[ "Update", "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#a34f6c2dae2fed71b43b8a5c628da5771", null ],
[ "bufferedPackets", "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#a4ee824336f70da5ec41d5a7543656358", null ],
[ "bufferedPacketsMutex", "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#adce08370ed20c337678b3008a078b0ff", null ],
[ "c2", "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#a6a361e674965d2198f8c03fc6d7ec341", null ],
[ "serverAddress", "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#a5bda0131f7b5c21b3b673cfab183b452", null ]
] ],
[ "NatTypeDetectionServer", "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", [
[ "NATDetectionState", "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", [
[ "STATE_NONE", "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", null ],
[ "STATE_TESTING_NONE_1", "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", null ],
[ "STATE_TESTING_NONE_2", "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", null ],
[ "STATE_TESTING_FULL_CONE_1", "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", null ],
[ "STATE_TESTING_FULL_CONE_2", "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", null ],
[ "STATE_TESTING_ADDRESS_RESTRICTED_1", "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", null ],
[ "STATE_TESTING_ADDRESS_RESTRICTED_2", "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", null ],
[ "STATE_TESTING_PORT_RESTRICTED_1", "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", null ],
[ "STATE_TESTING_PORT_RESTRICTED_2", "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", null ],
[ "STATE_DONE", "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#aa2102d81cf3a7b2e389acc0856fe3e85aa9a5389efd2b017695ec0a27fbf5d223", null ]
] ],
[ "NatTypeDetectionServer", "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", null ],
[ "~NatTypeDetectionServer", "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", null ],
[ "AllocRNS2RecvStruct", "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", null ],
[ "DeallocRNS2RecvStruct", "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", null ],
[ "GetDetectionAttemptIndex", "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", null ],
[ "GetDetectionAttemptIndex", "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#aea1cd6e8b5e9d61dcb9a4ed9daafb238", null ],
[ "OnClosedConnection", "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", null ],
[ "OnDetectionRequest", "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", null ],
[ "OnReceive", "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", null ],
[ "OnRNS2Recv", "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", null ],
[ "Shutdown", "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", null ],
[ "Startup", "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", null ],
[ "Update", "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", null ],
[ "bufferedPackets", "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", null ],
[ "bufferedPacketsMutex", "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", null ],
[ "natDetectionAttempts", "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", null ],
[ "s1p2", "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", null ],
[ "s2p3", "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", null ],
[ "s3p4", "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", null ],
[ "s3p4Address", "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", null ],
[ "s4p5", "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", null ]
] ],
[ "NATDetectionAttempt", "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#da/d80/struct_s_l_net_1_1_nat_type_detection_server_1_1_n_a_t_detection_attempt", [
[ "c2Port", "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#ac0ab27f031065964ec53ee57117017c1", null ],
[ "detectionState", "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#a86dc4ed85ec640259f25384eba8b09d1", null ],
[ "guid", "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#af267daa1d7d1c19f2bcefd9780e2ec31", null ],
[ "nextStateTime", "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#a65d7172f31a9a03e852e673fcfdcd841", null ],
[ "systemAddress", "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#ae92acd5ddf5e8c5bdb2ad7fa98738e8a", null ],
[ "timeBetweenAttempts", "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#adddbbad7feec91100cc5b4c96a39c14c", null ]
] ]
];

View File

@ -0,0 +1,73 @@
var class_data_structures_1_1_table =
[
[ "Cell", "dc/d80/struct_data_structures_1_1_table_1_1_cell.xhtml", "dc/d80/struct_data_structures_1_1_table_1_1_cell" ],
[ "ColumnDescriptor", "d9/d84/struct_data_structures_1_1_table_1_1_column_descriptor.xhtml", "d9/d84/struct_data_structures_1_1_table_1_1_column_descriptor" ],
[ "FilterQuery", "dd/db4/struct_data_structures_1_1_table_1_1_filter_query.xhtml", "dd/db4/struct_data_structures_1_1_table_1_1_filter_query" ],
[ "Row", "d6/dd3/struct_data_structures_1_1_table_1_1_row.xhtml", "d6/dd3/struct_data_structures_1_1_table_1_1_row" ],
[ "SortQuery", "d4/de5/class_data_structures_1_1_table.xhtml#dc/dea/struct_data_structures_1_1_table_1_1_sort_query", [
[ "columnIndex", "d4/de5/class_data_structures_1_1_table.xhtml#aba3987126a70fa6aa50a0abfc60b91ab", null ],
[ "operation", "d4/de5/class_data_structures_1_1_table.xhtml#a34d1df32067ec566580fe72aea8f0d9c", null ]
] ],
[ "ColumnType", "d4/de5/class_data_structures_1_1_table.xhtml#af24fe2724b507f329c7754ea6985abed", [
[ "NUMERIC", "d4/de5/class_data_structures_1_1_table.xhtml#af24fe2724b507f329c7754ea6985abeda3c22480145b2a7c8818f3c3baf7c8692", null ],
[ "STRING", "d4/de5/class_data_structures_1_1_table.xhtml#af24fe2724b507f329c7754ea6985abedaf2b7a2432e2c786ff02052286df310af", null ],
[ "BINARY", "d4/de5/class_data_structures_1_1_table.xhtml#af24fe2724b507f329c7754ea6985abeda2550a73a55b0ab443d0bd782927f7acd", null ],
[ "POINTER", "d4/de5/class_data_structures_1_1_table.xhtml#af24fe2724b507f329c7754ea6985abeda5f31a94399b1ed3b469c71b3c55cace1", null ]
] ],
[ "FilterQueryType", "d4/de5/class_data_structures_1_1_table.xhtml#a64a115f6653bf7b0b7fddfcbc769ef74", [
[ "QF_EQUAL", "d4/de5/class_data_structures_1_1_table.xhtml#a64a115f6653bf7b0b7fddfcbc769ef74a636c5c889fb0a8e264b45554d339f143", null ],
[ "QF_NOT_EQUAL", "d4/de5/class_data_structures_1_1_table.xhtml#a64a115f6653bf7b0b7fddfcbc769ef74a174ccaad3f061def3348ad7d0a8e22f6", null ],
[ "QF_GREATER_THAN", "d4/de5/class_data_structures_1_1_table.xhtml#a64a115f6653bf7b0b7fddfcbc769ef74a448b10241a1158d283f72e7245e251b5", null ],
[ "QF_GREATER_THAN_EQ", "d4/de5/class_data_structures_1_1_table.xhtml#a64a115f6653bf7b0b7fddfcbc769ef74a06caf624eb7a17b6b6a8b036d9d36d7c", null ],
[ "QF_LESS_THAN", "d4/de5/class_data_structures_1_1_table.xhtml#a64a115f6653bf7b0b7fddfcbc769ef74aa65b69a190af229184b358fd684c1007", null ],
[ "QF_LESS_THAN_EQ", "d4/de5/class_data_structures_1_1_table.xhtml#a64a115f6653bf7b0b7fddfcbc769ef74a562f8468079cabad214dcf56a3a46b59", null ],
[ "QF_IS_EMPTY", "d4/de5/class_data_structures_1_1_table.xhtml#a64a115f6653bf7b0b7fddfcbc769ef74ae31852182687b0a57072b78d0e75d65f", null ],
[ "QF_NOT_EMPTY", "d4/de5/class_data_structures_1_1_table.xhtml#a64a115f6653bf7b0b7fddfcbc769ef74a0630f71e2ede7c11002f40afc262cd0a", null ]
] ],
[ "SortQueryType", "d4/de5/class_data_structures_1_1_table.xhtml#a736b2ab44bd8d4159bad88d4ae04665d", [
[ "QS_INCREASING_ORDER", "d4/de5/class_data_structures_1_1_table.xhtml#a736b2ab44bd8d4159bad88d4ae04665da6b0a1454dd5cd763982d571adc76ce81", null ],
[ "QS_DECREASING_ORDER", "d4/de5/class_data_structures_1_1_table.xhtml#a736b2ab44bd8d4159bad88d4ae04665daf2109e473e388613032a18e30c8ef2e7", null ]
] ],
[ "Table", "d4/de5/class_data_structures_1_1_table.xhtml#a049f2e06391781ae255c6698869c4ad1", null ],
[ "~Table", "d4/de5/class_data_structures_1_1_table.xhtml#a9a559f2e7beb37b511ee9f88873164f8", null ],
[ "AddColumn", "d4/de5/class_data_structures_1_1_table.xhtml#a3c2015a75baeec5db76f56cd60f16059", null ],
[ "AddRow", "d4/de5/class_data_structures_1_1_table.xhtml#a2692e5348c98bcf1328ed40f72fcae60", null ],
[ "AddRow", "d4/de5/class_data_structures_1_1_table.xhtml#add6a2128c677804b3c632bcee6657cc0", null ],
[ "AddRow", "d4/de5/class_data_structures_1_1_table.xhtml#a5e94a83faddf086738c0a1f5cc8a4f0e", null ],
[ "AddRowColumns", "d4/de5/class_data_structures_1_1_table.xhtml#a952f70d813ff248c4c6ebf9000903b6c", null ],
[ "Clear", "d4/de5/class_data_structures_1_1_table.xhtml#a6deddcab925ca223177ecf9caf611e08", null ],
[ "ColumnIndex", "d4/de5/class_data_structures_1_1_table.xhtml#ad3cbc38a3f3df19ff1131165b1f929e1", null ],
[ "ColumnIndex", "d4/de5/class_data_structures_1_1_table.xhtml#ab064ed28cc2fc43bfe1c293d5ae3c485", null ],
[ "ColumnName", "d4/de5/class_data_structures_1_1_table.xhtml#a29f31372b2c0ef0c70eb24905bde7a75", null ],
[ "DeleteRow", "d4/de5/class_data_structures_1_1_table.xhtml#a29caf257d5c491a56c897e35b82fd7d6", null ],
[ "GetAvailableRowId", "d4/de5/class_data_structures_1_1_table.xhtml#a68cc0e1cf1e1d03ca5087ddf91c74c6f", null ],
[ "GetCellValueByIndex", "d4/de5/class_data_structures_1_1_table.xhtml#a9161220f934e20abf9fbd00b149540b8", null ],
[ "GetCellValueByIndex", "d4/de5/class_data_structures_1_1_table.xhtml#afc8a0582ca67cd833f46c76e145069b5", null ],
[ "GetCellValueByIndex", "d4/de5/class_data_structures_1_1_table.xhtml#ac55ae24585dbf6bda8bbc0217c3e0e45", null ],
[ "GetCellValueByIndex", "d4/de5/class_data_structures_1_1_table.xhtml#a40ec8206e20b0ca897baacb74bb48a1c", null ],
[ "GetColumnCount", "d4/de5/class_data_structures_1_1_table.xhtml#ae2b9b78e1442c3141966159fcafdbec9", null ],
[ "GetColumns", "d4/de5/class_data_structures_1_1_table.xhtml#ad91aa7d4f82573bbd2ab0033397e4d8c", null ],
[ "GetColumnType", "d4/de5/class_data_structures_1_1_table.xhtml#ab59438e4627af7a1de543357cc8bdf87", null ],
[ "GetListHead", "d4/de5/class_data_structures_1_1_table.xhtml#a9e1605b4081ed2d76bfb5d629fd11a30", null ],
[ "GetRowByID", "d4/de5/class_data_structures_1_1_table.xhtml#a210e9c793ad3791abb7ac2f85bbb999a", null ],
[ "GetRowByIndex", "d4/de5/class_data_structures_1_1_table.xhtml#a5adf57e72953f28c56b29283089b7a12", null ],
[ "GetRowCount", "d4/de5/class_data_structures_1_1_table.xhtml#a5c9d8fa5c48b53d853106eb4dc0d9c77", null ],
[ "GetRows", "d4/de5/class_data_structures_1_1_table.xhtml#a9e64c5424930e8ca30081e3d997871d7", null ],
[ "operator=", "d4/de5/class_data_structures_1_1_table.xhtml#a6f8c5f184b35b8f764ed1a6099fe0d48", null ],
[ "PrintColumnHeaders", "d4/de5/class_data_structures_1_1_table.xhtml#a4af6460bb3e2de14f9b1d9b9b624007d", null ],
[ "PrintRow", "d4/de5/class_data_structures_1_1_table.xhtml#a8a92bac56cce20e4a1b5495d5290482e", null ],
[ "QueryRow", "d4/de5/class_data_structures_1_1_table.xhtml#a1f6ab894e9dfaaba22c2ff84041523fc", null ],
[ "QueryTable", "d4/de5/class_data_structures_1_1_table.xhtml#a2a1773dc843e80235fe33893bc4a639c", null ],
[ "RemoveColumn", "d4/de5/class_data_structures_1_1_table.xhtml#a4ee961572de1236cc64d502abcaca369", null ],
[ "RemoveRow", "d4/de5/class_data_structures_1_1_table.xhtml#afe51f45747401157b45ec7d5a74f1a41", null ],
[ "RemoveRows", "d4/de5/class_data_structures_1_1_table.xhtml#a507e418b8f2b208c5178c4860b26d736", null ],
[ "SortTable", "d4/de5/class_data_structures_1_1_table.xhtml#a72f2c9f7e6ccf3997b18c2fa70f3704d", null ],
[ "UpdateCell", "d4/de5/class_data_structures_1_1_table.xhtml#a29a82fdfc3cbbe1807d942b2a5e8f59a", null ],
[ "UpdateCell", "d4/de5/class_data_structures_1_1_table.xhtml#aa06af34adffba892a5f97188854da995", null ],
[ "UpdateCell", "d4/de5/class_data_structures_1_1_table.xhtml#a95dfa60835984102bc4bf63727ee2447", null ],
[ "UpdateCellByIndex", "d4/de5/class_data_structures_1_1_table.xhtml#a835c4468deece06016b8717ff3da9058", null ],
[ "UpdateCellByIndex", "d4/de5/class_data_structures_1_1_table.xhtml#a6ee0119ce0029639f21fc49b6585ef13", null ],
[ "UpdateCellByIndex", "d4/de5/class_data_structures_1_1_table.xhtml#ad47a84657b2ca3da9389789590485592", null ],
[ "columns", "d4/de5/class_data_structures_1_1_table.xhtml#a4db7dd0db18e0403b760b984defbafc9", null ],
[ "rows", "d4/de5/class_data_structures_1_1_table.xhtml#a5dbe3b763c4ba74b34c02b08fd4ad88e", null ]
];

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,13 @@
var class_data_structures_1_1_range_list =
[
[ "RangeList", "d4/df2/class_data_structures_1_1_range_list.xhtml#a3fe8b29b55ae65a0d6708fd294e077b1", null ],
[ "~RangeList", "d4/df2/class_data_structures_1_1_range_list.xhtml#a8446e104d12556447b50d38a2a10910d", null ],
[ "Clear", "d4/df2/class_data_structures_1_1_range_list.xhtml#a7bac8a0538ffe6d10e61eaf94bd3e19a", null ],
[ "Deserialize", "d4/df2/class_data_structures_1_1_range_list.xhtml#af825d2ae8b5490f5a102b1255624c1fb", null ],
[ "Insert", "d4/df2/class_data_structures_1_1_range_list.xhtml#a53378f34c54e2393a59aba8cdf6ba792", null ],
[ "IsWithinRange", "d4/df2/class_data_structures_1_1_range_list.xhtml#a9a1cbc8374cb80903bb08472deb924a7", null ],
[ "RangeSum", "d4/df2/class_data_structures_1_1_range_list.xhtml#a9ca3ee08062ee2a993c37a0910a3e343", null ],
[ "Serialize", "d4/df2/class_data_structures_1_1_range_list.xhtml#aee8f6a3b4a872847a6b495c8557d8817", null ],
[ "Size", "d4/df2/class_data_structures_1_1_range_list.xhtml#a5dae90c5e4f3f575e78c01fc708a85c0", null ],
[ "ranges", "d4/df2/class_data_structures_1_1_range_list.xhtml#a01e3478712140cf3d891da0f865bddd1", null ]
];

View File

@ -0,0 +1,401 @@
<!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: DataStructures::RangeList&lt; range_type &gt; Class Template 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('d4/df2/class_data_structures_1_1_range_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-attribs">Public Attributes</a> &#124;
<a href="../../d9/d25/class_data_structures_1_1_range_list-members.xhtml">List of all members</a> </div>
<div class="headertitle">
<div class="title">DataStructures::RangeList&lt; range_type &gt; Class Template Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><code>#include &lt;<a class="el" href="../../d3/d41/_d_s___range_list_8h_source.xhtml">slikenet/DS_RangeList.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 DataStructures::RangeList&lt; range_type &gt;:</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"><iframe scrolling="no" frameborder="0" src="../../df/dd9/class_data_structures_1_1_range_list__inherit__graph.svg" width="304" height="507"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</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:a3fe8b29b55ae65a0d6708fd294e077b1"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/df2/class_data_structures_1_1_range_list.xhtml#a3fe8b29b55ae65a0d6708fd294e077b1">RangeList</a> ()</td></tr>
<tr class="separator:a3fe8b29b55ae65a0d6708fd294e077b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8446e104d12556447b50d38a2a10910d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/df2/class_data_structures_1_1_range_list.xhtml#a8446e104d12556447b50d38a2a10910d">~RangeList</a> ()</td></tr>
<tr class="separator:a8446e104d12556447b50d38a2a10910d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a53378f34c54e2393a59aba8cdf6ba792"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/df2/class_data_structures_1_1_range_list.xhtml#a53378f34c54e2393a59aba8cdf6ba792">Insert</a> (range_type index)</td></tr>
<tr class="separator:a53378f34c54e2393a59aba8cdf6ba792"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7bac8a0538ffe6d10e61eaf94bd3e19a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/df2/class_data_structures_1_1_range_list.xhtml#a7bac8a0538ffe6d10e61eaf94bd3e19a">Clear</a> (void)</td></tr>
<tr class="separator:a7bac8a0538ffe6d10e61eaf94bd3e19a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9a1cbc8374cb80903bb08472deb924a7"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/df2/class_data_structures_1_1_range_list.xhtml#a9a1cbc8374cb80903bb08472deb924a7">IsWithinRange</a> (range_type value) const </td></tr>
<tr class="separator:a9a1cbc8374cb80903bb08472deb924a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5dae90c5e4f3f575e78c01fc708a85c0"><td class="memItemLeft" align="right" valign="top">unsigned&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/df2/class_data_structures_1_1_range_list.xhtml#a5dae90c5e4f3f575e78c01fc708a85c0">Size</a> (void) const </td></tr>
<tr class="separator:a5dae90c5e4f3f575e78c01fc708a85c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9ca3ee08062ee2a993c37a0910a3e343"><td class="memItemLeft" align="right" valign="top">unsigned&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/df2/class_data_structures_1_1_range_list.xhtml#a9ca3ee08062ee2a993c37a0910a3e343">RangeSum</a> (void) const </td></tr>
<tr class="separator:a9ca3ee08062ee2a993c37a0910a3e343"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aee8f6a3b4a872847a6b495c8557d8817"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#a227d2a5f9683a34d9d1e70772fd556ec">SLNet::BitSize_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/df2/class_data_structures_1_1_range_list.xhtml#aee8f6a3b4a872847a6b495c8557d8817">Serialize</a> (<a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a> *in, <a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#a227d2a5f9683a34d9d1e70772fd556ec">SLNet::BitSize_t</a> maxBits, bool clearSerialized)</td></tr>
<tr class="separator:aee8f6a3b4a872847a6b495c8557d8817"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af825d2ae8b5490f5a102b1255624c1fb"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/df2/class_data_structures_1_1_range_list.xhtml#af825d2ae8b5490f5a102b1255624c1fb">Deserialize</a> (<a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a> *out)</td></tr>
<tr class="separator:af825d2ae8b5490f5a102b1255624c1fb"><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:a01e3478712140cf3d891da0f865bddd1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../da/dfc/class_data_structures_1_1_ordered_list.xhtml">DataStructures::OrderedList</a><br class="typebreak"/>
&lt; range_type, <a class="el" href="../../dd/d2b/struct_data_structures_1_1_range_node.xhtml">RangeNode</a><br class="typebreak"/>
&lt; range_type &gt;, <a class="el" href="../../da/d80/namespace_data_structures.xhtml#afc5f5975263bc574b36bd99c3720dc83">RangeNodeComp</a><br class="typebreak"/>
&lt; range_type &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/df2/class_data_structures_1_1_range_list.xhtml#a01e3478712140cf3d891da0f865bddd1">ranges</a></td></tr>
<tr class="separator:a01e3478712140cf3d891da0f865bddd1"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><h3>template&lt;class range_type&gt;<br/>
class DataStructures::RangeList&lt; range_type &gt;</h3>
<p>Definition at line <a class="el" href="../../d3/d41/_d_s___range_list_8h_source.xhtml#l00056">56</a> of file <a class="el" href="../../d3/d41/_d_s___range_list_8h_source.xhtml">DS_RangeList.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a3fe8b29b55ae65a0d6708fd294e077b1"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class range_type &gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../d4/df2/class_data_structures_1_1_range_list.xhtml">DataStructures::RangeList</a>&lt; range_type &gt;::<a class="el" href="../../d4/df2/class_data_structures_1_1_range_list.xhtml">RangeList</a> </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="../../d3/d41/_d_s___range_list_8h_source.xhtml#l00188">188</a> of file <a class="el" href="../../d3/d41/_d_s___range_list_8h_source.xhtml">DS_RangeList.h</a>.</p>
</div>
</div>
<a class="anchor" id="a8446e104d12556447b50d38a2a10910d"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class range_type &gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../d4/df2/class_data_structures_1_1_range_list.xhtml">DataStructures::RangeList</a>&lt; range_type &gt;::~<a class="el" href="../../d4/df2/class_data_structures_1_1_range_list.xhtml">RangeList</a> </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="../../d3/d41/_d_s___range_list_8h_source.xhtml#l00194">194</a> of file <a class="el" href="../../d3/d41/_d_s___range_list_8h_source.xhtml">DS_RangeList.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a7bac8a0538ffe6d10e61eaf94bd3e19a"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class range_type &gt; </div>
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="../../d4/df2/class_data_structures_1_1_range_list.xhtml">DataStructures::RangeList</a>&lt; range_type &gt;::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>Definition at line <a class="el" href="../../d3/d41/_d_s___range_list_8h_source.xhtml#l00265">265</a> of file <a class="el" href="../../d3/d41/_d_s___range_list_8h_source.xhtml">DS_RangeList.h</a>.</p>
<p>References <a class="el" href="../../d8/db0/defines_8h_source.xhtml#l00047">_FILE_AND_LINE_</a>.</p>
</div>
</div>
<a class="anchor" id="af825d2ae8b5490f5a102b1255624c1fb"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class range_type &gt; </div>
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="../../d4/df2/class_data_structures_1_1_range_list.xhtml">DataStructures::RangeList</a>&lt; range_type &gt;::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>out</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d3/d41/_d_s___range_list_8h_source.xhtml#l00127">127</a> of file <a class="el" href="../../d3/d41/_d_s___range_list_8h_source.xhtml">DS_RangeList.h</a>.</p>
<p>References <a class="el" href="../../d8/db0/defines_8h_source.xhtml#l00047">_FILE_AND_LINE_</a>, <a class="el" href="../../d7/dc3/_bit_stream_8h_source.xhtml#l00614">SLNet::BitStream::AlignReadToByteBoundary()</a>, and <a class="el" href="../../d7/dc3/_bit_stream_8h_source.xhtml#l01279">SLNet::BitStream::Read()</a>.</p>
<p>Referenced by <a class="el" href="../../d9/d15/_reliability_layer_8cpp_source.xhtml#l00631">SLNet::ReliabilityLayer::HandleSocketReceiveFromConnectedPlayer()</a>.</p>
</div>
</div>
<a class="anchor" id="a53378f34c54e2393a59aba8cdf6ba792"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class range_type&gt; </div>
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="../../d4/df2/class_data_structures_1_1_range_list.xhtml">DataStructures::RangeList</a>&lt; range_type &gt;::Insert </td>
<td>(</td>
<td class="paramtype">range_type&#160;</td>
<td class="paramname"><em>index</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d3/d41/_d_s___range_list_8h_source.xhtml#l00200">200</a> of file <a class="el" href="../../d3/d41/_d_s___range_list_8h_source.xhtml">DS_RangeList.h</a>.</p>
<p>References <a class="el" href="../../d8/db0/defines_8h_source.xhtml#l00047">_FILE_AND_LINE_</a>, and <a class="el" href="../../d8/db0/defines_8h_source.xhtml#l00120">RakAssert</a>.</p>
</div>
</div>
<a class="anchor" id="a9a1cbc8374cb80903bb08472deb924a7"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class range_type&gt; </div>
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="../../d4/df2/class_data_structures_1_1_range_list.xhtml">DataStructures::RangeList</a>&lt; range_type &gt;::IsWithinRange </td>
<td>(</td>
<td class="paramtype">range_type&#160;</td>
<td class="paramname"><em>value</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d3/d41/_d_s___range_list_8h_source.xhtml#l00271">271</a> of file <a class="el" href="../../d3/d41/_d_s___range_list_8h_source.xhtml">DS_RangeList.h</a>.</p>
</div>
</div>
<a class="anchor" id="a9ca3ee08062ee2a993c37a0910a3e343"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class range_type &gt; </div>
<table class="memname">
<tr>
<td class="memname">unsigned <a class="el" href="../../d4/df2/class_data_structures_1_1_range_list.xhtml">DataStructures::RangeList</a>&lt; range_type &gt;::RangeSum </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d3/d41/_d_s___range_list_8h_source.xhtml#l00286">286</a> of file <a class="el" href="../../d3/d41/_d_s___range_list_8h_source.xhtml">DS_RangeList.h</a>.</p>
</div>
</div>
<a class="anchor" id="aee8f6a3b4a872847a6b495c8557d8817"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class range_type &gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#a227d2a5f9683a34d9d1e70772fd556ec">SLNet::BitSize_t</a> <a class="el" href="../../d4/df2/class_data_structures_1_1_range_list.xhtml">DataStructures::RangeList</a>&lt; range_type &gt;::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>in</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#a227d2a5f9683a34d9d1e70772fd556ec">SLNet::BitSize_t</a>&#160;</td>
<td class="paramname"><em>maxBits</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>clearSerialized</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="../../d3/d41/_d_s___range_list_8h_source.xhtml#l00077">77</a> of file <a class="el" href="../../d3/d41/_d_s___range_list_8h_source.xhtml">DS_RangeList.h</a>.</p>
<p>References <a class="el" href="../../d7/dc3/_bit_stream_8h_source.xhtml#l00607">SLNet::BitStream::AlignWriteToByteBoundary()</a>, <a class="el" href="../../d7/dc3/_bit_stream_8h_source.xhtml#l00521">SLNet::BitStream::GetNumberOfBitsUsed()</a>, <a class="el" href="../../d7/dc3/_bit_stream_8h_source.xhtml#l00522">SLNet::BitStream::GetWriteOffset()</a>, <a class="el" href="../../d8/db0/defines_8h_source.xhtml#l00120">RakAssert</a>, and <a class="el" href="../../d7/dc3/_bit_stream_8h_source.xhtml#l00922">SLNet::BitStream::Write()</a>.</p>
</div>
</div>
<a class="anchor" id="a5dae90c5e4f3f575e78c01fc708a85c0"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class range_type &gt; </div>
<table class="memname">
<tr>
<td class="memname">unsigned <a class="el" href="../../d4/df2/class_data_structures_1_1_range_list.xhtml">DataStructures::RangeList</a>&lt; range_type &gt;::Size </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d3/d41/_d_s___range_list_8h_source.xhtml#l00280">280</a> of file <a class="el" href="../../d3/d41/_d_s___range_list_8h_source.xhtml">DS_RangeList.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a class="anchor" id="a01e3478712140cf3d891da0f865bddd1"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class range_type&gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../da/dfc/class_data_structures_1_1_ordered_list.xhtml">DataStructures::OrderedList</a>&lt;range_type, <a class="el" href="../../dd/d2b/struct_data_structures_1_1_range_node.xhtml">RangeNode</a>&lt;range_type&gt; , <a class="el" href="../../da/d80/namespace_data_structures.xhtml#afc5f5975263bc574b36bd99c3720dc83">RangeNodeComp</a>&lt;range_type&gt; &gt; <a class="el" href="../../d4/df2/class_data_structures_1_1_range_list.xhtml">DataStructures::RangeList</a>&lt; range_type &gt;::ranges</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d3/d41/_d_s___range_list_8h_source.xhtml#l00069">69</a> of file <a class="el" href="../../d3/d41/_d_s___range_list_8h_source.xhtml">DS_RangeList.h</a>.</p>
<p>Referenced by <a class="el" href="../../d9/d15/_reliability_layer_8cpp_source.xhtml#l00631">SLNet::ReliabilityLayer::HandleSocketReceiveFromConnectedPlayer()</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="../../d3/d41/_d_s___range_list_8h_source.xhtml">DS_RangeList.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="../../da/d80/namespace_data_structures.xhtml">DataStructures</a></li><li class="navelem"><a class="el" href="../../d4/df2/class_data_structures_1_1_range_list.xhtml">RangeList</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>