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,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/VitaIncludes.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('dd/d06/_vita_includes_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">VitaIncludes.cpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &quot;<a class="el" href="../../d7/d5b/_empty_header_8h_source.xhtml">slikenet/EmptyHeader.h</a>&quot;</code><br/>
</div>
<p><a href="../../dd/d06/_vita_includes_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="../../dd/d06/_vita_includes_8cpp.xhtml">VitaIncludes.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,296 @@
<!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/VitaIncludes.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('dd/d06/_vita_includes_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">VitaIncludes.cpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="../../dd/d06/_vita_includes_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"> * 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">#include &quot;<a class="code" href="../../d7/d5b/_empty_header_8h.xhtml">slikenet/EmptyHeader.h</a>&quot;</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;</div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;</div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;</div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;</div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;</div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;</div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;</div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;</div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;</div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;</div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;</div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;</div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;</div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;</div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;</div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;</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;</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;</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;</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;</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;</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;</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;</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160;</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160;</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160;</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160;</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160;</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;</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160;</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160;</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160;</div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160;</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160;</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160;</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;</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;</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;</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;</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160;</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;</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;</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;</div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;</div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;</div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;</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;</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;</div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;</div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;</div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;</div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;</div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;</div>
<div class="line"><a name="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;</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;</div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;</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;</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;</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;</div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160;</div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;</div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;</div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160;</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;</div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160;</div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160;</div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160;</div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160;</div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;</div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;</div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;</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;</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;</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;</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;</div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160;</div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160;</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;</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;</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;</div>
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160;</div>
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160;</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;</div>
<div class="line"><a name="l00175"></a><span class="lineno"> 175</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="../../dd/d06/_vita_includes_8cpp.xhtml">VitaIncludes.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,8 @@
var class_data_structures_1_1_a_v_l_balanced_binary_search_tree =
[
[ "AVLBalancedBinarySearchTree", "dd/d07/class_data_structures_1_1_a_v_l_balanced_binary_search_tree.xhtml#a732b67e2663622f96fc1486cee9afda3", null ],
[ "~AVLBalancedBinarySearchTree", "dd/d07/class_data_structures_1_1_a_v_l_balanced_binary_search_tree.xhtml#a54a6837b19df970f51a7554f96000021", null ],
[ "Add", "dd/d07/class_data_structures_1_1_a_v_l_balanced_binary_search_tree.xhtml#ae287d3f7d7f370e1e3397778e0b6d4e4", null ],
[ "Del", "dd/d07/class_data_structures_1_1_a_v_l_balanced_binary_search_tree.xhtml#a8725967ec8b587761f94cdceb9c86bc4", null ],
[ "operator=", "dd/d07/class_data_structures_1_1_a_v_l_balanced_binary_search_tree.xhtml#a50a0e82ab44a6354bc45d96e31c6c0b8", null ]
];

View File

@ -0,0 +1,356 @@
<!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::AVLBalancedBinarySearchTree&lt; BinarySearchTreeType &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('dd/d07/class_data_structures_1_1_a_v_l_balanced_binary_search_tree.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="../../de/d31/class_data_structures_1_1_a_v_l_balanced_binary_search_tree-members.xhtml">List of all members</a> </div>
<div class="headertitle">
<div class="title">DataStructures::AVLBalancedBinarySearchTree&lt; BinarySearchTreeType &gt; Class Template Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>An <a class="el" href="../../dd/d07/class_data_structures_1_1_a_v_l_balanced_binary_search_tree.xhtml" title="An AVLBalancedBinarySearchTree is a binary tree that is always balanced.">AVLBalancedBinarySearchTree</a> is a binary tree that is always balanced.
<a href="../../dd/d07/class_data_structures_1_1_a_v_l_balanced_binary_search_tree.xhtml#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="../../d8/dfa/_d_s___binary_search_tree_8h_source.xhtml">slikenet/DS_BinarySearchTree.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::AVLBalancedBinarySearchTree&lt; BinarySearchTreeType &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"><div class="zoom"><iframe scrolling="no" frameborder="0" src="../../d7/de0/class_data_structures_1_1_a_v_l_balanced_binary_search_tree__inherit__graph.svg" width="100%" height="600"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a732b67e2663622f96fc1486cee9afda3"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d07/class_data_structures_1_1_a_v_l_balanced_binary_search_tree.xhtml#a732b67e2663622f96fc1486cee9afda3">AVLBalancedBinarySearchTree</a> ()</td></tr>
<tr class="separator:a732b67e2663622f96fc1486cee9afda3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a54a6837b19df970f51a7554f96000021"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d07/class_data_structures_1_1_a_v_l_balanced_binary_search_tree.xhtml#a54a6837b19df970f51a7554f96000021">~AVLBalancedBinarySearchTree</a> ()</td></tr>
<tr class="separator:a54a6837b19df970f51a7554f96000021"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae287d3f7d7f370e1e3397778e0b6d4e4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d07/class_data_structures_1_1_a_v_l_balanced_binary_search_tree.xhtml#ae287d3f7d7f370e1e3397778e0b6d4e4">Add</a> (const BinarySearchTreeType &amp;input)</td></tr>
<tr class="separator:ae287d3f7d7f370e1e3397778e0b6d4e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8725967ec8b587761f94cdceb9c86bc4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d07/class_data_structures_1_1_a_v_l_balanced_binary_search_tree.xhtml#a8725967ec8b587761f94cdceb9c86bc4">Del</a> (const BinarySearchTreeType &amp;input)</td></tr>
<tr class="separator:a8725967ec8b587761f94cdceb9c86bc4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a50a0e82ab44a6354bc45d96e31c6c0b8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../db/d19/class_data_structures_1_1_binary_search_tree.xhtml">BinarySearchTree</a><br class="typebreak"/>
&lt; BinarySearchTreeType &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d07/class_data_structures_1_1_a_v_l_balanced_binary_search_tree.xhtml#a50a0e82ab44a6354bc45d96e31c6c0b8">operator=</a> (<a class="el" href="../../db/d19/class_data_structures_1_1_binary_search_tree.xhtml">BinarySearchTree</a>&lt; BinarySearchTreeType &gt; &amp;original_copy)</td></tr>
<tr class="separator:a50a0e82ab44a6354bc45d96e31c6c0b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_class_data_structures_1_1_binary_search_tree"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_class_data_structures_1_1_binary_search_tree')"><img src="../../closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="../../db/d19/class_data_structures_1_1_binary_search_tree.xhtml">DataStructures::BinarySearchTree&lt; BinarySearchTreeType &gt;</a></td></tr>
<tr class="memitem:aa2eae4277af5983b79abe2f84c6d5ab6 inherit pub_methods_class_data_structures_1_1_binary_search_tree"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d19/class_data_structures_1_1_binary_search_tree.xhtml#aa2eae4277af5983b79abe2f84c6d5ab6">BinarySearchTree</a> ()</td></tr>
<tr class="separator:aa2eae4277af5983b79abe2f84c6d5ab6 inherit pub_methods_class_data_structures_1_1_binary_search_tree"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeb7774f9c2928f5796b3ddcf8a19810c inherit pub_methods_class_data_structures_1_1_binary_search_tree"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d19/class_data_structures_1_1_binary_search_tree.xhtml#aeb7774f9c2928f5796b3ddcf8a19810c">~BinarySearchTree</a> ()</td></tr>
<tr class="separator:aeb7774f9c2928f5796b3ddcf8a19810c inherit pub_methods_class_data_structures_1_1_binary_search_tree"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9971027b56966fa5c34075f67dd22bc0 inherit pub_methods_class_data_structures_1_1_binary_search_tree"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d19/class_data_structures_1_1_binary_search_tree.xhtml#a9971027b56966fa5c34075f67dd22bc0">BinarySearchTree</a> (const <a class="el" href="../../db/d19/class_data_structures_1_1_binary_search_tree.xhtml">BinarySearchTree</a> &amp;original_type)</td></tr>
<tr class="separator:a9971027b56966fa5c34075f67dd22bc0 inherit pub_methods_class_data_structures_1_1_binary_search_tree"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab31d3d1c76535e657e24d687a6ac0f3c inherit pub_methods_class_data_structures_1_1_binary_search_tree"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../db/d19/class_data_structures_1_1_binary_search_tree.xhtml">BinarySearchTree</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d19/class_data_structures_1_1_binary_search_tree.xhtml#ab31d3d1c76535e657e24d687a6ac0f3c">operator=</a> (const <a class="el" href="../../db/d19/class_data_structures_1_1_binary_search_tree.xhtml">BinarySearchTree</a> &amp;original_copy)</td></tr>
<tr class="separator:ab31d3d1c76535e657e24d687a6ac0f3c inherit pub_methods_class_data_structures_1_1_binary_search_tree"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a95931c3bdd7589cc1696b0ad0b5f78ab inherit pub_methods_class_data_structures_1_1_binary_search_tree"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d19/class_data_structures_1_1_binary_search_tree.xhtml#a95931c3bdd7589cc1696b0ad0b5f78ab">Size</a> (void)</td></tr>
<tr class="separator:a95931c3bdd7589cc1696b0ad0b5f78ab inherit pub_methods_class_data_structures_1_1_binary_search_tree"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2380dab08090b867bb19dbe26bb62dfe inherit pub_methods_class_data_structures_1_1_binary_search_tree"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d19/class_data_structures_1_1_binary_search_tree.xhtml#a2380dab08090b867bb19dbe26bb62dfe">Clear</a> (const char *file, unsigned int line)</td></tr>
<tr class="separator:a2380dab08090b867bb19dbe26bb62dfe inherit pub_methods_class_data_structures_1_1_binary_search_tree"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaa31a55fe61ec63cf401e0943a9a3361 inherit pub_methods_class_data_structures_1_1_binary_search_tree"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d19/class_data_structures_1_1_binary_search_tree.xhtml#aaa31a55fe61ec63cf401e0943a9a3361">Height</a> (<a class="el" href="../../db/d19/class_data_structures_1_1_binary_search_tree.xhtml#de/d61/struct_data_structures_1_1_binary_search_tree_1_1node">node</a> *starting_node=0)</td></tr>
<tr class="separator:aaa31a55fe61ec63cf401e0943a9a3361 inherit pub_methods_class_data_structures_1_1_binary_search_tree"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:add1e90ecd655a1b28be29813b43f79a8 inherit pub_methods_class_data_structures_1_1_binary_search_tree"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../db/d19/class_data_structures_1_1_binary_search_tree.xhtml#de/d61/struct_data_structures_1_1_binary_search_tree_1_1node">node</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d19/class_data_structures_1_1_binary_search_tree.xhtml#add1e90ecd655a1b28be29813b43f79a8">Add</a> (const BinarySearchTreeType &amp;input, const char *file, unsigned int line)</td></tr>
<tr class="separator:add1e90ecd655a1b28be29813b43f79a8 inherit pub_methods_class_data_structures_1_1_binary_search_tree"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9a29693e4575fc0fe18ab778a75c89b8 inherit pub_methods_class_data_structures_1_1_binary_search_tree"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../db/d19/class_data_structures_1_1_binary_search_tree.xhtml#de/d61/struct_data_structures_1_1_binary_search_tree_1_1node">node</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d19/class_data_structures_1_1_binary_search_tree.xhtml#a9a29693e4575fc0fe18ab778a75c89b8">Del</a> (const BinarySearchTreeType &amp;input, const char *file, unsigned int line)</td></tr>
<tr class="separator:a9a29693e4575fc0fe18ab778a75c89b8 inherit pub_methods_class_data_structures_1_1_binary_search_tree"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adca1aa14d6bdeec90248567b05e4c28f inherit pub_methods_class_data_structures_1_1_binary_search_tree"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d19/class_data_structures_1_1_binary_search_tree.xhtml#adca1aa14d6bdeec90248567b05e4c28f">IsIn</a> (const BinarySearchTreeType &amp;input)</td></tr>
<tr class="separator:adca1aa14d6bdeec90248567b05e4c28f inherit pub_methods_class_data_structures_1_1_binary_search_tree"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a66f82a3176d81b0ef3d1a8362d9e1507 inherit pub_methods_class_data_structures_1_1_binary_search_tree"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d19/class_data_structures_1_1_binary_search_tree.xhtml#a66f82a3176d81b0ef3d1a8362d9e1507">DisplayInorder</a> (BinarySearchTreeType *return_array)</td></tr>
<tr class="separator:a66f82a3176d81b0ef3d1a8362d9e1507 inherit pub_methods_class_data_structures_1_1_binary_search_tree"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4b2048b47d3a209de79a185ca29c65e4 inherit pub_methods_class_data_structures_1_1_binary_search_tree"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d19/class_data_structures_1_1_binary_search_tree.xhtml#a4b2048b47d3a209de79a185ca29c65e4">DisplayPreorder</a> (BinarySearchTreeType *return_array)</td></tr>
<tr class="separator:a4b2048b47d3a209de79a185ca29c65e4 inherit pub_methods_class_data_structures_1_1_binary_search_tree"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a03b31b8c324d813560205b2806775f46 inherit pub_methods_class_data_structures_1_1_binary_search_tree"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d19/class_data_structures_1_1_binary_search_tree.xhtml#a03b31b8c324d813560205b2806775f46">DisplayPostorder</a> (BinarySearchTreeType *return_array)</td></tr>
<tr class="separator:a03b31b8c324d813560205b2806775f46 inherit pub_methods_class_data_structures_1_1_binary_search_tree"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a718b886877feb30466efba30341c0a82 inherit pub_methods_class_data_structures_1_1_binary_search_tree"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d19/class_data_structures_1_1_binary_search_tree.xhtml#a718b886877feb30466efba30341c0a82">DisplayBreadthFirstSearch</a> (BinarySearchTreeType *return_array)</td></tr>
<tr class="separator:a718b886877feb30466efba30341c0a82 inherit pub_methods_class_data_structures_1_1_binary_search_tree"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac7878327f9c37d8b7d63d6f98bb9b35e inherit pub_methods_class_data_structures_1_1_binary_search_tree"><td class="memItemLeft" align="right" valign="top">BinarySearchTreeType *&amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d19/class_data_structures_1_1_binary_search_tree.xhtml#ac7878327f9c37d8b7d63d6f98bb9b35e">GetPointerToNode</a> (const BinarySearchTreeType &amp;element)</td></tr>
<tr class="separator:ac7878327f9c37d8b7d63d6f98bb9b35e inherit pub_methods_class_data_structures_1_1_binary_search_tree"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
Additional Inherited Members</h2></td></tr>
<tr class="inherit_header pro_types_class_data_structures_1_1_binary_search_tree"><td colspan="2" onclick="javascript:toggleInherit('pro_types_class_data_structures_1_1_binary_search_tree')"><img src="../../closed.png" alt="-"/>&#160;Protected Types inherited from <a class="el" href="../../db/d19/class_data_structures_1_1_binary_search_tree.xhtml">DataStructures::BinarySearchTree&lt; BinarySearchTreeType &gt;</a></td></tr>
<tr class="memitem:a84089f536d9c987fff2036cf0e910f3a inherit pro_types_class_data_structures_1_1_binary_search_tree"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d19/class_data_structures_1_1_binary_search_tree.xhtml#a84089f536d9c987fff2036cf0e910f3a">Direction_Types</a> { <a class="el" href="../../db/d19/class_data_structures_1_1_binary_search_tree.xhtml#a84089f536d9c987fff2036cf0e910f3aa8c936ef6dbd6034f95a39138a685e155">NOT_FOUND</a>,
<a class="el" href="../../db/d19/class_data_structures_1_1_binary_search_tree.xhtml#a84089f536d9c987fff2036cf0e910f3aa46c975096614f0b49bcbba65e8a0a455">LEFT</a>,
<a class="el" href="../../db/d19/class_data_structures_1_1_binary_search_tree.xhtml#a84089f536d9c987fff2036cf0e910f3aad9027bdc98a5d303de4aa99ebb6bbe9e">RIGHT</a>,
<a class="el" href="../../db/d19/class_data_structures_1_1_binary_search_tree.xhtml#a84089f536d9c987fff2036cf0e910f3aa96101957d6528addd19368dead6fb76d">ROOT</a>
}</td></tr>
<tr class="separator:a84089f536d9c987fff2036cf0e910f3a inherit pro_types_class_data_structures_1_1_binary_search_tree"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_methods_class_data_structures_1_1_binary_search_tree"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_class_data_structures_1_1_binary_search_tree')"><img src="../../closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="../../db/d19/class_data_structures_1_1_binary_search_tree.xhtml">DataStructures::BinarySearchTree&lt; BinarySearchTreeType &gt;</a></td></tr>
<tr class="memitem:a2b11c7d903e037a726decc1cd866d4e7 inherit pro_methods_class_data_structures_1_1_binary_search_tree"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d19/class_data_structures_1_1_binary_search_tree.xhtml#a2b11c7d903e037a726decc1cd866d4e7">HeightRecursive</a> (<a class="el" href="../../db/d19/class_data_structures_1_1_binary_search_tree.xhtml#de/d61/struct_data_structures_1_1_binary_search_tree_1_1node">node</a> *current)</td></tr>
<tr class="separator:a2b11c7d903e037a726decc1cd866d4e7 inherit pro_methods_class_data_structures_1_1_binary_search_tree"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0196a589767ca99d7a7caa9b41225817 inherit pro_methods_class_data_structures_1_1_binary_search_tree"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../db/d19/class_data_structures_1_1_binary_search_tree.xhtml#de/d61/struct_data_structures_1_1_binary_search_tree_1_1node">node</a> *&amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d19/class_data_structures_1_1_binary_search_tree.xhtml#a0196a589767ca99d7a7caa9b41225817">Find</a> (const BinarySearchTreeType &amp;element, <a class="el" href="../../db/d19/class_data_structures_1_1_binary_search_tree.xhtml#de/d61/struct_data_structures_1_1_binary_search_tree_1_1node">node</a> **parent)</td></tr>
<tr class="separator:a0196a589767ca99d7a7caa9b41225817 inherit pro_methods_class_data_structures_1_1_binary_search_tree"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abf40adb877ad2b915da8d05bc603b98d inherit pro_methods_class_data_structures_1_1_binary_search_tree"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../db/d19/class_data_structures_1_1_binary_search_tree.xhtml#de/d61/struct_data_structures_1_1_binary_search_tree_1_1node">node</a> *&amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d19/class_data_structures_1_1_binary_search_tree.xhtml#abf40adb877ad2b915da8d05bc603b98d">FindParent</a> (const BinarySearchTreeType &amp;element)</td></tr>
<tr class="separator:abf40adb877ad2b915da8d05bc603b98d inherit pro_methods_class_data_structures_1_1_binary_search_tree"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae01518754ae96d9df3df3ccd0b65fb15 inherit pro_methods_class_data_structures_1_1_binary_search_tree"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d19/class_data_structures_1_1_binary_search_tree.xhtml#ae01518754ae96d9df3df3ccd0b65fb15">DisplayPostorderRecursive</a> (<a class="el" href="../../db/d19/class_data_structures_1_1_binary_search_tree.xhtml#de/d61/struct_data_structures_1_1_binary_search_tree_1_1node">node</a> *current, BinarySearchTreeType *return_array, unsigned int &amp;index)</td></tr>
<tr class="separator:ae01518754ae96d9df3df3ccd0b65fb15 inherit pro_methods_class_data_structures_1_1_binary_search_tree"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac9695192b853884f7accb60c157b5ab7 inherit pro_methods_class_data_structures_1_1_binary_search_tree"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d19/class_data_structures_1_1_binary_search_tree.xhtml#ac9695192b853884f7accb60c157b5ab7">FixTree</a> (<a class="el" href="../../db/d19/class_data_structures_1_1_binary_search_tree.xhtml#de/d61/struct_data_structures_1_1_binary_search_tree_1_1node">node</a> *current)</td></tr>
<tr class="separator:ac9695192b853884f7accb60c157b5ab7 inherit pro_methods_class_data_structures_1_1_binary_search_tree"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_attribs_class_data_structures_1_1_binary_search_tree"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_class_data_structures_1_1_binary_search_tree')"><img src="../../closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="../../db/d19/class_data_structures_1_1_binary_search_tree.xhtml">DataStructures::BinarySearchTree&lt; BinarySearchTreeType &gt;</a></td></tr>
<tr class="memitem:a6854050657cfa61442e6189dd0039318 inherit pro_attribs_class_data_structures_1_1_binary_search_tree"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../db/d19/class_data_structures_1_1_binary_search_tree.xhtml#de/d61/struct_data_structures_1_1_binary_search_tree_1_1node">node</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d19/class_data_structures_1_1_binary_search_tree.xhtml#a6854050657cfa61442e6189dd0039318">root</a></td></tr>
<tr class="separator:a6854050657cfa61442e6189dd0039318 inherit pro_attribs_class_data_structures_1_1_binary_search_tree"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a292e62e2b24b59d393657ff3c69c82ed inherit pro_attribs_class_data_structures_1_1_binary_search_tree"><td class="memItemLeft" align="right" valign="top">enum <br class="typebreak"/>
<a class="el" href="../../db/d19/class_data_structures_1_1_binary_search_tree.xhtml#a84089f536d9c987fff2036cf0e910f3a">DataStructures::BinarySearchTree::Direction_Types</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d19/class_data_structures_1_1_binary_search_tree.xhtml#a292e62e2b24b59d393657ff3c69c82ed">direction</a></td></tr>
<tr class="separator:a292e62e2b24b59d393657ff3c69c82ed inherit pro_attribs_class_data_structures_1_1_binary_search_tree"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4dfb2e2b9a0a8f23e4fc636b58ea4d3f inherit pro_attribs_class_data_structures_1_1_binary_search_tree"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d19/class_data_structures_1_1_binary_search_tree.xhtml#a4dfb2e2b9a0a8f23e4fc636b58ea4d3f">BinarySearchTree_size</a></td></tr>
<tr class="separator:a4dfb2e2b9a0a8f23e4fc636b58ea4d3f inherit pro_attribs_class_data_structures_1_1_binary_search_tree"><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 BinarySearchTreeType&gt;<br/>
class DataStructures::AVLBalancedBinarySearchTree&lt; BinarySearchTreeType &gt;</h3>
<p>An <a class="el" href="../../dd/d07/class_data_structures_1_1_a_v_l_balanced_binary_search_tree.xhtml" title="An AVLBalancedBinarySearchTree is a binary tree that is always balanced.">AVLBalancedBinarySearchTree</a> is a binary tree that is always balanced. </p>
<p>Definition at line <a class="el" href="../../d8/dfa/_d_s___binary_search_tree_8h_source.xhtml#l00144">144</a> of file <a class="el" href="../../d8/dfa/_d_s___binary_search_tree_8h_source.xhtml">DS_BinarySearchTree.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a732b67e2663622f96fc1486cee9afda3"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class BinarySearchTreeType &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../dd/d07/class_data_structures_1_1_a_v_l_balanced_binary_search_tree.xhtml">DataStructures::AVLBalancedBinarySearchTree</a>&lt; BinarySearchTreeType &gt;::<a class="el" href="../../dd/d07/class_data_structures_1_1_a_v_l_balanced_binary_search_tree.xhtml">AVLBalancedBinarySearchTree</a> </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/dfa/_d_s___binary_search_tree_8h_source.xhtml#l00148">148</a> of file <a class="el" href="../../d8/dfa/_d_s___binary_search_tree_8h_source.xhtml">DS_BinarySearchTree.h</a>.</p>
</div>
</div>
<a class="anchor" id="a54a6837b19df970f51a7554f96000021"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class BinarySearchTreeType &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../dd/d07/class_data_structures_1_1_a_v_l_balanced_binary_search_tree.xhtml">DataStructures::AVLBalancedBinarySearchTree</a>&lt; BinarySearchTreeType &gt;::~<a class="el" href="../../dd/d07/class_data_structures_1_1_a_v_l_balanced_binary_search_tree.xhtml">AVLBalancedBinarySearchTree</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d8/dfa/_d_s___binary_search_tree_8h_source.xhtml#l00378">378</a> of file <a class="el" href="../../d8/dfa/_d_s___binary_search_tree_8h_source.xhtml">DS_BinarySearchTree.h</a>.</p>
<p>References <a class="el" href="../../d8/db0/defines_8h_source.xhtml#l00047">_FILE_AND_LINE_</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="ae287d3f7d7f370e1e3397778e0b6d4e4"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class BinarySearchTreeType &gt; </div>
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="../../dd/d07/class_data_structures_1_1_a_v_l_balanced_binary_search_tree.xhtml">DataStructures::AVLBalancedBinarySearchTree</a>&lt; BinarySearchTreeType &gt;::Add </td>
<td>(</td>
<td class="paramtype">const BinarySearchTreeType &amp;&#160;</td>
<td class="paramname"><em>input</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d8/dfa/_d_s___binary_search_tree_8h_source.xhtml#l00216">216</a> of file <a class="el" href="../../d8/dfa/_d_s___binary_search_tree_8h_source.xhtml">DS_BinarySearchTree.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/dfa/_d_s___binary_search_tree_8h_source.xhtml#l00680">DataStructures::BinarySearchTree&lt; BinarySearchTreeType &gt;::Add()</a>.</p>
</div>
</div>
<a class="anchor" id="a8725967ec8b587761f94cdceb9c86bc4"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class BinarySearchTreeType &gt; </div>
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="../../dd/d07/class_data_structures_1_1_a_v_l_balanced_binary_search_tree.xhtml">DataStructures::AVLBalancedBinarySearchTree</a>&lt; BinarySearchTreeType &gt;::Del </td>
<td>(</td>
<td class="paramtype">const BinarySearchTreeType &amp;&#160;</td>
<td class="paramname"><em>input</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d8/dfa/_d_s___binary_search_tree_8h_source.xhtml#l00224">224</a> of file <a class="el" href="../../d8/dfa/_d_s___binary_search_tree_8h_source.xhtml">DS_BinarySearchTree.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/dfa/_d_s___binary_search_tree_8h_source.xhtml#l00542">DataStructures::BinarySearchTree&lt; BinarySearchTreeType &gt;::Del()</a>.</p>
</div>
</div>
<a class="anchor" id="a50a0e82ab44a6354bc45d96e31c6c0b8"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class BinarySearchTreeType &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../db/d19/class_data_structures_1_1_binary_search_tree.xhtml">BinarySearchTree</a>&lt;BinarySearchTreeType&gt;&amp; <a class="el" href="../../dd/d07/class_data_structures_1_1_a_v_l_balanced_binary_search_tree.xhtml">DataStructures::AVLBalancedBinarySearchTree</a>&lt; BinarySearchTreeType &gt;::operator= </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../db/d19/class_data_structures_1_1_binary_search_tree.xhtml">BinarySearchTree</a>&lt; BinarySearchTreeType &gt; &amp;&#160;</td>
<td class="paramname"><em>original_copy</em></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/dfa/_d_s___binary_search_tree_8h_source.xhtml#l00152">152</a> of file <a class="el" href="../../d8/dfa/_d_s___binary_search_tree_8h_source.xhtml">DS_BinarySearchTree.h</a>.</p>
<p>References <a class="el" href="../../d8/dfa/_d_s___binary_search_tree_8h_source.xhtml#l01025">DataStructures::BinarySearchTree&lt; BinarySearchTreeType &gt;::operator=()</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="../../d8/dfa/_d_s___binary_search_tree_8h_source.xhtml">DS_BinarySearchTree.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="../../dd/d07/class_data_structures_1_1_a_v_l_balanced_binary_search_tree.xhtml">AVLBalancedBinarySearchTree</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 struct_s_l_net_1_1_h_t_t_p_connection_1_1_bad_response =
[
[ "BadResponse", "dd/d07/struct_s_l_net_1_1_h_t_t_p_connection_1_1_bad_response.xhtml#a90e2aefb2d6d0cca7578373f42c00702", null ],
[ "BadResponse", "dd/d07/struct_s_l_net_1_1_h_t_t_p_connection_1_1_bad_response.xhtml#a9bbc930031d79d28759590ba451f9b91", null ],
[ "BadResponse", "dd/d07/struct_s_l_net_1_1_h_t_t_p_connection_1_1_bad_response.xhtml#adedac1bcf51e4bbd056e43b2fc79c014", null ],
[ "operator int", "dd/d07/struct_s_l_net_1_1_h_t_t_p_connection_1_1_bad_response.xhtml#a1bd31c151756e186b70e549cc1331271", null ],
[ "code", "dd/d07/struct_s_l_net_1_1_h_t_t_p_connection_1_1_bad_response.xhtml#a43123c5f7437ee786f9391d5aa2ef8b4", null ],
[ "data", "dd/d07/struct_s_l_net_1_1_h_t_t_p_connection_1_1_bad_response.xhtml#afe7d8f32578a0a364f3888b052559472", null ]
];

View File

@ -0,0 +1,311 @@
<!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::HTTPConnection::BadResponse 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('dd/d07/struct_s_l_net_1_1_h_t_t_p_connection_1_1_bad_response.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="../../d6/d54/struct_s_l_net_1_1_h_t_t_p_connection_1_1_bad_response-members.xhtml">List of all members</a> </div>
<div class="headertitle">
<div class="title">SLNet::HTTPConnection::BadResponse Struct Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>Encapsulates a raw HTTP response and response code.
<a href="../../dd/d07/struct_s_l_net_1_1_h_t_t_p_connection_1_1_bad_response.xhtml#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="../../d9/db2/_h_t_t_p_connection_8h_source.xhtml">slikenet/HTTPConnection.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:a90e2aefb2d6d0cca7578373f42c00702"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d07/struct_s_l_net_1_1_h_t_t_p_connection_1_1_bad_response.xhtml#a90e2aefb2d6d0cca7578373f42c00702">BadResponse</a> ()</td></tr>
<tr class="separator:a90e2aefb2d6d0cca7578373f42c00702"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9bbc930031d79d28759590ba451f9b91"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d07/struct_s_l_net_1_1_h_t_t_p_connection_1_1_bad_response.xhtml#a9bbc930031d79d28759590ba451f9b91">BadResponse</a> (const unsigned char *_data, int _code)</td></tr>
<tr class="separator:a9bbc930031d79d28759590ba451f9b91"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adedac1bcf51e4bbd056e43b2fc79c014"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d07/struct_s_l_net_1_1_h_t_t_p_connection_1_1_bad_response.xhtml#adedac1bcf51e4bbd056e43b2fc79c014">BadResponse</a> (const char *_data, int _code)</td></tr>
<tr class="separator:adedac1bcf51e4bbd056e43b2fc79c014"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1bd31c151756e186b70e549cc1331271"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d07/struct_s_l_net_1_1_h_t_t_p_connection_1_1_bad_response.xhtml#a1bd31c151756e186b70e549cc1331271">operator int</a> () const </td></tr>
<tr class="separator:a1bd31c151756e186b70e549cc1331271"><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:afe7d8f32578a0a364f3888b052559472"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d2/d66/class_s_l_net_1_1_rak_string.xhtml">SLNet::RakString</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d07/struct_s_l_net_1_1_h_t_t_p_connection_1_1_bad_response.xhtml#afe7d8f32578a0a364f3888b052559472">data</a></td></tr>
<tr class="separator:afe7d8f32578a0a364f3888b052559472"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a43123c5f7437ee786f9391d5aa2ef8b4"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d07/struct_s_l_net_1_1_h_t_t_p_connection_1_1_bad_response.xhtml#a43123c5f7437ee786f9391d5aa2ef8b4">code</a></td></tr>
<tr class="separator:a43123c5f7437ee786f9391d5aa2ef8b4"><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>Encapsulates a raw HTTP response and response code. </p>
<p>Definition at line <a class="el" href="../../d9/db2/_h_t_t_p_connection_8h_source.xhtml#l00100">100</a> of file <a class="el" href="../../d9/db2/_h_t_t_p_connection_8h_source.xhtml">HTTPConnection.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a90e2aefb2d6d0cca7578373f42c00702"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">SLNet::HTTPConnection::BadResponse::BadResponse </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="../../d9/db2/_h_t_t_p_connection_8h_source.xhtml#l00103">103</a> of file <a class="el" href="../../d9/db2/_h_t_t_p_connection_8h_source.xhtml">HTTPConnection.h</a>.</p>
</div>
</div>
<a class="anchor" id="a9bbc930031d79d28759590ba451f9b91"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">SLNet::HTTPConnection::BadResponse::BadResponse </td>
<td>(</td>
<td class="paramtype">const unsigned 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>_code</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="../../d9/db2/_h_t_t_p_connection_8h_source.xhtml#l00105">105</a> of file <a class="el" href="../../d9/db2/_h_t_t_p_connection_8h_source.xhtml">HTTPConnection.h</a>.</p>
</div>
</div>
<a class="anchor" id="adedac1bcf51e4bbd056e43b2fc79c014"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">SLNet::HTTPConnection::BadResponse::BadResponse </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>_code</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="../../d9/db2/_h_t_t_p_connection_8h_source.xhtml#l00108">108</a> of file <a class="el" href="../../d9/db2/_h_t_t_p_connection_8h_source.xhtml">HTTPConnection.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a1bd31c151756e186b70e549cc1331271"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">SLNet::HTTPConnection::BadResponse::operator int </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</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="../../d9/db2/_h_t_t_p_connection_8h_source.xhtml#l00111">111</a> of file <a class="el" href="../../d9/db2/_h_t_t_p_connection_8h_source.xhtml">HTTPConnection.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a class="anchor" id="a43123c5f7437ee786f9391d5aa2ef8b4"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int SLNet::HTTPConnection::BadResponse::code</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d9/db2/_h_t_t_p_connection_8h_source.xhtml#l00114">114</a> of file <a class="el" href="../../d9/db2/_h_t_t_p_connection_8h_source.xhtml">HTTPConnection.h</a>.</p>
</div>
</div>
<a class="anchor" id="afe7d8f32578a0a364f3888b052559472"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../d2/d66/class_s_l_net_1_1_rak_string.xhtml">SLNet::RakString</a> SLNet::HTTPConnection::BadResponse::data</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d9/db2/_h_t_t_p_connection_8h_source.xhtml#l00113">113</a> of file <a class="el" href="../../d9/db2/_h_t_t_p_connection_8h_source.xhtml">HTTPConnection.h</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="../../d9/db2/_h_t_t_p_connection_8h_source.xhtml">HTTPConnection.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="../../de/da4/class_s_l_net_1_1_h_t_t_p_connection.xhtml">HTTPConnection</a></li><li class="navelem"><a class="el" href="../../dd/d07/struct_s_l_net_1_1_h_t_t_p_connection_1_1_bad_response.xhtml">BadResponse</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,134 @@
<!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('d0/d86/class_s_l_net_1_1_socket_layer.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::SocketLayer Member List</div> </div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="../../d0/d86/class_s_l_net_1_1_socket_layer.xhtml">SLNet::SocketLayer</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="../../d0/d86/class_s_l_net_1_1_socket_layer.xhtml#aa80daf48a0712cfabdcac966a7a60b85">GetFirstBindableIP</a>(char firstBindable[128], int ipProto)</td><td class="entry"><a class="el" href="../../d0/d86/class_s_l_net_1_1_socket_layer.xhtml">SLNet::SocketLayer</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d0/d86/class_s_l_net_1_1_socket_layer.xhtml#a56392265b1a3df68615810b50f03081f">GetLocalPort</a>(__UDPSOCKET__ s)</td><td class="entry"><a class="el" href="../../d0/d86/class_s_l_net_1_1_socket_layer.xhtml">SLNet::SocketLayer</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d0/d86/class_s_l_net_1_1_socket_layer.xhtml#a0773c1a3f0d3305ab0fbeb459636a3cd">GetMyIP</a>(SystemAddress addresses[MAXIMUM_NUMBER_OF_INTERNAL_IDS])</td><td class="entry"><a class="el" href="../../d0/d86/class_s_l_net_1_1_socket_layer.xhtml">SLNet::SocketLayer</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d0/d86/class_s_l_net_1_1_socket_layer.xhtml#ac30ac77e20e935d094823fa6650cbd3c">GetSubNetForSocketAndIp</a>(__UDPSOCKET__ inSock, SLNet::RakString inIpString)</td><td class="entry"><a class="el" href="../../d0/d86/class_s_l_net_1_1_socket_layer.xhtml">SLNet::SocketLayer</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d0/d86/class_s_l_net_1_1_socket_layer.xhtml#a8109590555d9879eaa42b684ed34151a">GetSystemAddress</a>(__UDPSOCKET__ s, SystemAddress *systemAddressOut)</td><td class="entry"><a class="el" href="../../d0/d86/class_s_l_net_1_1_socket_layer.xhtml">SLNet::SocketLayer</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d0/d86/class_s_l_net_1_1_socket_layer.xhtml#acf523cb179e4474df714a858f4c655de">GetSystemAddress_Old</a>(__UDPSOCKET__ s, SystemAddress *systemAddressOut)</td><td class="entry"><a class="el" href="../../d0/d86/class_s_l_net_1_1_socket_layer.xhtml">SLNet::SocketLayer</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d0/d86/class_s_l_net_1_1_socket_layer.xhtml#a6af295a207f6712386df2413eff054d0">SetSocketOptions</a>(__UDPSOCKET__ listenSocket, bool blockingSocket, bool setBroadcast)</td><td class="entry"><a class="el" href="../../d0/d86/class_s_l_net_1_1_socket_layer.xhtml">SLNet::SocketLayer</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d0/d86/class_s_l_net_1_1_socket_layer.xhtml#a5e9bc0e86286d9afb5e72b74e0bf885e">SocketLayer</a>()</td><td class="entry"><a class="el" href="../../d0/d86/class_s_l_net_1_1_socket_layer.xhtml">SLNet::SocketLayer</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d0/d86/class_s_l_net_1_1_socket_layer.xhtml#a0af78f965b852e3e698f99eda3af125c">~SocketLayer</a>()</td><td class="entry"><a class="el" href="../../d0/d86/class_s_l_net_1_1_socket_layer.xhtml">SLNet::SocketLayer</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,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/NatTypeDetectionClient.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('dd/d1a/_nat_type_detection_client_8cpp.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">NatTypeDetectionClient.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="../../dd/d1a/_nat_type_detection_client_8cpp_source.xhtml">Go to the source code of this file.</a></p>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_74389ed8173ad57b461b9d623a1f3867.xhtml">Source</a></li><li class="navelem"><a class="el" href="../../dir_d1eb22c2ecfd8b50f59e9cbaf8260105.xhtml">src</a></li><li class="navelem"><a class="el" href="../../dd/d1a/_nat_type_detection_client_8cpp.xhtml">NatTypeDetectionClient.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,370 @@
<!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/NatTypeDetectionClient.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('dd/d1a/_nat_type_detection_client_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">NatTypeDetectionClient.cpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="../../dd/d1a/_nat_type_detection_client_8cpp.xhtml">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> * Original work: Copyright (c) 2014, Oculus VR, Inc.</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> * All rights reserved.</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> * This source code is licensed under the BSD-style license found in the</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> * RakNet License.txt file in the licenses directory of this source tree. An additional grant </span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> * of patent rights can be found in the RakNet Patents.txt file in the same directory.</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment"> * Modified work: Copyright (c) 2016-2018, SLikeSoft UG (haftungsbeschränkt)</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> * This source code was modified by SLikeSoft. Modifications are licensed under the MIT-style</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> * license found in the license.txt file in the root directory of this source tree.</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;</div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../de/ddb/_native_feature_includes_8h.xhtml">slikenet/NativeFeatureIncludes.h</a>&quot;</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="preprocessor">#if _RAKNET_SUPPORT_NatTypeDetectionClient==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="../../db/d2c/_nat_type_detection_client_8h.xhtml" title="Contains the NAT-type detection code for the client.">slikenet/NatTypeDetectionClient.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="../../dc/df7/smartptr_8h.xhtml">slikenet/smartptr.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="../../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="l00022"></a><span class="lineno"> 22</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../d4/dc5/_socket_includes_8h.xhtml">slikenet/SocketIncludes.h</a>&quot;</span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../da/d66/string_8h.xhtml">slikenet/string.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="../../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="l00025"></a><span class="lineno"> 25</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../d6/d83/_message_identifiers_8h.xhtml" title="All the message identifiers used by RakNet. Message identifiers comprise the first byte of any messag...">slikenet/MessageIdentifiers.h</a>&quot;</span></div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../d8/da4/_socket_layer_8h.xhtml" title="SocketLayer class implementation.">slikenet/SocketLayer.h</a>&quot;</span></div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../df/ded/_socket_defines_8h.xhtml">slikenet/SocketDefines.h</a>&quot;</span></div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="keyword">using namespace </span>SLNet;</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<a class="code" href="../../db/dbd/_export_8h.xhtml#aa00165c970bdb25e1c757b432509533b">STATIC_FACTORY_DEFINITIONS</a>(<a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#d2/d32/class_s_l_net_1_1_nat_type_detection_client" title="Client code for NatTypeDetection.">NatTypeDetectionClient</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#d2/d32/class_s_l_net_1_1_nat_type_detection_client" title="Client code for NatTypeDetection.">NatTypeDetectionClient</a>);</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<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#a9e2d865e4d8fbff894197e8c94353d83">NatTypeDetectionClient::NatTypeDetectionClient</a>()</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;{</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; <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#a6a361e674965d2198f8c03fc6d7ec341">c2</a>=0;</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;}</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#a1c388a3748d35129675a73a85e942a3e">NatTypeDetectionClient::~NatTypeDetectionClient</a>()</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;{</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#a6a361e674965d2198f8c03fc6d7ec341">c2</a>!=0)</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; {</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a79772d09451f784e87bec85694fad1ed">SLNet::OP_DELETE</a>(<a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#a6a361e674965d2198f8c03fc6d7ec341">c2</a>,<a class="code" href="../../d8/db0/defines_8h.xhtml#a8661ec2137eef33a8cd0cd618a748871">_FILE_AND_LINE_</a>);</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; }</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;}</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#a8c7b65beb45eb29b117e7b8dca0d0dfa">NatTypeDetectionClient::DetectNATType</a>(<a class="code" href="../../d8/dbe/struct_s_l_net_1_1_system_address.xhtml" title="Network address for a system.">SystemAddress</a> _serverAddress)</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="keywordflow">if</span> (<a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#aaace3fcfc56711c4830824445e12a5f1">IsInProgress</a>())</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#a6a361e674965d2198f8c03fc6d7ec341">c2</a>==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; <a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml">DataStructures::List&lt;RakNetSocket2* &gt;</a> sockets;</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; <a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#adac8deadf450a4e1d69c11b1db588bec">rakPeerInterface</a>-&gt;<a class="code" href="../../da/d27/class_s_l_net_1_1_rak_peer_interface.xhtml#a8cb053f3d6574b9a050dd05d92fbe5bd">GetSockets</a>(sockets);</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <span class="comment">//SystemAddress sockAddr;</span></div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <span class="comment">//SocketLayer::GetSystemAddress(sockets[0], &amp;sockAddr);</span></div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <span class="keywordtype">char</span> str[64];</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <span class="comment">//sockAddr.ToString(false,str);</span></div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; sockets[0]-&gt;GetBoundAddress().ToString(<span class="keyword">false</span>,str,static_cast&lt;size_t&gt;(64));</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#a6a361e674965d2198f8c03fc6d7ec341">c2</a>=<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ac6f66c19ed46a5a757457cf568e8536e">CreateNonblockingBoundSocket</a>(str</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;#ifdef __native_client__</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; , sockets[0]-&gt;chromeInstance</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;#endif</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; ,<span class="keyword">this</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">//c2Port=SocketLayer::GetLocalPort(c2);</span></div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; }</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;<span class="preprocessor">#if !defined(__native_client__) &amp;&amp; !defined(WINDOWS_STORE_RT)</span></div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;<span class="preprocessor"></span> <span class="keywordflow">if</span> (<a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#a6a361e674965d2198f8c03fc6d7ec341">c2</a>-&gt;<a class="code" href="../../d1/dde/class_s_l_net_1_1_rak_net_socket2.xhtml#af605c577c5300b0599fcd6396203d685">IsBerkleySocket</a>())</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; ((<a class="code" href="../../d1/d4f/class_s_l_net_1_1_r_n_s2___berkley.xhtml">RNS2_Berkley</a>*) <a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#a6a361e674965d2198f8c03fc6d7ec341">c2</a>)-&gt;CreateRecvPollingThread(0);</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</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#a5bda0131f7b5c21b3b673cfab183b452">serverAddress</a>=_serverAddress;</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; <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="l00075"></a><span class="lineno"> 75</span>&#160; bs.<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a2d1187ee508dc9d231d27aed1867d201" title="Write any integral type to a bitstream.">Write</a>((<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>)<a class="code" href="../../d6/d83/_message_identifiers_8h.xhtml#ac1b471af280629f5ace02e586d5bcfd3a6445b9f24f63fd0782dbebd67d963d65" title="Sent to NatTypeDetectionServer.">ID_NAT_TYPE_DETECTION_REQUEST</a>);</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; bs.<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a2d1187ee508dc9d231d27aed1867d201" title="Write any integral type to a bitstream.">Write</a>(<span class="keyword">true</span>); <span class="comment">// IsRequest</span></div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; bs.<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a2d1187ee508dc9d231d27aed1867d201" title="Write any integral type to a bitstream.">Write</a>(<a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#a6a361e674965d2198f8c03fc6d7ec341">c2</a>-&gt;<a class="code" href="../../d1/dde/class_s_l_net_1_1_rak_net_socket2.xhtml#a58ced3513884d5224dfa50c46fe5a64a">GetBoundAddress</a>().<a class="code" href="../../d8/dbe/struct_s_l_net_1_1_system_address.xhtml#afdd4a14b98b7e7b9f69afc30e8fe0d47" title="Returns the port in host order (this is what you normally use)">GetPort</a>());</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#adac8deadf450a4e1d69c11b1db588bec">rakPeerInterface</a>-&gt;<a class="code" href="../../da/d27/class_s_l_net_1_1_rak_peer_interface.xhtml#ab817d74d4aa4ff1edf593543bbf7b8fb">Send</a>(&amp;bs,<a class="code" href="../../d7/d03/_packet_priority_8h.xhtml#a659378374e516180f93640c79f59705ca06b314d863076d54942e065d90c179c4">MEDIUM_PRIORITY</a>,<a class="code" href="../../d7/d03/_packet_priority_8h.xhtml#ae41fa01235e99dced384d137fa874a7eabc6ba98e9404532481e43eea39731929" title="The message is sent reliably, but not necessarily in any order. Same overhead as UNRELIABLE.">RELIABLE</a>,0,<a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#a5bda0131f7b5c21b3b673cfab183b452">serverAddress</a>,<span class="keyword">false</span>);</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;}</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#a8efcf97fec1d0abf489d1a046c86edc9">NatTypeDetectionClient::OnCompletion</a>(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ae62da265b44640553509a42b0f253ef6" title="All possible types of NATs (except NAT_TYPE_COUNT, which is an internal value)">NATTypeDetectionResult</a> result)</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; <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> *p = <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#aed235e7933ca7f30448eb9c91cefab63">AllocatePacketUnified</a>(<span class="keyword">sizeof</span>(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a5b5b9eb3be9ad636af02da44b718a75f" title="First byte of a network message.">MessageID</a>)+<span class="keyword">sizeof</span>(<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>)*2);</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <span class="comment">//printf(&quot;Returning nat detection result to the user\n&quot;);</span></div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; p-&gt;<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#aff6d115daef2787d582f9a20efd64fc0" title="The data from the sender.">data</a>[0]=<a class="code" href="../../d6/d83/_message_identifiers_8h.xhtml#ac1b471af280629f5ace02e586d5bcfd3a33c5740a8a5655b2eadd45b7e6d62fee" title="Sent to NatTypeDetectionClient. Byte 1 contains the type of NAT detected.">ID_NAT_TYPE_DETECTION_RESULT</a>;</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; p-&gt;<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a5c9d18515892239712a5d8fcb46c4245" title="The system that send this packet.">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#a5bda0131f7b5c21b3b673cfab183b452">serverAddress</a>;</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; p-&gt;<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a5c9d18515892239712a5d8fcb46c4245" title="The system that send this packet.">systemAddress</a>.<a class="code" href="../../d8/dbe/struct_s_l_net_1_1_system_address.xhtml#aac702cdf872b7c57376b2e379845c150">systemIndex</a>=(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#aaebbed028894590d770e7fcf8518c441">SystemIndex</a>)-1;</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; p-&gt;<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a4f42e82893aff6aade8a45c79d1b8fd3">guid</a>=<a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#adac8deadf450a4e1d69c11b1db588bec">rakPeerInterface</a>-&gt;<a class="code" href="../../da/d27/class_s_l_net_1_1_rak_peer_interface.xhtml#a19e5960d76ee5af2ca108978daa2fcff">GetGuidFromSystemAddress</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#a5bda0131f7b5c21b3b673cfab183b452">serverAddress</a>);</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; p-&gt;<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#aff6d115daef2787d582f9a20efd64fc0" title="The data from the sender.">data</a>[1]=(<span class="keywordtype">unsigned</span> char) result;</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; p-&gt;<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a4a736945115119681c77e168346988c4">wasGeneratedLocally</a>=<span class="keyword">true</span>;</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#adac8deadf450a4e1d69c11b1db588bec">rakPeerInterface</a>-&gt;<a class="code" href="../../da/d27/class_s_l_net_1_1_rak_peer_interface.xhtml#a55e4b5cdc35701904e451e81ff237d08">PushBackPacket</a>(p, <span class="keyword">true</span>);</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">// Symmetric and port restricted are determined by server, so no need to notify server we are done</span></div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <span class="keywordflow">if</span> (result!=<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ae62da265b44640553509a42b0f253ef6a536002ce64a090e2e558fb2e19dab257" title="Same as address-restricted cone NAT, but we had to send to both the correct remote IP address and cor...">NAT_TYPE_PORT_RESTRICTED</a> &amp;&amp; result!=<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ae62da265b44640553509a42b0f253ef6a18544642db1d35ef27a62144dbccf513" title="A different port is chosen for every remote destination. The same source address and port to a differ...">NAT_TYPE_SYMMETRIC</a>)</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; {</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <span class="comment">// Otherwise tell the server we got this message, so it stops sending tests to us</span></div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</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="l00097"></a><span class="lineno"> 97</span>&#160; bs.<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a2d1187ee508dc9d231d27aed1867d201" title="Write any integral type to a bitstream.">Write</a>((<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>)ID_NAT_TYPE_DETECTION_REQUEST);</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; bs.<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a2d1187ee508dc9d231d27aed1867d201" title="Write any integral type to a bitstream.">Write</a>(<span class="keyword">false</span>); <span class="comment">// Done</span></div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; <a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#adac8deadf450a4e1d69c11b1db588bec">rakPeerInterface</a>-&gt;<a class="code" href="../../da/d27/class_s_l_net_1_1_rak_peer_interface.xhtml#ab817d74d4aa4ff1edf593543bbf7b8fb">Send</a>(&amp;bs,<a class="code" href="../../d7/d03/_packet_priority_8h.xhtml#a659378374e516180f93640c79f59705cacb1785f11dd02aa7f5d164fb314c594e">HIGH_PRIORITY</a>,<a class="code" href="../../d7/d03/_packet_priority_8h.xhtml#ae41fa01235e99dced384d137fa874a7eabc6ba98e9404532481e43eea39731929" title="The message is sent reliably, but not necessarily in any order. Same overhead as UNRELIABLE.">RELIABLE</a>,0,<a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#a5bda0131f7b5c21b3b673cfab183b452">serverAddress</a>,<span class="keyword">false</span>);</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;</div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</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#ac4f69e6e9b6fb1b71c9ccb3289602c4d">Shutdown</a>();</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;<span class="keywordtype">bool</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#aaace3fcfc56711c4830824445e12a5f1">NatTypeDetectionClient::IsInProgress</a>(<span class="keywordtype">void</span>)<span class="keyword"> const</span></div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <span class="keywordflow">return</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#a5bda0131f7b5c21b3b673cfab183b452">serverAddress</a>!=<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="l00107"></a><span class="lineno"> 107</span>&#160;}</div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#a34f6c2dae2fed71b43b8a5c628da5771" title="Update is called every time a packet is checked for .">NatTypeDetectionClient::Update</a>(<span class="keywordtype">void</span>)</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160;{</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#aaace3fcfc56711c4830824445e12a5f1">IsInProgress</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; <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="l00113"></a><span class="lineno"> 113</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#adce08370ed20c337678b3008a078b0ff">bufferedPacketsMutex</a>.<a class="code" href="../../d9/da8/class_s_l_net_1_1_simple_mutex.xhtml#a7858bc7bc53efe7d0957ebe9d775e144">Lock</a>();</div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#a4ee824336f70da5ec41d5a7543656358">bufferedPackets</a>.<a class="code" href="../../d3/d87/class_data_structures_1_1_queue.xhtml#ae2aec093c82f780558c23f8ae9f296b8">Size</a>()&gt;0)</div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; recvStruct=<a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#a4ee824336f70da5ec41d5a7543656358">bufferedPackets</a>.<a class="code" href="../../d3/d87/class_data_structures_1_1_queue.xhtml#a25272370e684388afd807c5369e4ef87">Pop</a>();</div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; recvStruct=0;</div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</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#adce08370ed20c337678b3008a078b0ff">bufferedPacketsMutex</a>.<a class="code" href="../../d9/da8/class_s_l_net_1_1_simple_mutex.xhtml#a3b5dc22cc92f6e08e4326f65be5c5e82">Unlock</a>();</div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <span class="keywordflow">while</span> (recvStruct)</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> (recvStruct-&gt;<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a198885d66bfad6fcef6fdd0bee7d1424">bytesRead</a>==1 &amp;&amp; recvStruct-&gt;<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#acbf1ce399511b9ee17cadcce0456e7e0">data</a>[0]==<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ae62da265b44640553509a42b0f253ef6a373e1f23419cc1d89389e2dcca4479f2" title="Works with anyone.">NAT_TYPE_NONE</a>)</div>
<div class="line"><a name="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="../../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">OnCompletion</a>(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ae62da265b44640553509a42b0f253ef6a373e1f23419cc1d89389e2dcca4479f2" title="Works with anyone.">NAT_TYPE_NONE</a>);</div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <a class="code" href="../../d8/db0/defines_8h.xhtml#afaa3647d29f5960651eb23fd3d2b5368">RakAssert</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#aaace3fcfc56711c4830824445e12a5f1">IsInProgress</a>()==<span class="keyword">false</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; <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#a3028ee27c4ac77c0332775cdb8589d44">DeallocRNS2RecvStruct</a>(recvStruct, <a class="code" href="../../d8/db0/defines_8h.xhtml#a8661ec2137eef33a8cd0cd618a748871">_FILE_AND_LINE_</a>);</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; <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#adce08370ed20c337678b3008a078b0ff">bufferedPacketsMutex</a>.<a class="code" href="../../d9/da8/class_s_l_net_1_1_simple_mutex.xhtml#a7858bc7bc53efe7d0957ebe9d775e144">Lock</a>();</div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#a4ee824336f70da5ec41d5a7543656358">bufferedPackets</a>.<a class="code" href="../../d3/d87/class_data_structures_1_1_queue.xhtml#ae2aec093c82f780558c23f8ae9f296b8">Size</a>()&gt;0)</div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; recvStruct=<a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#a4ee824336f70da5ec41d5a7543656358">bufferedPackets</a>.<a class="code" href="../../d3/d87/class_data_structures_1_1_queue.xhtml#a25272370e684388afd807c5369e4ef87">Pop</a>();</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; recvStruct=0;</div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</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#adce08370ed20c337678b3008a078b0ff">bufferedPacketsMutex</a>.<a class="code" href="../../d9/da8/class_s_l_net_1_1_simple_mutex.xhtml#a3b5dc22cc92f6e08e4326f65be5c5e82">Unlock</a>();</div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; }</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="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#ga5c8f613a7c294e0b96deccbdabc38f18">PluginReceiveResult</a> <a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#a2c452f37726189297d043ba3e02340ad">NatTypeDetectionClient::OnReceive</a>(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#d8/d23/struct_s_l_net_1_1_packet" title="This represents a user message from another system.">Packet</a> *packet)</div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;{</div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#aaace3fcfc56711c4830824445e12a5f1">IsInProgress</a>())</div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; {</div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; <span class="keywordflow">switch</span> (packet-&gt;<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#aff6d115daef2787d582f9a20efd64fc0" title="The data from the sender.">data</a>[0])</div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; {</div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; <span class="keywordflow">case</span> <a class="code" href="../../d6/d83/_message_identifiers_8h.xhtml#ac1b471af280629f5ace02e586d5bcfd3ad80d31153371d37c73e89d11e8be5221">ID_OUT_OF_BAND_INTERNAL</a>:</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; <span class="keywordflow">if</span> (packet-&gt;<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a75dfd0a23cc4c14dd338caedabe19341" title="The length of the data in bytes.">length</a>&gt;=3 &amp;&amp; packet-&gt;<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#aff6d115daef2787d582f9a20efd64fc0" title="The data from the sender.">data</a>[1]==<a class="code" href="../../d6/d83/_message_identifiers_8h.xhtml#adb1ee7dca645f585e453c0015fa7688dab7f4d8f8e3d05aa7193f5ff70f2624fc">ID_NAT_TYPE_DETECT</a>)</div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; {</div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; <a class="code" href="../../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">OnCompletion</a>((<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ae62da265b44640553509a42b0f253ef6" title="All possible types of NATs (except NAT_TYPE_COUNT, which is an internal value)">NATTypeDetectionResult</a>)packet-&gt;<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#aff6d115daef2787d582f9a20efd64fc0" title="The data from the sender.">data</a>[2]);</div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; <span class="keywordflow">return</span> <a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#gga5c8f613a7c294e0b96deccbdabc38f18a9f27ed7ccb7513dceb7ed4da3d99a1bf" title="The plugin used this message and it shouldn&#39;t be given to the user.">RR_STOP_PROCESSING_AND_DEALLOCATE</a>;</div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; }</div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; }</div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; <span class="keywordflow">case</span> <a class="code" href="../../d6/d83/_message_identifiers_8h.xhtml#ac1b471af280629f5ace02e586d5bcfd3a33c5740a8a5655b2eadd45b7e6d62fee" title="Sent to NatTypeDetectionClient. Byte 1 contains the type of NAT detected.">ID_NAT_TYPE_DETECTION_RESULT</a>:</div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; <span class="keywordflow">if</span> (packet-&gt;<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a4a736945115119681c77e168346988c4">wasGeneratedLocally</a>==<span class="keyword">false</span>)</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; <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#a8efcf97fec1d0abf489d1a046c86edc9">OnCompletion</a>((<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ae62da265b44640553509a42b0f253ef6" title="All possible types of NATs (except NAT_TYPE_COUNT, which is an internal value)">NATTypeDetectionResult</a>)packet-&gt;<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#aff6d115daef2787d582f9a20efd64fc0" title="The data from the sender.">data</a>[1]);</div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; <span class="keywordflow">return</span> <a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#gga5c8f613a7c294e0b96deccbdabc38f18a9f27ed7ccb7513dceb7ed4da3d99a1bf" title="The plugin used this message and it shouldn&#39;t be given to the user.">RR_STOP_PROCESSING_AND_DEALLOCATE</a>;</div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; }</div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; <span class="keywordflow">case</span> ID_NAT_TYPE_DETECTION_REQUEST:</div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</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#af42a0d8da81122a6197403d57a8ae674">OnTestPortRestricted</a>(packet);</div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; <span class="keywordflow">return</span> <a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#gga5c8f613a7c294e0b96deccbdabc38f18a9f27ed7ccb7513dceb7ed4da3d99a1bf" title="The plugin used this message and it shouldn&#39;t be given to the user.">RR_STOP_PROCESSING_AND_DEALLOCATE</a>;</div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; }</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;</div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; <span class="keywordflow">return</span> <a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#gga5c8f613a7c294e0b96deccbdabc38f18a5b5a476b87be78212057efd5535345d4" title="This message will be processed by other plugins, and at last by the user.">RR_CONTINUE_PROCESSING</a>;</div>
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160;}</div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#ade11742c5133ac49b8ce61664f4357c5">NatTypeDetectionClient::OnClosedConnection</a>(<span class="keyword">const</span> <a class="code" href="../../d8/dbe/struct_s_l_net_1_1_system_address.xhtml" title="Network address for a system.">SystemAddress</a> &amp;systemAddress, <a class="code" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml">RakNetGUID</a> rakNetGUID, <a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#ga4d3ac5ca8821fadad6d22d0267e06803">PI2_LostConnectionReason</a> lostConnectionReason )</div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160;{</div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; (void) lostConnectionReason;</div>
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; (void) rakNetGUID;</div>
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160;</div>
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#aaace3fcfc56711c4830824445e12a5f1">IsInProgress</a>() &amp;&amp; systemAddress==<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#a5bda0131f7b5c21b3b673cfab183b452">serverAddress</a>)</div>
<div class="line"><a name="l00174"></a><span class="lineno"> 174</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#ac4f69e6e9b6fb1b71c9ccb3289602c4d">Shutdown</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;<span class="keywordtype">void</span> <a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#ace4ca532373fa4a934256abe33ec0dc1" title="Called when RakPeer is shutdown.">NatTypeDetectionClient::OnRakPeerShutdown</a>(<span class="keywordtype">void</span>)</div>
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160;{</div>
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; <a class="code" href="../../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">Shutdown</a>();</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="../../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" title="Called when the interface is detached.">NatTypeDetectionClient::OnDetach</a>(<span class="keywordtype">void</span>)</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; <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#ac4f69e6e9b6fb1b71c9ccb3289602c4d">Shutdown</a>();</div>
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160;}</div>
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#af42a0d8da81122a6197403d57a8ae674">NatTypeDetectionClient::OnTestPortRestricted</a>(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#d8/d23/struct_s_l_net_1_1_packet" title="This represents a user message from another system.">Packet</a> *packet)</div>
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160;{</div>
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; <a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a> bsIn(packet-&gt;<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#aff6d115daef2787d582f9a20efd64fc0" title="The data from the sender.">data</a>,packet-&gt;<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a75dfd0a23cc4c14dd338caedabe19341" title="The length of the data in bytes.">length</a>,<span class="keyword">false</span>);</div>
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; bsIn.IgnoreBytes(<span class="keyword">sizeof</span>(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a5b5b9eb3be9ad636af02da44b718a75f" title="First byte of a network message.">MessageID</a>));</div>
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; <a class="code" href="../../d2/d66/class_s_l_net_1_1_rak_string.xhtml" title="String class.">SLNet::RakString</a> s3p4StrAddress;</div>
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; bsIn.Read(s3p4StrAddress);</div>
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> s3p4Port;</div>
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; bsIn.Read(s3p4Port);</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; <a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml">DataStructures::List&lt;RakNetSocket2* &gt;</a> sockets;</div>
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; <a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#adac8deadf450a4e1d69c11b1db588bec">rakPeerInterface</a>-&gt;<a class="code" href="../../da/d27/class_s_l_net_1_1_rak_peer_interface.xhtml#a8cb053f3d6574b9a050dd05d92fbe5bd">GetSockets</a>(sockets);</div>
<div class="line"><a name="l00195"></a><span class="lineno"> 195</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> s3p4Addr = sockets[0]-&gt;GetBoundAddress();</div>
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; s3p4Addr.<a class="code" href="../../d8/dbe/struct_s_l_net_1_1_system_address.xhtml#a8a7cfd12b532b744d42bad6ed6b5f089" title="Same as FromString(), but you explicitly set a port at the same time.">FromStringExplicitPort</a>(s3p4StrAddress.<a class="code" href="../../d2/d66/class_s_l_net_1_1_rak_string.xhtml#ac661bded7f8850f8cf7bbcad8406d3e4" title="Same as std::string::c_str.">C_String</a>(), s3p4Port);</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">// Send off the RakNet socket to the specified address, message is unformatted</span></div>
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; <span class="comment">// Server does this twice, so don&#39;t have to unduly worry about packetloss</span></div>
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; <a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a> bsOut;</div>
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; bsOut.<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a2d1187ee508dc9d231d27aed1867d201" title="Write any integral type to a bitstream.">Write</a>((<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a5b5b9eb3be9ad636af02da44b718a75f" title="First byte of a network message.">MessageID</a>) <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ae62da265b44640553509a42b0f253ef6a536002ce64a090e2e558fb2e19dab257" title="Same as address-restricted cone NAT, but we had to send to both the correct remote IP address and cor...">NAT_TYPE_PORT_RESTRICTED</a>);</div>
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; bsOut.<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a2d1187ee508dc9d231d27aed1867d201" title="Write any integral type to a bitstream.">Write</a>(<a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#adac8deadf450a4e1d69c11b1db588bec">rakPeerInterface</a>-&gt;<a class="code" href="../../da/d27/class_s_l_net_1_1_rak_peer_interface.xhtml#a19e5960d76ee5af2ca108978daa2fcff">GetGuidFromSystemAddress</a>(<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="l00203"></a><span class="lineno"> 203</span>&#160;<span class="comment">// SocketLayer::SendTo_PC( sockets[0], (const char*) bsOut.GetData(), bsOut.GetNumberOfBytesUsed(), s3p4Addr, __FILE__, __LINE__ );</span></div>
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160;</div>
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; <a class="code" href="../../df/dc3/struct_s_l_net_1_1_r_n_s2___send_parameters.xhtml">RNS2_SendParameters</a> bsp;</div>
<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; bsp.<a class="code" href="../../df/dc3/struct_s_l_net_1_1_r_n_s2___send_parameters.xhtml#a223cad191bf08d288c46750e75c5f959">data</a> = (<span class="keywordtype">char</span>*) bsOut.<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a7b4099386f6f116f0978b00ead160a0d">GetData</a>();</div>
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; bsp.<a class="code" href="../../df/dc3/struct_s_l_net_1_1_r_n_s2___send_parameters.xhtml#a23d46d4d1bf564a8873f477af6a29bd9">length</a> = bsOut.<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a48740002683b46b00cbb97b8f7d0710e" title="Returns the length in bytes of the stream.">GetNumberOfBytesUsed</a>();</div>
<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; bsp.<a class="code" href="../../df/dc3/struct_s_l_net_1_1_r_n_s2___send_parameters.xhtml#a7e9bd3e902cda195cdeff08db0ddfd8c">systemAddress</a>=s3p4Addr;</div>
<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; sockets[0]-&gt;Send(&amp;bsp, <a class="code" href="../../d8/db0/defines_8h.xhtml#a8661ec2137eef33a8cd0cd618a748871">_FILE_AND_LINE_</a>);</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;}</div>
<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#ac4f69e6e9b6fb1b71c9ccb3289602c4d">NatTypeDetectionClient::Shutdown</a>(<span class="keywordtype">void</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; <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#a5bda0131f7b5c21b3b673cfab183b452">serverAddress</a>=<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="l00215"></a><span class="lineno"> 215</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#a6a361e674965d2198f8c03fc6d7ec341">c2</a>!=0)</div>
<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; {</div>
<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160;<span class="preprocessor">#if !defined(__native_client__) &amp;&amp; !defined(WINDOWS_STORE_RT)</span></div>
<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160;<span class="preprocessor"></span> <span class="keywordflow">if</span> (<a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#a6a361e674965d2198f8c03fc6d7ec341">c2</a>-&gt;<a class="code" href="../../d1/dde/class_s_l_net_1_1_rak_net_socket2.xhtml#af605c577c5300b0599fcd6396203d685">IsBerkleySocket</a>())</div>
<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; ((<a class="code" href="../../d1/d4f/class_s_l_net_1_1_r_n_s2___berkley.xhtml">RNS2_Berkley</a> *)<a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#a6a361e674965d2198f8c03fc6d7ec341">c2</a>)-&gt;BlockOnStopRecvPollingThread();</div>
<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a79772d09451f784e87bec85694fad1ed">SLNet::OP_DELETE</a>(<a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#a6a361e674965d2198f8c03fc6d7ec341">c2</a>, <a class="code" href="../../d8/db0/defines_8h.xhtml#a8661ec2137eef33a8cd0cd618a748871">_FILE_AND_LINE_</a>);</div>
<div class="line"><a name="l00223"></a><span class="lineno"> 223</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#a6a361e674965d2198f8c03fc6d7ec341">c2</a>=0;</div>
<div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; }</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="../../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">bufferedPacketsMutex</a>.<a class="code" href="../../d9/da8/class_s_l_net_1_1_simple_mutex.xhtml#a7858bc7bc53efe7d0957ebe9d775e144">Lock</a>();</div>
<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; <span class="keywordflow">while</span> (<a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#a4ee824336f70da5ec41d5a7543656358">bufferedPackets</a>.<a class="code" href="../../d3/d87/class_data_structures_1_1_queue.xhtml#ae2aec093c82f780558c23f8ae9f296b8">Size</a>())</div>
<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a79772d09451f784e87bec85694fad1ed">SLNet::OP_DELETE</a>(<a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#a4ee824336f70da5ec41d5a7543656358">bufferedPackets</a>.<a class="code" href="../../d3/d87/class_data_structures_1_1_queue.xhtml#a25272370e684388afd807c5369e4ef87">Pop</a>(), <a class="code" href="../../d8/db0/defines_8h.xhtml#a8661ec2137eef33a8cd0cd618a748871">_FILE_AND_LINE_</a>);</div>
<div class="line"><a name="l00229"></a><span class="lineno"> 229</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#adce08370ed20c337678b3008a078b0ff">bufferedPacketsMutex</a>.<a class="code" href="../../d9/da8/class_s_l_net_1_1_simple_mutex.xhtml#a3b5dc22cc92f6e08e4326f65be5c5e82">Unlock</a>();</div>
<div class="line"><a name="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="comment">// --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#a3028ee27c4ac77c0332775cdb8589d44">NatTypeDetectionClient::DeallocRNS2RecvStruct</a>(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#d2/ddc/struct_s_l_net_1_1_r_n_s2_recv_struct">RNS2RecvStruct</a> *s, <span class="keyword">const</span> <span class="keywordtype">char</span> *file, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> line)</div>
<div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160;{</div>
<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a79772d09451f784e87bec85694fad1ed">SLNet::OP_DELETE</a>(s, file, line);</div>
<div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160;}</div>
<div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160;<span class="comment">// --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160;<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#d2/ddc/struct_s_l_net_1_1_r_n_s2_recv_struct">RNS2RecvStruct</a> *<a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#acb42df2d3008aee1794e1048e0859f0d">NatTypeDetectionClient::AllocRNS2RecvStruct</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *file, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> line)</div>
<div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;{</div>
<div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; <span class="keywordflow">return</span> SLNet::OP_NEW&lt;RNS2RecvStruct&gt;(file,line);</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;<span class="keywordtype">void</span> <a class="code" href="../../d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#a2cc411126d65d691cf0b270b5723ea13">NatTypeDetectionClient::OnRNS2Recv</a>(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#d2/ddc/struct_s_l_net_1_1_r_n_s2_recv_struct">RNS2RecvStruct</a> *recvStruct)</div>
<div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160;{</div>
<div class="line"><a name="l00244"></a><span class="lineno"> 244</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#adce08370ed20c337678b3008a078b0ff">bufferedPacketsMutex</a>.<a class="code" href="../../d9/da8/class_s_l_net_1_1_simple_mutex.xhtml#a7858bc7bc53efe7d0957ebe9d775e144">Lock</a>();</div>
<div class="line"><a name="l00245"></a><span class="lineno"> 245</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#a4ee824336f70da5ec41d5a7543656358">bufferedPackets</a>.<a class="code" href="../../d3/d87/class_data_structures_1_1_queue.xhtml#ae564a88f3367a786777694e778a4500d">Push</a>(recvStruct,<a class="code" href="../../d8/db0/defines_8h.xhtml#a8661ec2137eef33a8cd0cd618a748871">_FILE_AND_LINE_</a>);</div>
<div class="line"><a name="l00246"></a><span class="lineno"> 246</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#adce08370ed20c337678b3008a078b0ff">bufferedPacketsMutex</a>.<a class="code" href="../../d9/da8/class_s_l_net_1_1_simple_mutex.xhtml#a3b5dc22cc92f6e08e4326f65be5c5e82">Unlock</a>();</div>
<div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160;}</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="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="../../dd/d1a/_nat_type_detection_client_8cpp.xhtml">NatTypeDetectionClient.cpp</a></li>
<li class="footer">Generated on Wed Aug 14 2019 22:09:47 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,3 @@
<map id="SLNet::LogCommandParser" name="SLNet::LogCommandParser">
<area shape="rect" id="node2" href="$d5/d9a/class_s_l_net_1_1_command_parser_interface.xhtml" title="The interface used by command parsers." alt="" coords="5,5,217,273"/>
</map>

View File

@ -0,0 +1 @@
152cd327f6d1a1a5ccf43dee44c58733

View File

@ -0,0 +1,140 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.38.0 (20140413.2041)
-->
<!-- Title: SLNet::LogCommandParser Pages: 1 -->
<!--zoomable 468 -->
<svg id="main" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" onload="init(evt)">
<defs>
<circle id="rim" cx="0" cy="0" r="7"/>
<circle id="rim2" cx="0" cy="0" r="3.5"/>
<g id="zoomPlus">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="zoomplus.mouseover" end="zoomplus.mouseout"/>
</use>
<path d="M-4,0h8M0,-4v8" fill="none" stroke="white" stroke-width="1.5" pointer-events="none"/>
</g>
<g id="zoomMin">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="zoomminus.mouseover" end="zoomminus.mouseout"/>
</use>
<path d="M-4,0h8" fill="none" stroke="white" stroke-width="1.5" pointer-events="none"/>
</g>
<g id="dirArrow">
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="resetDef">
<use xlink:href="#rim2" fill="#404040">
<set attributeName="fill" to="#808080" begin="reset.mouseover" end="reset.mouseout"/>
</use>
</g>
</defs>
<script type="text/javascript">
var viewWidth = 167;
var viewHeight = 468;
var sectionId = 'dynsection-0';
</script>
<script xlink:href="../../svgpan.js"/>
<svg id="graph" class="graph">
<g id="viewport">
<title>SLNet::LogCommandParser</title>
<!-- Node1 -->
<g id="node1" class="node"><title>Node1</title>
<polygon fill="#bfbfbf" stroke="black" points="3,-0.5 3,-222.5 156,-222.5 156,-0.5 3,-0.5"/>
<text text-anchor="middle" x="79.5" y="-210.5" font-family="Helvetica,sans-Serif" font-size="10.00">SLNet::LogCommandParser</text>
<polyline fill="none" stroke="black" points="3,-203.5 156,-203.5 "/>
<text text-anchor="start" x="11" y="-191.5" font-family="Helvetica,sans-Serif" font-size="10.00"># remoteUsers</text>
<text text-anchor="start" x="11" y="-180.5" font-family="Helvetica,sans-Serif" font-size="10.00"># channelNames</text>
<text text-anchor="start" x="11" y="-169.5" font-family="Helvetica,sans-Serif" font-size="10.00"># trans</text>
<polyline fill="none" stroke="black" points="3,-162.5 156,-162.5 "/>
<text text-anchor="start" x="11" y="-150.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ LogCommandParser()</text>
<text text-anchor="start" x="11" y="-139.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~LogCommandParser()</text>
<text text-anchor="start" x="11" y="-128.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ OnCommand()</text>
<text text-anchor="start" x="11" y="-117.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetName()</text>
<text text-anchor="start" x="11" y="-106.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SendHelp()</text>
<text text-anchor="start" x="11" y="-95.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ AddChannel()</text>
<text text-anchor="start" x="11" y="-84.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ WriteLog()</text>
<text text-anchor="start" x="11" y="-73.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ OnNewIncomingConnection()</text>
<text text-anchor="start" x="11" y="-62.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ OnConnectionLost()</text>
<text text-anchor="start" x="11" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ OnTransportChange()</text>
<text text-anchor="start" x="11" y="-40.5" font-family="Helvetica,sans-Serif" font-size="10.00"># PrintChannels()</text>
<text text-anchor="start" x="11" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00"># Unsubscribe()</text>
<text text-anchor="start" x="11" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00"># Subscribe()</text>
<text text-anchor="start" x="11" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00"># GetChannelIndexFromName()</text>
</g>
<!-- Node2 -->
<g id="node2" class="node"><title>Node2</title>
<g id="a_node2"><a xlink:href="../../d5/d9a/class_s_l_net_1_1_command_parser_interface.xhtml" target="_top" xlink:title="The interface used by command parsers.">
<polygon fill="none" stroke="black" points="0,-259.5 0,-459.5 159,-459.5 159,-259.5 0,-259.5"/>
<text text-anchor="middle" x="79.5" y="-447.5" font-family="Helvetica,sans-Serif" font-size="10.00">SLNet::CommandParserInterface</text>
<polyline fill="none" stroke="black" points="0,-440.5 159,-440.5 "/>
<text text-anchor="start" x="8" y="-428.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VARIABLE_NUMBER_OF</text>
<text text-anchor="start" x="8" y="-417.5" font-family="Helvetica,sans-Serif" font-size="10.00">_PARAMETERS</text>
<text text-anchor="start" x="8" y="-406.5" font-family="Helvetica,sans-Serif" font-size="10.00"># commandList</text>
<polyline fill="none" stroke="black" points="0,-399.5 159,-399.5 "/>
<text text-anchor="start" x="8" y="-387.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ CommandParserInterface()</text>
<text text-anchor="start" x="8" y="-376.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~CommandParserInterface()</text>
<text text-anchor="start" x="8" y="-365.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetName()</text>
<text text-anchor="start" x="8" y="-354.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ OnNewIncomingConnection()</text>
<text text-anchor="start" x="8" y="-343.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ OnConnectionLost()</text>
<text text-anchor="start" x="8" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SendHelp()</text>
<text text-anchor="start" x="8" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ OnCommand()</text>
<text text-anchor="start" x="8" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ OnTransportChange()</text>
<text text-anchor="start" x="8" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetRegisteredCommand()</text>
<text text-anchor="start" x="8" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SendCommandList()</text>
<text text-anchor="start" x="8" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">and 6 more...</text>
<text text-anchor="start" x="8" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ParseConsoleString()</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="M79.5,-248.962C79.5,-240.237 79.5,-231.421 79.5,-222.692"/>
<polygon fill="none" stroke="midnightblue" points="76.0001,-249.151 79.5,-259.151 83.0001,-249.152 76.0001,-249.151"/>
</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_log_command_parser__inherit__graph_org.svg" target="_base">
<rect id="button" ry="5" rx="5" y="6" x="6" height="38" width="38"
fill="#f2f5e9" fill-opacity="0.5" stroke="#606060" stroke-width="1.0"/>
<path id="arrow"
d="M 11.500037,31.436501 C 11.940474,20.09759 22.043105,11.32322 32.158766,21.979434 L 37.068811,17.246167 C 37.068811,17.246167 37.088388,32 37.088388,32 L 22.160133,31.978069 C 22.160133,31.978069 26.997745,27.140456 26.997745,27.140456 C 18.528582,18.264221 13.291696,25.230495 11.500037,31.436501 z"
style="fill:#404040;"/>
</a>
</g>
</svg>
</svg>

After

Width:  |  Height:  |  Size: 10 KiB

View File

@ -0,0 +1,66 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.38.0 (20140413.2041)
-->
<!-- Title: SLNet::LogCommandParser Pages: 1 -->
<svg width="167pt" height="468pt"
viewBox="0.00 0.00 167.00 468.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 464)">
<title>SLNet::LogCommandParser</title>
<!-- Node1 -->
<g id="node1" class="node"><title>Node1</title>
<polygon fill="#bfbfbf" stroke="black" points="3,-0.5 3,-222.5 156,-222.5 156,-0.5 3,-0.5"/>
<text text-anchor="middle" x="79.5" y="-210.5" font-family="Helvetica,sans-Serif" font-size="10.00">SLNet::LogCommandParser</text>
<polyline fill="none" stroke="black" points="3,-203.5 156,-203.5 "/>
<text text-anchor="start" x="11" y="-191.5" font-family="Helvetica,sans-Serif" font-size="10.00"># remoteUsers</text>
<text text-anchor="start" x="11" y="-180.5" font-family="Helvetica,sans-Serif" font-size="10.00"># channelNames</text>
<text text-anchor="start" x="11" y="-169.5" font-family="Helvetica,sans-Serif" font-size="10.00"># trans</text>
<polyline fill="none" stroke="black" points="3,-162.5 156,-162.5 "/>
<text text-anchor="start" x="11" y="-150.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ LogCommandParser()</text>
<text text-anchor="start" x="11" y="-139.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~LogCommandParser()</text>
<text text-anchor="start" x="11" y="-128.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ OnCommand()</text>
<text text-anchor="start" x="11" y="-117.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetName()</text>
<text text-anchor="start" x="11" y="-106.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SendHelp()</text>
<text text-anchor="start" x="11" y="-95.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ AddChannel()</text>
<text text-anchor="start" x="11" y="-84.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ WriteLog()</text>
<text text-anchor="start" x="11" y="-73.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ OnNewIncomingConnection()</text>
<text text-anchor="start" x="11" y="-62.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ OnConnectionLost()</text>
<text text-anchor="start" x="11" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ OnTransportChange()</text>
<text text-anchor="start" x="11" y="-40.5" font-family="Helvetica,sans-Serif" font-size="10.00"># PrintChannels()</text>
<text text-anchor="start" x="11" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00"># Unsubscribe()</text>
<text text-anchor="start" x="11" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00"># Subscribe()</text>
<text text-anchor="start" x="11" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00"># GetChannelIndexFromName()</text>
</g>
<!-- Node2 -->
<g id="node2" class="node"><title>Node2</title>
<g id="a_node2"><a xlink:href="../../d5/d9a/class_s_l_net_1_1_command_parser_interface.xhtml" target="_top" xlink:title="The interface used by command parsers.">
<polygon fill="none" stroke="black" points="0,-259.5 0,-459.5 159,-459.5 159,-259.5 0,-259.5"/>
<text text-anchor="middle" x="79.5" y="-447.5" font-family="Helvetica,sans-Serif" font-size="10.00">SLNet::CommandParserInterface</text>
<polyline fill="none" stroke="black" points="0,-440.5 159,-440.5 "/>
<text text-anchor="start" x="8" y="-428.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VARIABLE_NUMBER_OF</text>
<text text-anchor="start" x="8" y="-417.5" font-family="Helvetica,sans-Serif" font-size="10.00">_PARAMETERS</text>
<text text-anchor="start" x="8" y="-406.5" font-family="Helvetica,sans-Serif" font-size="10.00"># commandList</text>
<polyline fill="none" stroke="black" points="0,-399.5 159,-399.5 "/>
<text text-anchor="start" x="8" y="-387.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ CommandParserInterface()</text>
<text text-anchor="start" x="8" y="-376.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~CommandParserInterface()</text>
<text text-anchor="start" x="8" y="-365.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetName()</text>
<text text-anchor="start" x="8" y="-354.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ OnNewIncomingConnection()</text>
<text text-anchor="start" x="8" y="-343.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ OnConnectionLost()</text>
<text text-anchor="start" x="8" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SendHelp()</text>
<text text-anchor="start" x="8" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ OnCommand()</text>
<text text-anchor="start" x="8" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ OnTransportChange()</text>
<text text-anchor="start" x="8" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetRegisteredCommand()</text>
<text text-anchor="start" x="8" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SendCommandList()</text>
<text text-anchor="start" x="8" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">and 6 more...</text>
<text text-anchor="start" x="8" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ParseConsoleString()</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="M79.5,-248.962C79.5,-240.237 79.5,-231.421 79.5,-222.692"/>
<polygon fill="none" stroke="midnightblue" points="76.0001,-249.151 79.5,-259.151 83.0001,-249.152 76.0001,-249.151"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 5.7 KiB

View File

@ -0,0 +1,140 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>SLikeNet: Source/include/slikenet/RefCountedObj.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('dd/d28/_ref_counted_obj_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> </div>
<div class="headertitle">
<div class="title">RefCountedObj.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><b>Reference</b> counted object. Very simple class for quick and dirty uses.
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="../../dd/dc5/memoryoverride_8h_source.xhtml">memoryoverride.h</a>&quot;</code><br/>
</div>
<p><a href="../../dd/d28/_ref_counted_obj_8h_source.xhtml">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d75/class_ref_counted_obj.xhtml">RefCountedObj</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">World's simplest class :) <a href="../../d9/d75/class_ref_counted_obj.xhtml#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p><b>Reference</b> counted object. Very simple class for quick and dirty uses. </p>
<p>Definition in file <a class="el" href="../../dd/d28/_ref_counted_obj_8h_source.xhtml">RefCountedObj.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="../../dd/d28/_ref_counted_obj_8h.xhtml">RefCountedObj.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,155 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>SLikeNet: Source/include/slikenet/RefCountedObj.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('dd/d28/_ref_counted_obj_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">RefCountedObj.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="../../dd/d28/_ref_counted_obj_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="l00019"></a><span class="lineno"> 19</span>&#160;</div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;</div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;</div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="preprocessor">#ifndef __REF_COUNTED_OBJ_H</span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define __REF_COUNTED_OBJ_H</span></div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../dd/dc5/memoryoverride_8h.xhtml" title="If _USE_RAK_MEMORY_OVERRIDE is defined, memory allocations go through rakMalloc, rakRealloc, and rakFree.">memoryoverride.h</a>&quot;</span></div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;</div>
<div class="line"><a name="l00028"></a><span class="lineno"><a class="code" href="../../d9/d75/class_ref_counted_obj.xhtml"> 28</a></span>&#160;<span class="keyword">class </span><a class="code" href="../../d9/d75/class_ref_counted_obj.xhtml" title="World&#39;s simplest class :)">RefCountedObj</a></div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;{</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l00031"></a><span class="lineno"><a class="code" href="../../d9/d75/class_ref_counted_obj.xhtml#a1d6f812e6ee77f5eaf6b80ade2292316"> 31</a></span>&#160; <a class="code" href="../../d9/d75/class_ref_counted_obj.xhtml#a1d6f812e6ee77f5eaf6b80ade2292316">RefCountedObj</a>() {<a class="code" href="../../d9/d75/class_ref_counted_obj.xhtml#a8c7fd196db5c209de8fa1fb3ef6e2d05">refCount</a>=1;}</div>
<div class="line"><a name="l00032"></a><span class="lineno"><a class="code" href="../../d9/d75/class_ref_counted_obj.xhtml#a0a328ccfd1e3cd84de317f8504e3692f"> 32</a></span>&#160; <span class="keyword">virtual</span> <a class="code" href="../../d9/d75/class_ref_counted_obj.xhtml#a0a328ccfd1e3cd84de317f8504e3692f">~RefCountedObj</a>() {}</div>
<div class="line"><a name="l00033"></a><span class="lineno"><a class="code" href="../../d9/d75/class_ref_counted_obj.xhtml#a9241e7b1789d9527adede6b3c6b40bb9"> 33</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="../../d9/d75/class_ref_counted_obj.xhtml#a9241e7b1789d9527adede6b3c6b40bb9">AddRef</a>(<span class="keywordtype">void</span>) {<a class="code" href="../../d9/d75/class_ref_counted_obj.xhtml#a8c7fd196db5c209de8fa1fb3ef6e2d05">refCount</a>++;}</div>
<div class="line"><a name="l00034"></a><span class="lineno"><a class="code" href="../../d9/d75/class_ref_counted_obj.xhtml#ab1a8548d173d7a37c0ef5770014a1f60"> 34</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="../../d9/d75/class_ref_counted_obj.xhtml#ab1a8548d173d7a37c0ef5770014a1f60">Deref</a>(<span class="keywordtype">void</span>) {<span class="keywordflow">if</span> (--<a class="code" href="../../d9/d75/class_ref_counted_obj.xhtml#a8c7fd196db5c209de8fa1fb3ef6e2d05">refCount</a>==0) <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a79772d09451f784e87bec85694fad1ed">SLNet::OP_DELETE</a>(<span class="keyword">this</span>, <a class="code" href="../../d8/db0/defines_8h.xhtml#a8661ec2137eef33a8cd0cd618a748871">_FILE_AND_LINE_</a>);}</div>
<div class="line"><a name="l00035"></a><span class="lineno"><a class="code" href="../../d9/d75/class_ref_counted_obj.xhtml#a8c7fd196db5c209de8fa1fb3ef6e2d05"> 35</a></span>&#160; <span class="keywordtype">int</span> <a class="code" href="../../d9/d75/class_ref_counted_obj.xhtml#a8c7fd196db5c209de8fa1fb3ef6e2d05">refCount</a>;</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;};</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;<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="../../dd/d28/_ref_counted_obj_8h.xhtml">RefCountedObj.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 struct_data_structures_1_1_range_node =
[
[ "RangeNode", "dd/d2b/struct_data_structures_1_1_range_node.xhtml#ac4358d5cd652e0c352ac865efa17c7ef", null ],
[ "~RangeNode", "dd/d2b/struct_data_structures_1_1_range_node.xhtml#a4cb0fad04a1626633cf678b581b286b6", null ],
[ "RangeNode", "dd/d2b/struct_data_structures_1_1_range_node.xhtml#a6adc5bdb28b073a00cccdff7f36da3b0", null ],
[ "maxIndex", "dd/d2b/struct_data_structures_1_1_range_node.xhtml#a087fd2d24add7891e90ab545d38e8040", null ],
[ "minIndex", "dd/d2b/struct_data_structures_1_1_range_node.xhtml#a836ce2252f7eb8fba94ffd98cf26f8f3", null ]
];

View File

@ -0,0 +1,293 @@
<!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::RangeNode&lt; range_type &gt; Struct 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('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="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="../../d4/dd7/struct_data_structures_1_1_range_node-members.xhtml">List of all members</a> </div>
<div class="headertitle">
<div class="title">DataStructures::RangeNode&lt; range_type &gt; Struct 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::RangeNode&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/d2f/struct_data_structures_1_1_range_node__inherit__graph.svg" width="304" height="360"><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:ac4358d5cd652e0c352ac865efa17c7ef"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d2b/struct_data_structures_1_1_range_node.xhtml#ac4358d5cd652e0c352ac865efa17c7ef">RangeNode</a> ()</td></tr>
<tr class="separator:ac4358d5cd652e0c352ac865efa17c7ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4cb0fad04a1626633cf678b581b286b6"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d2b/struct_data_structures_1_1_range_node.xhtml#a4cb0fad04a1626633cf678b581b286b6">~RangeNode</a> ()</td></tr>
<tr class="separator:a4cb0fad04a1626633cf678b581b286b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6adc5bdb28b073a00cccdff7f36da3b0"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d2b/struct_data_structures_1_1_range_node.xhtml#a6adc5bdb28b073a00cccdff7f36da3b0">RangeNode</a> (range_type min, range_type max)</td></tr>
<tr class="separator:a6adc5bdb28b073a00cccdff7f36da3b0"><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:a836ce2252f7eb8fba94ffd98cf26f8f3"><td class="memItemLeft" align="right" valign="top">range_type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d2b/struct_data_structures_1_1_range_node.xhtml#a836ce2252f7eb8fba94ffd98cf26f8f3">minIndex</a></td></tr>
<tr class="separator:a836ce2252f7eb8fba94ffd98cf26f8f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a087fd2d24add7891e90ab545d38e8040"><td class="memItemLeft" align="right" valign="top">range_type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d2b/struct_data_structures_1_1_range_node.xhtml#a087fd2d24add7891e90ab545d38e8040">maxIndex</a></td></tr>
<tr class="separator:a087fd2d24add7891e90ab545d38e8040"><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/>
struct DataStructures::RangeNode&lt; range_type &gt;</h3>
<p>Definition at line <a class="el" href="../../d3/d41/_d_s___range_list_8h_source.xhtml#l00033">33</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="ac4358d5cd652e0c352ac865efa17c7ef"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class range_type&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../dd/d2b/struct_data_structures_1_1_range_node.xhtml">DataStructures::RangeNode</a>&lt; range_type &gt;::<a class="el" href="../../dd/d2b/struct_data_structures_1_1_range_node.xhtml">RangeNode</a> </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="../../d3/d41/_d_s___range_list_8h_source.xhtml#l00035">35</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="a4cb0fad04a1626633cf678b581b286b6"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class range_type&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../dd/d2b/struct_data_structures_1_1_range_node.xhtml">DataStructures::RangeNode</a>&lt; range_type &gt;::~<a class="el" href="../../dd/d2b/struct_data_structures_1_1_range_node.xhtml">RangeNode</a> </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="../../d3/d41/_d_s___range_list_8h_source.xhtml#l00036">36</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="a6adc5bdb28b073a00cccdff7f36da3b0"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class range_type&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../dd/d2b/struct_data_structures_1_1_range_node.xhtml">DataStructures::RangeNode</a>&lt; range_type &gt;::<a class="el" href="../../dd/d2b/struct_data_structures_1_1_range_node.xhtml">RangeNode</a> </td>
<td>(</td>
<td class="paramtype">range_type&#160;</td>
<td class="paramname"><em>min</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">range_type&#160;</td>
<td class="paramname"><em>max</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="../../d3/d41/_d_s___range_list_8h_source.xhtml#l00037">37</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="a087fd2d24add7891e90ab545d38e8040"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class range_type&gt; </div>
<table class="memname">
<tr>
<td class="memname">range_type <a class="el" href="../../dd/d2b/struct_data_structures_1_1_range_node.xhtml">DataStructures::RangeNode</a>&lt; range_type &gt;::maxIndex</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d3/d41/_d_s___range_list_8h_source.xhtml#l00039">39</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="../../d3/d41/_d_s___range_list_8h_source.xhtml#l00037">DataStructures::RangeNode&lt; DatagramSequenceNumberType &gt;::RangeNode()</a>, and <a class="el" href="../../d3/d41/_d_s___range_list_8h_source.xhtml#l00044">DataStructures::RangeNodeComp()</a>.</p>
</div>
</div>
<a class="anchor" id="a836ce2252f7eb8fba94ffd98cf26f8f3"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class range_type&gt; </div>
<table class="memname">
<tr>
<td class="memname">range_type <a class="el" href="../../dd/d2b/struct_data_structures_1_1_range_node.xhtml">DataStructures::RangeNode</a>&lt; range_type &gt;::minIndex</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d3/d41/_d_s___range_list_8h_source.xhtml#l00038">38</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="../../d3/d41/_d_s___range_list_8h_source.xhtml#l00037">DataStructures::RangeNode&lt; DatagramSequenceNumberType &gt;::RangeNode()</a>, and <a class="el" href="../../d3/d41/_d_s___range_list_8h_source.xhtml#l00044">DataStructures::RangeNodeComp()</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="../../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="../../dd/d2b/struct_data_structures_1_1_range_node.xhtml">RangeNode</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,85 @@
var namespace_s_l_net =
[
[ "AutopatcherRepositoryInterface", "d4/d11/class_s_l_net_1_1_autopatcher_repository_interface.xhtml", "d4/d11/class_s_l_net_1_1_autopatcher_repository_interface" ],
[ "BitStream", "df/d75/class_s_l_net_1_1_bit_stream.xhtml", "df/d75/class_s_l_net_1_1_bit_stream" ],
[ "CCRakNetSlidingWindow", "dd/d68/class_s_l_net_1_1_c_c_rak_net_sliding_window.xhtml", "dd/d68/class_s_l_net_1_1_c_c_rak_net_sliding_window" ],
[ "RakNetCommandParser", "db/d79/class_s_l_net_1_1_rak_net_command_parser.xhtml", "db/d79/class_s_l_net_1_1_rak_net_command_parser" ],
[ "RegisteredCommand", "dd/d30/namespace_s_l_net.xhtml#db/db7/struct_s_l_net_1_1_registered_command", "dd/d30/namespace_s_l_net_dup" ],
[ "CommandParserInterface", "d5/d9a/class_s_l_net_1_1_command_parser_interface.xhtml", "d5/d9a/class_s_l_net_1_1_command_parser_interface" ],
[ "ConnectionGraph2", "db/dcc/class_s_l_net_1_1_connection_graph2.xhtml", "db/dcc/class_s_l_net_1_1_connection_graph2" ],
[ "ConsoleServer", "dc/dbe/class_s_l_net_1_1_console_server.xhtml", "dc/dbe/class_s_l_net_1_1_console_server" ],
[ "DataCompressor", "da/d5f/class_s_l_net_1_1_data_compressor.xhtml", "da/d5f/class_s_l_net_1_1_data_compressor" ],
[ "DirectoryDeltaTransfer", "db/dbd/class_s_l_net_1_1_directory_delta_transfer.xhtml", "db/dbd/class_s_l_net_1_1_directory_delta_transfer" ],
[ "HuffmanEncodingTree", "d6/d52/class_s_l_net_1_1_huffman_encoding_tree.xhtml", "d6/d52/class_s_l_net_1_1_huffman_encoding_tree" ],
[ "HuffmanEncodingTreeFactory", "d1/dc2/class_s_l_net_1_1_huffman_encoding_tree_factory.xhtml", "d1/dc2/class_s_l_net_1_1_huffman_encoding_tree_factory" ],
[ "DynDNS", "d0/d5d/class_s_l_net_1_1_dyn_d_n_s.xhtml", "d0/d5d/class_s_l_net_1_1_dyn_d_n_s" ],
[ "EmailSender", "dc/dfd/class_s_l_net_1_1_email_sender.xhtml", "dc/dfd/class_s_l_net_1_1_email_sender" ],
[ "FileListNode", "dd/d30/namespace_s_l_net.xhtml#d6/dd8/struct_s_l_net_1_1_file_list_node", "dd/d30/namespace_s_l_net_dup" ],
[ "FileListProgress", "d5/d7b/class_s_l_net_1_1_file_list_progress.xhtml", "d5/d7b/class_s_l_net_1_1_file_list_progress" ],
[ "FLP_Printf", "d2/d30/class_s_l_net_1_1_f_l_p___printf.xhtml", "d2/d30/class_s_l_net_1_1_f_l_p___printf" ],
[ "FileList", "d7/d87/class_s_l_net_1_1_file_list.xhtml", "d7/d87/class_s_l_net_1_1_file_list" ],
[ "FileListTransferCBInterface", "d9/d93/class_s_l_net_1_1_file_list_transfer_c_b_interface.xhtml", "d9/d93/class_s_l_net_1_1_file_list_transfer_c_b_interface" ],
[ "HTTPConnection", "de/da4/class_s_l_net_1_1_h_t_t_p_connection.xhtml", "de/da4/class_s_l_net_1_1_h_t_t_p_connection" ],
[ "HTTPConnection2", "dd/da8/class_s_l_net_1_1_h_t_t_p_connection2.xhtml", "dd/da8/class_s_l_net_1_1_h_t_t_p_connection2" ],
[ "IncrementalReadInterface", "df/d02/class_s_l_net_1_1_incremental_read_interface.xhtml", "df/d02/class_s_l_net_1_1_incremental_read_interface" ],
[ "InternalPacketFixedSizeTransmissionHeader", "d4/d46/struct_s_l_net_1_1_internal_packet_fixed_size_transmission_header.xhtml", "d4/d46/struct_s_l_net_1_1_internal_packet_fixed_size_transmission_header" ],
[ "InternalPacketRefCountedData", "dd/d30/namespace_s_l_net.xhtml#d4/d28/struct_s_l_net_1_1_internal_packet_ref_counted_data", "dd/d30/namespace_s_l_net_dup" ],
[ "InternalPacket", "d9/d9a/struct_s_l_net_1_1_internal_packet.xhtml", "d9/d9a/struct_s_l_net_1_1_internal_packet" ],
[ "LocklessUint32_t", "d2/d84/class_s_l_net_1_1_lockless_uint32__t.xhtml", "d2/d84/class_s_l_net_1_1_lockless_uint32__t" ],
[ "LogCommandParser", "d5/da2/class_s_l_net_1_1_log_command_parser.xhtml", "d5/da2/class_s_l_net_1_1_log_command_parser" ],
[ "FilterSet", "d3/db6/struct_s_l_net_1_1_filter_set.xhtml", "d3/db6/struct_s_l_net_1_1_filter_set" ],
[ "FilteredSystem", "dd/d30/namespace_s_l_net.xhtml#d6/db9/struct_s_l_net_1_1_filtered_system", "dd/d30/namespace_s_l_net_dup" ],
[ "NetworkIDManager", "d9/dbd/class_s_l_net_1_1_network_i_d_manager.xhtml", "d9/dbd/class_s_l_net_1_1_network_i_d_manager" ],
[ "NetworkIDObject", "db/d6d/class_s_l_net_1_1_network_i_d_object.xhtml", "db/d6d/class_s_l_net_1_1_network_i_d_object" ],
[ "PacketizedTCP", "d6/d05/class_s_l_net_1_1_packetized_t_c_p.xhtml", "d6/d05/class_s_l_net_1_1_packetized_t_c_p" ],
[ "RemoteSystemIndex", "dd/d30/namespace_s_l_net.xhtml#dc/dd2/struct_s_l_net_1_1_remote_system_index", "dd/d30/namespace_s_l_net_dup" ],
[ "RakPeer", "d5/dbf/class_s_l_net_1_1_rak_peer.xhtml", "d5/dbf/class_s_l_net_1_1_rak_peer" ],
[ "RakPeerInterface", "da/d27/class_s_l_net_1_1_rak_peer_interface.xhtml", "da/d27/class_s_l_net_1_1_rak_peer_interface" ],
[ "Rackspace2EventCallback", "d0/dcb/class_s_l_net_1_1_rackspace2_event_callback.xhtml", "d0/dcb/class_s_l_net_1_1_rackspace2_event_callback" ],
[ "RackspaceEventCallback_Default", "db/d6c/class_s_l_net_1_1_rackspace_event_callback___default.xhtml", "db/d6c/class_s_l_net_1_1_rackspace_event_callback___default" ],
[ "Rackspace", "d4/dc9/class_s_l_net_1_1_rackspace.xhtml", "d4/dc9/class_s_l_net_1_1_rackspace" ],
[ "RakNetRandom", "df/dd4/class_s_l_net_1_1_rak_net_random.xhtml", "df/dd4/class_s_l_net_1_1_rak_net_random" ],
[ "RakNetRandomSync", "df/dc6/class_s_l_net_1_1_rak_net_random_sync.xhtml", "df/dc6/class_s_l_net_1_1_rak_net_random_sync" ],
[ "SplitPacketChannel", "dd/d30/namespace_s_l_net.xhtml#d6/d4d/struct_s_l_net_1_1_split_packet_channel", "dd/d30/namespace_s_l_net_dup" ],
[ "BPSTracker", "d2/d87/struct_s_l_net_1_1_b_p_s_tracker.xhtml", "d2/d87/struct_s_l_net_1_1_b_p_s_tracker" ],
[ "ReliabilityLayer", "d2/d55/class_s_l_net_1_1_reliability_layer.xhtml", "d2/d55/class_s_l_net_1_1_reliability_layer" ],
[ "PRO", "d2/db7/struct_s_l_net_1_1_p_r_o.xhtml", "d2/db7/struct_s_l_net_1_1_p_r_o" ],
[ "Replica3Composite", "d4/d8f/class_s_l_net_1_1_replica3_composite.xhtml", "d4/d8f/class_s_l_net_1_1_replica3_composite" ],
[ "Router2DebugInterface", "dc/d20/struct_s_l_net_1_1_router2_debug_interface.xhtml", "dc/d20/struct_s_l_net_1_1_router2_debug_interface" ],
[ "RPC4GlobalRegistration", "d2/d79/class_s_l_net_1_1_r_p_c4_global_registration.xhtml", "d2/d79/class_s_l_net_1_1_r_p_c4_global_registration" ],
[ "SignaledEvent", "df/d28/class_s_l_net_1_1_signaled_event.xhtml", "df/d28/class_s_l_net_1_1_signaled_event" ],
[ "SimpleMutex", "d9/da8/class_s_l_net_1_1_simple_mutex.xhtml", "d9/da8/class_s_l_net_1_1_simple_mutex" ],
[ "ReferenceCounter", "de/d18/class_s_l_net_1_1_reference_counter.xhtml", "de/d18/class_s_l_net_1_1_reference_counter" ],
[ "RakNetSmartPtr", "d6/d84/class_s_l_net_1_1_rak_net_smart_ptr.xhtml", "d6/d84/class_s_l_net_1_1_rak_net_smart_ptr" ],
[ "RNS2_SendParameters", "df/dc3/struct_s_l_net_1_1_r_n_s2___send_parameters.xhtml", "df/dc3/struct_s_l_net_1_1_r_n_s2___send_parameters" ],
[ "RNS2RecvStruct", "dd/d30/namespace_s_l_net.xhtml#d2/ddc/struct_s_l_net_1_1_r_n_s2_recv_struct", "dd/d30/namespace_s_l_net_dup" ],
[ "RakNetSocket2Allocator", "dc/d18/class_s_l_net_1_1_rak_net_socket2_allocator.xhtml", "dc/d18/class_s_l_net_1_1_rak_net_socket2_allocator" ],
[ "RNS2EventHandler", "d5/da8/class_s_l_net_1_1_r_n_s2_event_handler.xhtml", "d5/da8/class_s_l_net_1_1_r_n_s2_event_handler" ],
[ "RakNetSocket2", "d1/dde/class_s_l_net_1_1_rak_net_socket2.xhtml", "d1/dde/class_s_l_net_1_1_rak_net_socket2" ],
[ "RNS2_BerkleyBindParameters", "dd/d30/namespace_s_l_net.xhtml#d8/ddf/struct_s_l_net_1_1_r_n_s2___berkley_bind_parameters", "dd/d30/namespace_s_l_net_dup" ],
[ "IRNS2_Berkley", "d7/d64/class_s_l_net_1_1_i_r_n_s2___berkley.xhtml", "d7/d64/class_s_l_net_1_1_i_r_n_s2___berkley" ],
[ "RNS2_Berkley", "d1/d4f/class_s_l_net_1_1_r_n_s2___berkley.xhtml", "d1/d4f/class_s_l_net_1_1_r_n_s2___berkley" ],
[ "RNS2_Linux", "d1/da2/class_s_l_net_1_1_r_n_s2___linux.xhtml", "d1/da2/class_s_l_net_1_1_r_n_s2___linux" ],
[ "SocketLayer", "d0/d86/class_s_l_net_1_1_socket_layer.xhtml", "d0/d86/class_s_l_net_1_1_socket_layer" ],
[ "RakNetStatistics", "df/df9/struct_s_l_net_1_1_rak_net_statistics.xhtml", "df/df9/struct_s_l_net_1_1_rak_net_statistics" ],
[ "StatisticsHistory", "d4/d5b/class_s_l_net_1_1_statistics_history.xhtml", "d4/d5b/class_s_l_net_1_1_statistics_history" ],
[ "RakString", "d2/d66/class_s_l_net_1_1_rak_string.xhtml", "d2/d66/class_s_l_net_1_1_rak_string" ],
[ "StringCompressor", "de/d3d/class_s_l_net_1_1_string_compressor.xhtml", "de/d3d/class_s_l_net_1_1_string_compressor" ],
[ "StringTable", "d9/d49/class_s_l_net_1_1_string_table.xhtml", "d9/d49/class_s_l_net_1_1_string_table" ],
[ "TableSerializer", "df/d89/class_s_l_net_1_1_table_serializer.xhtml", "df/d89/class_s_l_net_1_1_table_serializer" ],
[ "TCPInterface", "df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml", "df/dd8/class_s_l_net_1_1_t_c_p_interface" ],
[ "RemoteClient", "dc/d15/struct_s_l_net_1_1_remote_client.xhtml", "dc/d15/struct_s_l_net_1_1_remote_client" ],
[ "TelnetTransport", "d3/d41/class_s_l_net_1_1_telnet_transport.xhtml", "d3/d41/class_s_l_net_1_1_telnet_transport" ],
[ "RakThread", "df/db9/class_s_l_net_1_1_rak_thread.xhtml", "df/db9/class_s_l_net_1_1_rak_thread" ],
[ "TransportInterface", "d0/d4e/class_s_l_net_1_1_transport_interface.xhtml", "d0/d4e/class_s_l_net_1_1_transport_interface" ],
[ "PublicKey", "dd/d30/namespace_s_l_net.xhtml#d0/dc8/struct_s_l_net_1_1_public_key", "dd/d30/namespace_s_l_net_dup" ],
[ "SocketDescriptor", "dc/d06/struct_s_l_net_1_1_socket_descriptor.xhtml", "dc/d06/struct_s_l_net_1_1_socket_descriptor" ],
[ "SystemAddress", "d8/dbe/struct_s_l_net_1_1_system_address.xhtml", "d8/dbe/struct_s_l_net_1_1_system_address" ],
[ "RakNetGUID", "dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml", "dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d" ],
[ "AddressOrGUID", "d3/da8/struct_s_l_net_1_1_address_or_g_u_i_d.xhtml", "d3/da8/struct_s_l_net_1_1_address_or_g_u_i_d" ],
[ "Packet", "dd/d30/namespace_s_l_net.xhtml#d8/d23/struct_s_l_net_1_1_packet", "dd/d30/namespace_s_l_net_dup" ],
[ "uint24_t", "d9/d6a/struct_s_l_net_1_1uint24__t.xhtml", "d9/d6a/struct_s_l_net_1_1uint24__t" ],
[ "VariableDeltaSerializer", "de/dc3/class_s_l_net_1_1_variable_delta_serializer.xhtml", "de/dc3/class_s_l_net_1_1_variable_delta_serializer" ],
[ "VariableListDeltaTracker", "d9/d15/class_s_l_net_1_1_variable_list_delta_tracker.xhtml", "d9/d15/class_s_l_net_1_1_variable_list_delta_tracker" ],
[ "RakWString", "d8/d91/class_s_l_net_1_1_rak_w_string.xhtml", "d8/d91/class_s_l_net_1_1_rak_w_string" ]
];

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,10 @@
var namespace_s_l_net_dup =
[
[ "bitSize", "dd/d30/namespace_s_l_net.xhtml#a77b617c6ae559765f8ad26d1f460f082", null ],
[ "data", "dd/d30/namespace_s_l_net.xhtml#aff6d115daef2787d582f9a20efd64fc0", null ],
[ "deleteData", "dd/d30/namespace_s_l_net.xhtml#af25d74f363b4fead30fbafc9ca21354a", null ],
[ "guid", "dd/d30/namespace_s_l_net.xhtml#a4f42e82893aff6aade8a45c79d1b8fd3", null ],
[ "length", "dd/d30/namespace_s_l_net.xhtml#a75dfd0a23cc4c14dd338caedabe19341", null ],
[ "systemAddress", "dd/d30/namespace_s_l_net.xhtml#a5c9d18515892239712a5d8fcb46c4245", null ],
[ "wasGeneratedLocally", "dd/d30/namespace_s_l_net.xhtml#a4a736945115119681c77e168346988c4", null ]
];

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/PacketOutputWindowLogger.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('dd/d3c/_packet_output_window_logger_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">PacketOutputWindowLogger.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="../../dd/d3c/_packet_output_window_logger_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="../../dd/d3c/_packet_output_window_logger_8cpp.xhtml">PacketOutputWindowLogger.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,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/src/PacketOutputWindowLogger.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('dd/d3c/_packet_output_window_logger_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">PacketOutputWindowLogger.cpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="../../dd/d3c/_packet_output_window_logger_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="../../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_PacketLogger==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">#if defined(UNICODE)</span></div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#include &quot;<a class="code" href="../../d5/dc1/wstring_8h.xhtml">slikenet/wstring.h</a>&quot;</span></div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="preprocessor">#endif</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="../../dc/d22/_packet_output_window_logger_8h.xhtml" title="This will write all incoming and outgoing network messages to a file.">slikenet/PacketOutputWindowLogger.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/d66/string_8h.xhtml">slikenet/string.h</a>&quot;</span></div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="preprocessor">#if defined(_WIN32)</span></div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#include &quot;<a class="code" href="../../db/d43/_windows_includes_8h.xhtml">slikenet/WindowsIncludes.h</a>&quot;</span></div>
<div class="line"><a name="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="keyword">using namespace </span>SLNet;</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<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#a6abc8a6a8d319de1a06b84022df484f9">PacketOutputWindowLogger::PacketOutputWindowLogger</a>()</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;{</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;}</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<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#a696a273e8469cf85261fbd5cdb413f8a">PacketOutputWindowLogger::~PacketOutputWindowLogger</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;}</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="keywordtype">void</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#a47bf96ab0b42259afc1c1eb741dfe444" title="Override this to log strings to wherever. Log should be threadsafe.">PacketOutputWindowLogger::WriteLog</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *str)</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">#if defined(_WIN32)</span></div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;<span class="preprocessor"> #if defined(UNICODE)</span></div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;<span class="preprocessor"></span> <a class="code" href="../../d8/d91/class_s_l_net_1_1_rak_w_string.xhtml" title="String class for Unicode.">SLNet::RakWString</a> str2 = str;</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; str2+=<span class="stringliteral">&quot;\n&quot;</span>;</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; OutputDebugString(str2.<a class="code" href="../../d8/d91/class_s_l_net_1_1_rak_w_string.xhtml#acacfb3945c4f1ddb38b441f5f458a3db" title="Same as std::string::c_str.">C_String</a>());</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;<span class="preprocessor"> #else</span></div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;<span class="preprocessor"></span> <a class="code" href="../../d2/d66/class_s_l_net_1_1_rak_string.xhtml" title="String class.">SLNet::RakString</a> str2 = str;</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; str2+=<span class="stringliteral">&quot;\n&quot;</span>;</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; OutputDebugString(str2.C_String());</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;<span class="preprocessor"> #endif</span></div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;<span class="preprocessor"></span><span class="comment">// DS_APR</span></div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;<span class="preprocessor">#elif defined(__native_client__)</span></div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;<span class="preprocessor"></span> fprintf(stderr, <span class="stringliteral">&quot;%s\n&quot;</span>, str);</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;<span class="comment">// /DS_APR</span></div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;<span class="preprocessor"></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="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="../../dd/d3c/_packet_output_window_logger_8cpp.xhtml">PacketOutputWindowLogger.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,18 @@
var struct_s_l_net_1_1_rak_net_g_u_i_d =
[
[ "RakNetGUID", "dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml#adb747346200d7e4248b4ade6f4a5df7a", null ],
[ "RakNetGUID", "dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml#a52523d2fb1100c77f359899444b4a3b0", null ],
[ "FromString", "dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml#a7baa2a578f53f69cb6d4775d68511217", null ],
[ "operator!=", "dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml#a56426e0065a2ac3f0f2f26aa228279c5", null ],
[ "operator<", "dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml#a5eaea76f4fa509471f648ad6e24609f2", null ],
[ "operator=", "dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml#a79d00285aeea95d7d80ef4476ad194c2", null ],
[ "operator==", "dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml#a6ffd87fdc84ae4f43842eed310383f68", null ],
[ "operator>", "dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml#a547920662d1988c788b33e0bec0808da", null ],
[ "size", "dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml#a351179e56b40938ff5b81961e8603da5", null ],
[ "ToString", "dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml#a3338612fd4cc4d26497d7fa27ee19d87", null ],
[ "ToString", "dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml#aa77f22bcdd49698ea6f5d864f30f9283", null ],
[ "ToString", "dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml#ac81ebf55a3d80f2eeab0b740d947c127", null ],
[ "ToUint32", "dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml#aa1e55a3223d0e8fe0cbd17051514b579", null ],
[ "g", "dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml#a4e529b54617b8fdfd21da8aca09f88e2", null ],
[ "systemIndex", "dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml#a9d09e90ad5c76fec6bdb98ede4a05cd5", null ]
];

View File

@ -0,0 +1,514 @@
<!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::RakNetGUID 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('dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="../../d7/d89/struct_s_l_net_1_1_rak_net_g_u_i_d-members.xhtml">List of all members</a> </div>
<div class="headertitle">
<div class="title">SLNet::RakNetGUID Struct Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><code>#include &lt;<a class="el" href="../../d9/d49/types_8h_source.xhtml">slikenet/types.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:adb747346200d7e4248b4ade6f4a5df7a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml#adb747346200d7e4248b4ade6f4a5df7a">RakNetGUID</a> ()</td></tr>
<tr class="separator:adb747346200d7e4248b4ade6f4a5df7a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a52523d2fb1100c77f359899444b4a3b0"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml#a52523d2fb1100c77f359899444b4a3b0">RakNetGUID</a> (<a class="el" href="../../df/df2/_native_types_8h.xhtml#ad27ed092432b64ff558d2254c278720f">uint64_t</a> _g)</td></tr>
<tr class="separator:a52523d2fb1100c77f359899444b4a3b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3338612fd4cc4d26497d7fa27ee19d87"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml#a3338612fd4cc4d26497d7fa27ee19d87">ToString</a> (void) const </td></tr>
<tr class="separator:a3338612fd4cc4d26497d7fa27ee19d87"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa77f22bcdd49698ea6f5d864f30f9283"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml#aa77f22bcdd49698ea6f5d864f30f9283">ToString</a> (char *dest) const </td></tr>
<tr class="separator:aa77f22bcdd49698ea6f5d864f30f9283"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac81ebf55a3d80f2eeab0b740d947c127"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml#ac81ebf55a3d80f2eeab0b740d947c127">ToString</a> (char *dest, size_t destSize) const </td></tr>
<tr class="separator:ac81ebf55a3d80f2eeab0b740d947c127"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7baa2a578f53f69cb6d4775d68511217"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml#a7baa2a578f53f69cb6d4775d68511217">FromString</a> (const char *source)</td></tr>
<tr class="separator:a7baa2a578f53f69cb6d4775d68511217"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a79d00285aeea95d7d80ef4476ad194c2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml">RakNetGUID</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml#a79d00285aeea95d7d80ef4476ad194c2">operator=</a> (const <a class="el" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml">RakNetGUID</a> &amp;input)</td></tr>
<tr class="separator:a79d00285aeea95d7d80ef4476ad194c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6ffd87fdc84ae4f43842eed310383f68"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml#a6ffd87fdc84ae4f43842eed310383f68">operator==</a> (const <a class="el" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml">RakNetGUID</a> &amp;right) const </td></tr>
<tr class="separator:a6ffd87fdc84ae4f43842eed310383f68"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a56426e0065a2ac3f0f2f26aa228279c5"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml#a56426e0065a2ac3f0f2f26aa228279c5">operator!=</a> (const <a class="el" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml">RakNetGUID</a> &amp;right) const </td></tr>
<tr class="separator:a56426e0065a2ac3f0f2f26aa228279c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a547920662d1988c788b33e0bec0808da"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml#a547920662d1988c788b33e0bec0808da">operator&gt;</a> (const <a class="el" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml">RakNetGUID</a> &amp;right) const </td></tr>
<tr class="separator:a547920662d1988c788b33e0bec0808da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5eaea76f4fa509471f648ad6e24609f2"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml#a5eaea76f4fa509471f648ad6e24609f2">operator&lt;</a> (const <a class="el" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml">RakNetGUID</a> &amp;right) const </td></tr>
<tr class="separator:a5eaea76f4fa509471f648ad6e24609f2"><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:aa1e55a3223d0e8fe0cbd17051514b579"><td class="memItemLeft" align="right" valign="top">static unsigned long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml#aa1e55a3223d0e8fe0cbd17051514b579">ToUint32</a> (const <a class="el" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml">RakNetGUID</a> &amp;<a class="el" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml#a4e529b54617b8fdfd21da8aca09f88e2">g</a>)</td></tr>
<tr class="separator:aa1e55a3223d0e8fe0cbd17051514b579"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a351179e56b40938ff5b81961e8603da5"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml#a351179e56b40938ff5b81961e8603da5">size</a> ()</td></tr>
<tr class="separator:a351179e56b40938ff5b81961e8603da5"><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:a4e529b54617b8fdfd21da8aca09f88e2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../df/df2/_native_types_8h.xhtml#ad27ed092432b64ff558d2254c278720f">uint64_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml#a4e529b54617b8fdfd21da8aca09f88e2">g</a></td></tr>
<tr class="separator:a4e529b54617b8fdfd21da8aca09f88e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9d09e90ad5c76fec6bdb98ede4a05cd5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#aaebbed028894590d770e7fcf8518c441">SystemIndex</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml#a9d09e90ad5c76fec6bdb98ede4a05cd5">systemIndex</a></td></tr>
<tr class="separator:a9d09e90ad5c76fec6bdb98ede4a05cd5"><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>Uniquely identifies an instance of <a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml" title="Main interface for network communications.">RakPeer</a>. Use <a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a223d75e8471d565ea4be7f6b44da6e8d" title="Given a connected system address, this method gives the unique GUID representing that instance of Rak...">RakPeer::GetGuidFromSystemAddress()</a> and <a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a7b99f10bb48b76fcef310226c277870a" title="Gives the system address of a connected system, given its GUID. The GUID will be the same on all syst...">RakPeer::GetSystemAddressFromGuid()</a> to go between <a class="el" href="../../d8/dbe/struct_s_l_net_1_1_system_address.xhtml" title="Network address for a system.">SystemAddress</a> and <a class="el" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml">RakNetGUID</a> Use RakPeer::GetGuidFromSystemAddress(UNASSIGNED_SYSTEM_ADDRESS) to get your own GUID </p>
<p>Definition at line <a class="el" href="../../d9/d49/types_8h_source.xhtml#l00323">323</a> of file <a class="el" href="../../d9/d49/types_8h_source.xhtml">types.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="adb747346200d7e4248b4ade6f4a5df7a"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">RakNetGUID::RakNetGUID </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/d93/_rak_net_types_8cpp_source.xhtml#l00744">744</a> of file <a class="el" href="../../d3/d93/_rak_net_types_8cpp_source.xhtml">RakNetTypes.cpp</a>.</p>
<p>References <a class="el" href="../../d9/d49/types_8h_source.xhtml#l00353">systemIndex</a>, and <a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#a242c86300509ec068e5e2ea534bbba51">SLNet::UNASSIGNED_RAKNET_GUID()</a>.</p>
</div>
</div>
<a class="anchor" id="a52523d2fb1100c77f359899444b4a3b0"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">SLNet::RakNetGUID::RakNetGUID </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>_g</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">explicit</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d9/d49/types_8h_source.xhtml#l00326">326</a> of file <a class="el" href="../../d9/d49/types_8h_source.xhtml">types.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a7baa2a578f53f69cb6d4775d68511217"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool RakNetGUID::FromString </td>
<td>(</td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>source</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d3/d93/_rak_net_types_8cpp_source.xhtml#l00799">799</a> of file <a class="el" href="../../d3/d93/_rak_net_types_8cpp_source.xhtml">RakNetTypes.cpp</a>.</p>
<p>References <a class="el" href="../../d9/d49/types_8h_source.xhtml#l00328">g</a>.</p>
</div>
</div>
<a class="anchor" id="a56426e0065a2ac3f0f2f26aa228279c5"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool RakNetGUID::operator!= </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml">RakNetGUID</a> &amp;&#160;</td>
<td class="paramname"><em>right</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d3/d93/_rak_net_types_8cpp_source.xhtml#l00753">753</a> of file <a class="el" href="../../d3/d93/_rak_net_types_8cpp_source.xhtml">RakNetTypes.cpp</a>.</p>
<p>References <a class="el" href="../../d9/d49/types_8h_source.xhtml#l00328">g</a>.</p>
</div>
</div>
<a class="anchor" id="a5eaea76f4fa509471f648ad6e24609f2"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool RakNetGUID::operator&lt; </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml">RakNetGUID</a> &amp;&#160;</td>
<td class="paramname"><em>right</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d3/d93/_rak_net_types_8cpp_source.xhtml#l00761">761</a> of file <a class="el" href="../../d3/d93/_rak_net_types_8cpp_source.xhtml">RakNetTypes.cpp</a>.</p>
<p>References <a class="el" href="../../d9/d49/types_8h_source.xhtml#l00328">g</a>.</p>
</div>
</div>
<a class="anchor" id="a79d00285aeea95d7d80ef4476ad194c2"></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/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml">RakNetGUID</a>&amp; SLNet::RakNetGUID::operator= </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml">RakNetGUID</a> &amp;&#160;</td>
<td class="paramname"><em>input</em></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="../../d9/d49/types_8h_source.xhtml#l00345">345</a> of file <a class="el" href="../../d9/d49/types_8h_source.xhtml">types.h</a>.</p>
<p>References <a class="el" href="../../d9/d49/types_8h_source.xhtml#l00328">g</a>, and <a class="el" href="../../d9/d49/types_8h_source.xhtml#l00353">systemIndex</a>.</p>
</div>
</div>
<a class="anchor" id="a6ffd87fdc84ae4f43842eed310383f68"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool RakNetGUID::operator== </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml">RakNetGUID</a> &amp;&#160;</td>
<td class="paramname"><em>right</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d3/d93/_rak_net_types_8cpp_source.xhtml#l00749">749</a> of file <a class="el" href="../../d3/d93/_rak_net_types_8cpp_source.xhtml">RakNetTypes.cpp</a>.</p>
<p>References <a class="el" href="../../d9/d49/types_8h_source.xhtml#l00328">g</a>.</p>
</div>
</div>
<a class="anchor" id="a547920662d1988c788b33e0bec0808da"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool RakNetGUID::operator&gt; </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml">RakNetGUID</a> &amp;&#160;</td>
<td class="paramname"><em>right</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d3/d93/_rak_net_types_8cpp_source.xhtml#l00757">757</a> of file <a class="el" href="../../d3/d93/_rak_net_types_8cpp_source.xhtml">RakNetTypes.cpp</a>.</p>
<p>References <a class="el" href="../../d9/d49/types_8h_source.xhtml#l00328">g</a>.</p>
</div>
</div>
<a class="anchor" id="a351179e56b40938ff5b81961e8603da5"></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::RakNetGUID::size </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">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d9/d49/types_8h_source.xhtml#l00354">354</a> of file <a class="el" href="../../d9/d49/types_8h_source.xhtml">types.h</a>.</p>
<p>Referenced by <a class="el" href="../../d5/d55/_rak_peer_8cpp_source.xhtml#l04524">SLNet::ProcessOfflineNetworkPacket()</a>, <a class="el" href="../../d5/d55/_rak_peer_8cpp_source.xhtml#l05540">SLNet::RakPeer::RunUpdateCycle()</a>, and <a class="el" href="../../d5/d55/_rak_peer_8cpp_source.xhtml#l02981">SLNet::RakPeer::SendOutOfBand()</a>.</p>
</div>
</div>
<a class="anchor" id="a3338612fd4cc4d26497d7fa27ee19d87"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const char * RakNetGUID::ToString </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/d93/_rak_net_types_8cpp_source.xhtml#l00765">765</a> of file <a class="el" href="../../d3/d93/_rak_net_types_8cpp_source.xhtml">RakNetTypes.cpp</a>.</p>
<p>Referenced by <a class="el" href="../../d3/d93/_rak_net_types_8cpp_source.xhtml#l00067">SLNet::AddressOrGUID::ToString()</a>.</p>
</div>
</div>
<a class="anchor" id="aa77f22bcdd49698ea6f5d864f30f9283"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void RakNetGUID::ToString </td>
<td>(</td>
<td class="paramtype">char *&#160;</td>
<td class="paramname"><em>dest</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d3/d93/_rak_net_types_8cpp_source.xhtml#l00775">775</a> of file <a class="el" href="../../d3/d93/_rak_net_types_8cpp_source.xhtml">RakNetTypes.cpp</a>.</p>
<p>References <a class="el" href="../../d9/d49/types_8h_source.xhtml#l00328">g</a>, <a class="el" href="../../d9/d49/types_8h_source.xhtml#l00108">PRINTF_64_BIT_MODIFIER</a>, and <a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#a242c86300509ec068e5e2ea534bbba51">SLNet::UNASSIGNED_RAKNET_GUID()</a>.</p>
</div>
</div>
<a class="anchor" id="ac81ebf55a3d80f2eeab0b740d947c127"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void RakNetGUID::ToString </td>
<td>(</td>
<td class="paramtype">char *&#160;</td>
<td class="paramname"><em>dest</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>destSize</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d3/d93/_rak_net_types_8cpp_source.xhtml#l00790">790</a> of file <a class="el" href="../../d3/d93/_rak_net_types_8cpp_source.xhtml">RakNetTypes.cpp</a>.</p>
<p>References <a class="el" href="../../d9/d49/types_8h_source.xhtml#l00328">g</a>, <a class="el" href="../../d9/d49/types_8h_source.xhtml#l00108">PRINTF_64_BIT_MODIFIER</a>, and <a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#a242c86300509ec068e5e2ea534bbba51">SLNet::UNASSIGNED_RAKNET_GUID()</a>.</p>
</div>
</div>
<a class="anchor" id="aa1e55a3223d0e8fe0cbd17051514b579"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">unsigned long RakNetGUID::ToUint32 </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml">RakNetGUID</a> &amp;&#160;</td>
<td class="paramname"><em>g</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d3/d93/_rak_net_types_8cpp_source.xhtml#l00817">817</a> of file <a class="el" href="../../d3/d93/_rak_net_types_8cpp_source.xhtml">RakNetTypes.cpp</a>.</p>
<p>References <a class="el" href="../../d9/d49/types_8h_source.xhtml#l00328">g</a>.</p>
<p>Referenced by <a class="el" href="../../d3/d93/_rak_net_types_8cpp_source.xhtml#l00061">SLNet::AddressOrGUID::ToInteger()</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a class="anchor" id="a4e529b54617b8fdfd21da8aca09f88e2"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../df/df2/_native_types_8h.xhtml#ad27ed092432b64ff558d2254c278720f">uint64_t</a> SLNet::RakNetGUID::g</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d9/d49/types_8h_source.xhtml#l00328">328</a> of file <a class="el" href="../../d9/d49/types_8h_source.xhtml">types.h</a>.</p>
<p>Referenced by <a class="el" href="../../d3/d93/_rak_net_types_8cpp_source.xhtml#l00799">FromString()</a>, <a class="el" href="../../d5/d55/_rak_peer_8cpp_source.xhtml#l04509">SLNet::RakPeer::GenerateGUID()</a>, <a class="el" href="../../d5/d55/_rak_peer_8cpp_source.xhtml#l05447">SLNet::RakPeer::GenerateSeedFromGuid()</a>, <a class="el" href="../../d3/d93/_rak_net_types_8cpp_source.xhtml#l00753">operator!=()</a>, <a class="el" href="../../d3/d93/_rak_net_types_8cpp_source.xhtml#l00761">operator&lt;()</a>, <a class="el" href="../../d9/d49/types_8h_source.xhtml#l00345">operator=()</a>, <a class="el" href="../../d3/d93/_rak_net_types_8cpp_source.xhtml#l00749">operator==()</a>, <a class="el" href="../../d3/d93/_rak_net_types_8cpp_source.xhtml#l00757">operator&gt;()</a>, <a class="el" href="../../d7/dc3/_bit_stream_8h_source.xhtml#l01384">SLNet::BitStream::Read()</a>, <a class="el" href="../../d5/d55/_rak_peer_8cpp_source.xhtml#l00372">SLNet::RakPeer::Startup()</a>, <a class="el" href="../../d3/d93/_rak_net_types_8cpp_source.xhtml#l00775">ToString()</a>, <a class="el" href="../../d3/d93/_rak_net_types_8cpp_source.xhtml#l00817">ToUint32()</a>, and <a class="el" href="../../d7/dc3/_bit_stream_8h_source.xhtml#l01027">SLNet::BitStream::Write()</a>.</p>
</div>
</div>
<a class="anchor" id="a9d09e90ad5c76fec6bdb98ede4a05cd5"></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#aaebbed028894590d770e7fcf8518c441">SystemIndex</a> SLNet::RakNetGUID::systemIndex</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d9/d49/types_8h_source.xhtml#l00353">353</a> of file <a class="el" href="../../d9/d49/types_8h_source.xhtml">types.h</a>.</p>
<p>Referenced by <a class="el" href="../../d5/d55/_rak_peer_8cpp_source.xhtml#l01647">SLNet::RakPeer::CloseConnection()</a>, <a class="el" href="../../d5/d55/_rak_peer_8cpp_source.xhtml#l02383">SLNet::RakPeer::GetGuidFromSystemAddress()</a>, <a class="el" href="../../d5/d55/_rak_peer_8cpp_source.xhtml#l03153">SLNet::RakPeer::GetIndexFromGuid()</a>, <a class="el" href="../../d5/d55/_rak_peer_8cpp_source.xhtml#l02436">SLNet::RakPeer::GetSystemAddressFromGuid()</a>, <a class="el" href="../../d5/d55/_rak_peer_8cpp_source.xhtml#l02408">SLNet::RakPeer::GetSystemIndexFromGuid()</a>, <a class="el" href="../../d9/d49/types_8h_source.xhtml#l00345">operator=()</a>, <a class="el" href="../../d5/d55/_rak_peer_8cpp_source.xhtml#l04524">SLNet::ProcessOfflineNetworkPacket()</a>, <a class="el" href="../../d3/d93/_rak_net_types_8cpp_source.xhtml#l00744">RakNetGUID()</a>, and <a class="el" href="../../d5/d55/_rak_peer_8cpp_source.xhtml#l05540">SLNet::RakPeer::RunUpdateCycle()</a>.</p>
</div>
</div>
<hr/>The documentation for this struct was generated from the following files:<ul>
<li>Source/include/slikenet/<a class="el" href="../../d9/d49/types_8h_source.xhtml">types.h</a></li>
<li>Source/src/<a class="el" href="../../d3/d93/_rak_net_types_8cpp_source.xhtml">RakNetTypes.cpp</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dd/d30/namespace_s_l_net.xhtml">SLNet</a></li><li class="navelem"><a class="el" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml">RakNetGUID</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,153 @@
<!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('d0/d5d/class_s_l_net_1_1_dyn_d_n_s.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::DynDNS Member List</div> </div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="../../d0/d5d/class_s_l_net_1_1_dyn_d_n_s.xhtml">SLNet::DynDNS</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="../../d0/d5d/class_s_l_net_1_1_dyn_d_n_s.xhtml#a6df8613cd8d1675e887a0bad9a890dcd">checkIpAddress</a></td><td class="entry"><a class="el" href="../../d0/d5d/class_s_l_net_1_1_dyn_d_n_s.xhtml">SLNet::DynDNS</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d0/d5d/class_s_l_net_1_1_dyn_d_n_s.xhtml#aefc6c47dded0ed1cd3b3b9dbac546065">ConnectPhase</a> enum name</td><td class="entry"><a class="el" href="../../d0/d5d/class_s_l_net_1_1_dyn_d_n_s.xhtml">SLNet::DynDNS</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d0/d5d/class_s_l_net_1_1_dyn_d_n_s.xhtml#ae169a80a823c612cea3c982e05bb1471">connectPhase</a></td><td class="entry"><a class="el" href="../../d0/d5d/class_s_l_net_1_1_dyn_d_n_s.xhtml">SLNet::DynDNS</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d0/d5d/class_s_l_net_1_1_dyn_d_n_s.xhtml#aefc6c47dded0ed1cd3b3b9dbac546065a82e493c4847c0ea6a95df9ba5ece3489">CP_CONNECTING_TO_CHECKIP</a> enum value</td><td class="entry"><a class="el" href="../../d0/d5d/class_s_l_net_1_1_dyn_d_n_s.xhtml">SLNet::DynDNS</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d0/d5d/class_s_l_net_1_1_dyn_d_n_s.xhtml#aefc6c47dded0ed1cd3b3b9dbac546065a193bfc51c3a0709cc58164be7009e08e">CP_CONNECTING_TO_DYNDNS</a> enum value</td><td class="entry"><a class="el" href="../../d0/d5d/class_s_l_net_1_1_dyn_d_n_s.xhtml">SLNet::DynDNS</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d0/d5d/class_s_l_net_1_1_dyn_d_n_s.xhtml#aefc6c47dded0ed1cd3b3b9dbac546065a41b3264540a376f948e028095680ea01">CP_IDLE</a> enum value</td><td class="entry"><a class="el" href="../../d0/d5d/class_s_l_net_1_1_dyn_d_n_s.xhtml">SLNet::DynDNS</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d0/d5d/class_s_l_net_1_1_dyn_d_n_s.xhtml#aefc6c47dded0ed1cd3b3b9dbac546065a438d320a00c330678c59085ea4c8de60">CP_WAITING_FOR_CHECKIP_RESPONSE</a> enum value</td><td class="entry"><a class="el" href="../../d0/d5d/class_s_l_net_1_1_dyn_d_n_s.xhtml">SLNet::DynDNS</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d0/d5d/class_s_l_net_1_1_dyn_d_n_s.xhtml#aefc6c47dded0ed1cd3b3b9dbac546065ab0db7462892ebbaf17d45cd346f4f97b">CP_WAITING_FOR_DYNDNS_RESPONSE</a> enum value</td><td class="entry"><a class="el" href="../../d0/d5d/class_s_l_net_1_1_dyn_d_n_s.xhtml">SLNet::DynDNS</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d0/d5d/class_s_l_net_1_1_dyn_d_n_s.xhtml#a2ccfb973ab1f6684fcbe3506a367f6fd">DynDNS</a>()</td><td class="entry"><a class="el" href="../../d0/d5d/class_s_l_net_1_1_dyn_d_n_s.xhtml">SLNet::DynDNS</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d0/d5d/class_s_l_net_1_1_dyn_d_n_s.xhtml#a51981bf3d775103cff43f490c293808b">GetCompletedDescription</a>(void) const </td><td class="entry"><a class="el" href="../../d0/d5d/class_s_l_net_1_1_dyn_d_n_s.xhtml">SLNet::DynDNS</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d0/d5d/class_s_l_net_1_1_dyn_d_n_s.xhtml#a89cce28b4f95df2b6cfced86864fbe6a">GetCompletedResultCode</a>(void)</td><td class="entry"><a class="el" href="../../d0/d5d/class_s_l_net_1_1_dyn_d_n_s.xhtml">SLNet::DynDNS</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d0/d5d/class_s_l_net_1_1_dyn_d_n_s.xhtml#af7ffc65b9b1473afee6ad22199954ed8">GetMyPublicIP</a>(void) const </td><td class="entry"><a class="el" href="../../d0/d5d/class_s_l_net_1_1_dyn_d_n_s.xhtml">SLNet::DynDNS</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d0/d5d/class_s_l_net_1_1_dyn_d_n_s.xhtml#af0447408e514da597a6c9e1089b483e8">getString</a></td><td class="entry"><a class="el" href="../../d0/d5d/class_s_l_net_1_1_dyn_d_n_s.xhtml">SLNet::DynDNS</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d0/d5d/class_s_l_net_1_1_dyn_d_n_s.xhtml#a5602f42f2a6cbb3823ec55bc70e16630">host</a></td><td class="entry"><a class="el" href="../../d0/d5d/class_s_l_net_1_1_dyn_d_n_s.xhtml">SLNet::DynDNS</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d0/d5d/class_s_l_net_1_1_dyn_d_n_s.xhtml#a334ef4c8e42b0eb1155ffcaa47be923d">IsCompleted</a>(void) const </td><td class="entry"><a class="el" href="../../d0/d5d/class_s_l_net_1_1_dyn_d_n_s.xhtml">SLNet::DynDNS</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d0/d5d/class_s_l_net_1_1_dyn_d_n_s.xhtml#ad8d84f1128b1ea6aa91f7b9a6d99bcc0">IsRunning</a>(void) const </td><td class="entry"><a class="el" href="../../d0/d5d/class_s_l_net_1_1_dyn_d_n_s.xhtml">SLNet::DynDNS</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d0/d5d/class_s_l_net_1_1_dyn_d_n_s.xhtml#ae17d36b7a12a2c81f102ae28fa4252d1">myIPStr</a></td><td class="entry"><a class="el" href="../../d0/d5d/class_s_l_net_1_1_dyn_d_n_s.xhtml">SLNet::DynDNS</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d0/d5d/class_s_l_net_1_1_dyn_d_n_s.xhtml#a3b1f4bbed0a21d1339de8f3689f7512b">phaseTimeout</a></td><td class="entry"><a class="el" href="../../d0/d5d/class_s_l_net_1_1_dyn_d_n_s.xhtml">SLNet::DynDNS</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d0/d5d/class_s_l_net_1_1_dyn_d_n_s.xhtml#ad7e1e44f975711c0b54672073b6673f3">result</a></td><td class="entry"><a class="el" href="../../d0/d5d/class_s_l_net_1_1_dyn_d_n_s.xhtml">SLNet::DynDNS</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d0/d5d/class_s_l_net_1_1_dyn_d_n_s.xhtml#a9067ca62c198c5c78eadfdf2c167f9ca">resultDescription</a></td><td class="entry"><a class="el" href="../../d0/d5d/class_s_l_net_1_1_dyn_d_n_s.xhtml">SLNet::DynDNS</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d0/d5d/class_s_l_net_1_1_dyn_d_n_s.xhtml#a7f3e4e578aa5c7c4c6cb78a777ef03f5">serverAddress</a></td><td class="entry"><a class="el" href="../../d0/d5d/class_s_l_net_1_1_dyn_d_n_s.xhtml">SLNet::DynDNS</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d0/d5d/class_s_l_net_1_1_dyn_d_n_s.xhtml#a19ce78032d3163f75c2d347f46757c30">SetCompleted</a>(SLNet::DynDnsResultCode _result, const char *_resultDescription)</td><td class="entry"><a class="el" href="../../d0/d5d/class_s_l_net_1_1_dyn_d_n_s.xhtml">SLNet::DynDNS</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d0/d5d/class_s_l_net_1_1_dyn_d_n_s.xhtml#a23a858882bf68ffe482890b9838f298b">Stop</a>(void)</td><td class="entry"><a class="el" href="../../d0/d5d/class_s_l_net_1_1_dyn_d_n_s.xhtml">SLNet::DynDNS</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d0/d5d/class_s_l_net_1_1_dyn_d_n_s.xhtml#a232769beb8b45440a50962522f2d9ad5">tcp</a></td><td class="entry"><a class="el" href="../../d0/d5d/class_s_l_net_1_1_dyn_d_n_s.xhtml">SLNet::DynDNS</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d0/d5d/class_s_l_net_1_1_dyn_d_n_s.xhtml#ae4a99b9d15ef328051053244770de93f">Update</a>(void)</td><td class="entry"><a class="el" href="../../d0/d5d/class_s_l_net_1_1_dyn_d_n_s.xhtml">SLNet::DynDNS</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d0/d5d/class_s_l_net_1_1_dyn_d_n_s.xhtml#a3b94608828271d0929c5ef526d31b323">UpdateHostIPAsynch</a>(const char *dnsHost, const char *newIPAddress, const char *usernameAndPassword)</td><td class="entry"><a class="el" href="../../d0/d5d/class_s_l_net_1_1_dyn_d_n_s.xhtml">SLNet::DynDNS</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d0/d5d/class_s_l_net_1_1_dyn_d_n_s.xhtml#ae8ef4291a93831e15330c0a863191bfc">WasResultSuccessful</a>(void) const </td><td class="entry"><a class="el" href="../../d0/d5d/class_s_l_net_1_1_dyn_d_n_s.xhtml">SLNet::DynDNS</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d0/d5d/class_s_l_net_1_1_dyn_d_n_s.xhtml#a18b7a96cfb8ca91435d9fe5086ee8b17">~DynDNS</a>()</td><td class="entry"><a class="el" href="../../d0/d5d/class_s_l_net_1_1_dyn_d_n_s.xhtml">SLNet::DynDNS</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated on Wed Aug 14 2019 22:09:49 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,123 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>SLikeNet: Source/src/PS4Includes.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('dd/d4f/_p_s4_includes_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">PS4Includes.cpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><a href="../../dd/d4f/_p_s4_includes_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="../../dd/d4f/_p_s4_includes_8cpp.xhtml">PS4Includes.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,180 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>SLikeNet: Source/src/PS4Includes.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('dd/d4f/_p_s4_includes_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">PS4Includes.cpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="../../dd/d4f/_p_s4_includes_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"> * This file was taken from RakNet 4.082 without any modifications.</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> * Please see licenses/RakNet license.txt for the underlying license and related copyright.</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;</div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;</div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;</div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;</div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;</div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;</div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;</div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;</div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;</div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;</div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;</div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;</div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;</div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;</div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;</div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;</div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;</div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;</div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;</div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;</div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;</div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;</div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;</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;</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;</div>
</div><!-- 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="../../dd/d4f/_p_s4_includes_8cpp.xhtml">PS4Includes.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,11 @@
var class_data_structures_1_1_linked_list =
[
[ "LinkedList", "dd/d55/class_data_structures_1_1_linked_list.xhtml#aa58ac2bc94e6e63809f790fc8e09f0db", null ],
[ "LinkedList", "dd/d55/class_data_structures_1_1_linked_list.xhtml#a13ff0178ce3e28b3dba395ee037b73c3", null ],
[ "~LinkedList", "dd/d55/class_data_structures_1_1_linked_list.xhtml#a30a11011cfb4481292064b8ec5887890", null ],
[ "operator++", "dd/d55/class_data_structures_1_1_linked_list.xhtml#a1ea8adf310c0d9e00bf01a3a9e2b108f", null ],
[ "operator++", "dd/d55/class_data_structures_1_1_linked_list.xhtml#a8e3b8a409dd60fcd5186c318a2bbe7bb", null ],
[ "operator--", "dd/d55/class_data_structures_1_1_linked_list.xhtml#ae9d8ab9240af7330758646bc36501713", null ],
[ "operator--", "dd/d55/class_data_structures_1_1_linked_list.xhtml#a54b8316457d87df178baa97a0a8d0746", null ],
[ "operator=", "dd/d55/class_data_structures_1_1_linked_list.xhtml#a76ad4f7f580c1e80510daeffa2833ac1", null ]
];

View File

@ -0,0 +1,393 @@
<!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::LinkedList&lt; LinkedListType &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('dd/d55/class_data_structures_1_1_linked_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="../../df/db4/class_data_structures_1_1_linked_list-members.xhtml">List of all members</a> </div>
<div class="headertitle">
<div class="title">DataStructures::LinkedList&lt; LinkedListType &gt; Class Template Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><code>#include &lt;<a class="el" href="../../d1/dc2/_d_s___linked_list_8h_source.xhtml">slikenet/DS_LinkedList.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::LinkedList&lt; LinkedListType &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"><div class="zoom"><iframe scrolling="no" frameborder="0" src="../../d5/dc0/class_data_structures_1_1_linked_list__inherit__graph.svg" width="100%" height="600"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:aa58ac2bc94e6e63809f790fc8e09f0db"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d55/class_data_structures_1_1_linked_list.xhtml#aa58ac2bc94e6e63809f790fc8e09f0db">LinkedList</a> ()</td></tr>
<tr class="separator:aa58ac2bc94e6e63809f790fc8e09f0db"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a13ff0178ce3e28b3dba395ee037b73c3"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d55/class_data_structures_1_1_linked_list.xhtml#a13ff0178ce3e28b3dba395ee037b73c3">LinkedList</a> (const <a class="el" href="../../dd/d55/class_data_structures_1_1_linked_list.xhtml">LinkedList</a> &amp;original_copy)</td></tr>
<tr class="separator:a13ff0178ce3e28b3dba395ee037b73c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a30a11011cfb4481292064b8ec5887890"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d55/class_data_structures_1_1_linked_list.xhtml#a30a11011cfb4481292064b8ec5887890">~LinkedList</a> ()</td></tr>
<tr class="separator:a30a11011cfb4481292064b8ec5887890"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a76ad4f7f580c1e80510daeffa2833ac1"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d55/class_data_structures_1_1_linked_list.xhtml#a76ad4f7f580c1e80510daeffa2833ac1">operator=</a> (const <a class="el" href="../../dd/d55/class_data_structures_1_1_linked_list.xhtml">LinkedList</a>&lt; LinkedListType &gt; &amp;original_copy)</td></tr>
<tr class="separator:a76ad4f7f580c1e80510daeffa2833ac1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1ea8adf310c0d9e00bf01a3a9e2b108f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../dd/d55/class_data_structures_1_1_linked_list.xhtml">LinkedList</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d55/class_data_structures_1_1_linked_list.xhtml#a1ea8adf310c0d9e00bf01a3a9e2b108f">operator++</a> ()</td></tr>
<tr class="separator:a1ea8adf310c0d9e00bf01a3a9e2b108f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8e3b8a409dd60fcd5186c318a2bbe7bb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../dd/d55/class_data_structures_1_1_linked_list.xhtml">LinkedList</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d55/class_data_structures_1_1_linked_list.xhtml#a8e3b8a409dd60fcd5186c318a2bbe7bb">operator++</a> (int)</td></tr>
<tr class="separator:a8e3b8a409dd60fcd5186c318a2bbe7bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae9d8ab9240af7330758646bc36501713"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../dd/d55/class_data_structures_1_1_linked_list.xhtml">LinkedList</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d55/class_data_structures_1_1_linked_list.xhtml#ae9d8ab9240af7330758646bc36501713">operator--</a> ()</td></tr>
<tr class="separator:ae9d8ab9240af7330758646bc36501713"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a54b8316457d87df178baa97a0a8d0746"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../dd/d55/class_data_structures_1_1_linked_list.xhtml">LinkedList</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d55/class_data_structures_1_1_linked_list.xhtml#a54b8316457d87df178baa97a0a8d0746">operator--</a> (int)</td></tr>
<tr class="separator:a54b8316457d87df178baa97a0a8d0746"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_class_data_structures_1_1_circular_linked_list"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_class_data_structures_1_1_circular_linked_list')"><img src="../../closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="../../d3/dbe/class_data_structures_1_1_circular_linked_list.xhtml">DataStructures::CircularLinkedList&lt; LinkedListType &gt;</a></td></tr>
<tr class="memitem:a9b448cf0cbc22330251d075387626f38 inherit pub_methods_class_data_structures_1_1_circular_linked_list"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/dbe/class_data_structures_1_1_circular_linked_list.xhtml#a9b448cf0cbc22330251d075387626f38">CircularLinkedList</a> ()</td></tr>
<tr class="separator:a9b448cf0cbc22330251d075387626f38 inherit pub_methods_class_data_structures_1_1_circular_linked_list"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6b8f95081e9afca5094c9169882fa93d inherit pub_methods_class_data_structures_1_1_circular_linked_list"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/dbe/class_data_structures_1_1_circular_linked_list.xhtml#a6b8f95081e9afca5094c9169882fa93d">CircularLinkedList</a> (const <a class="el" href="../../d3/dbe/class_data_structures_1_1_circular_linked_list.xhtml">CircularLinkedList</a> &amp;original_copy)</td></tr>
<tr class="separator:a6b8f95081e9afca5094c9169882fa93d inherit pub_methods_class_data_structures_1_1_circular_linked_list"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa6ce0579b5e2a613e438b99b7af96a52 inherit pub_methods_class_data_structures_1_1_circular_linked_list"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/dbe/class_data_structures_1_1_circular_linked_list.xhtml#aa6ce0579b5e2a613e438b99b7af96a52">~CircularLinkedList</a> ()</td></tr>
<tr class="separator:aa6ce0579b5e2a613e438b99b7af96a52 inherit pub_methods_class_data_structures_1_1_circular_linked_list"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afb25fbc51ff0ddac711fb4b9e2422b67 inherit pub_methods_class_data_structures_1_1_circular_linked_list"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/dbe/class_data_structures_1_1_circular_linked_list.xhtml#afb25fbc51ff0ddac711fb4b9e2422b67">operator=</a> (const <a class="el" href="../../d3/dbe/class_data_structures_1_1_circular_linked_list.xhtml">CircularLinkedList</a> &amp;original_copy)</td></tr>
<tr class="separator:afb25fbc51ff0ddac711fb4b9e2422b67 inherit pub_methods_class_data_structures_1_1_circular_linked_list"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a09cd7f337ea27cb9a2847f78bcef4b6e inherit pub_methods_class_data_structures_1_1_circular_linked_list"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d3/dbe/class_data_structures_1_1_circular_linked_list.xhtml">CircularLinkedList</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/dbe/class_data_structures_1_1_circular_linked_list.xhtml#a09cd7f337ea27cb9a2847f78bcef4b6e">operator++</a> ()</td></tr>
<tr class="separator:a09cd7f337ea27cb9a2847f78bcef4b6e inherit pub_methods_class_data_structures_1_1_circular_linked_list"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a03df3f6bbb68d1919d4b0b7406ff89fc inherit pub_methods_class_data_structures_1_1_circular_linked_list"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d3/dbe/class_data_structures_1_1_circular_linked_list.xhtml">CircularLinkedList</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/dbe/class_data_structures_1_1_circular_linked_list.xhtml#a03df3f6bbb68d1919d4b0b7406ff89fc">operator++</a> (int)</td></tr>
<tr class="separator:a03df3f6bbb68d1919d4b0b7406ff89fc inherit pub_methods_class_data_structures_1_1_circular_linked_list"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af7346fc2c9e57047dd7225891891e3fa inherit pub_methods_class_data_structures_1_1_circular_linked_list"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d3/dbe/class_data_structures_1_1_circular_linked_list.xhtml">CircularLinkedList</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/dbe/class_data_structures_1_1_circular_linked_list.xhtml#af7346fc2c9e57047dd7225891891e3fa">operator--</a> ()</td></tr>
<tr class="separator:af7346fc2c9e57047dd7225891891e3fa inherit pub_methods_class_data_structures_1_1_circular_linked_list"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a94e29b0bdaad70b4de1a768c15d9140c inherit pub_methods_class_data_structures_1_1_circular_linked_list"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d3/dbe/class_data_structures_1_1_circular_linked_list.xhtml">CircularLinkedList</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/dbe/class_data_structures_1_1_circular_linked_list.xhtml#a94e29b0bdaad70b4de1a768c15d9140c">operator--</a> (int)</td></tr>
<tr class="separator:a94e29b0bdaad70b4de1a768c15d9140c inherit pub_methods_class_data_structures_1_1_circular_linked_list"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afaac868df2c498af8929c755161d3d2c inherit pub_methods_class_data_structures_1_1_circular_linked_list"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/dbe/class_data_structures_1_1_circular_linked_list.xhtml#afaac868df2c498af8929c755161d3d2c">IsIn</a> (const LinkedListType &amp;input)</td></tr>
<tr class="separator:afaac868df2c498af8929c755161d3d2c inherit pub_methods_class_data_structures_1_1_circular_linked_list"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a42ed315ec6b27947c5c162f8ec67cb77 inherit pub_methods_class_data_structures_1_1_circular_linked_list"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/dbe/class_data_structures_1_1_circular_linked_list.xhtml#a42ed315ec6b27947c5c162f8ec67cb77">Find</a> (const LinkedListType &amp;input)</td></tr>
<tr class="separator:a42ed315ec6b27947c5c162f8ec67cb77 inherit pub_methods_class_data_structures_1_1_circular_linked_list"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae9f34d88cfb215008cda148c80ca1b94 inherit pub_methods_class_data_structures_1_1_circular_linked_list"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/dbe/class_data_structures_1_1_circular_linked_list.xhtml#ae9f34d88cfb215008cda148c80ca1b94">Insert</a> (const LinkedListType &amp;input)</td></tr>
<tr class="separator:ae9f34d88cfb215008cda148c80ca1b94 inherit pub_methods_class_data_structures_1_1_circular_linked_list"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af77041c880bfedbbb16afe1482c4ccd6 inherit pub_methods_class_data_structures_1_1_circular_linked_list"><td class="memItemLeft" align="right" valign="top">LinkedListType &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/dbe/class_data_structures_1_1_circular_linked_list.xhtml#af77041c880bfedbbb16afe1482c4ccd6">Add</a> (const LinkedListType &amp;input)</td></tr>
<tr class="separator:af77041c880bfedbbb16afe1482c4ccd6 inherit pub_methods_class_data_structures_1_1_circular_linked_list"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa94e608de8060f2ee02c9e3984545142 inherit pub_methods_class_data_structures_1_1_circular_linked_list"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/dbe/class_data_structures_1_1_circular_linked_list.xhtml#aa94e608de8060f2ee02c9e3984545142">Replace</a> (const LinkedListType &amp;input)</td></tr>
<tr class="separator:aa94e608de8060f2ee02c9e3984545142 inherit pub_methods_class_data_structures_1_1_circular_linked_list"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9c2f0f72166f49c62e99aa58f7ee19b5 inherit pub_methods_class_data_structures_1_1_circular_linked_list"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/dbe/class_data_structures_1_1_circular_linked_list.xhtml#a9c2f0f72166f49c62e99aa58f7ee19b5">Del</a> (void)</td></tr>
<tr class="separator:a9c2f0f72166f49c62e99aa58f7ee19b5 inherit pub_methods_class_data_structures_1_1_circular_linked_list"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acbd6339fc68ed1015b6811a20ee39910 inherit pub_methods_class_data_structures_1_1_circular_linked_list"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/dbe/class_data_structures_1_1_circular_linked_list.xhtml#acbd6339fc68ed1015b6811a20ee39910">Size</a> (void)</td></tr>
<tr class="separator:acbd6339fc68ed1015b6811a20ee39910 inherit pub_methods_class_data_structures_1_1_circular_linked_list"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a81644887456b6966c3bb882a1a1557d0 inherit pub_methods_class_data_structures_1_1_circular_linked_list"><td class="memItemLeft" align="right" valign="top">LinkedListType &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/dbe/class_data_structures_1_1_circular_linked_list.xhtml#a81644887456b6966c3bb882a1a1557d0">Peek</a> (void)</td></tr>
<tr class="separator:a81644887456b6966c3bb882a1a1557d0 inherit pub_methods_class_data_structures_1_1_circular_linked_list"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4ec7084b10a554f32021a8ea298838a3 inherit pub_methods_class_data_structures_1_1_circular_linked_list"><td class="memItemLeft" align="right" valign="top">LinkedListType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/dbe/class_data_structures_1_1_circular_linked_list.xhtml#a4ec7084b10a554f32021a8ea298838a3">Pop</a> (void)</td></tr>
<tr class="separator:a4ec7084b10a554f32021a8ea298838a3 inherit pub_methods_class_data_structures_1_1_circular_linked_list"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a81e1d0da5ab3c3de3cadc41191075891 inherit pub_methods_class_data_structures_1_1_circular_linked_list"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/dbe/class_data_structures_1_1_circular_linked_list.xhtml#a81e1d0da5ab3c3de3cadc41191075891">Clear</a> (void)</td></tr>
<tr class="separator:a81e1d0da5ab3c3de3cadc41191075891 inherit pub_methods_class_data_structures_1_1_circular_linked_list"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afe72f0175ee659b26ad599693fc5b4ee inherit pub_methods_class_data_structures_1_1_circular_linked_list"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/dbe/class_data_structures_1_1_circular_linked_list.xhtml#afe72f0175ee659b26ad599693fc5b4ee">Sort</a> (void)</td></tr>
<tr class="separator:afe72f0175ee659b26ad599693fc5b4ee inherit pub_methods_class_data_structures_1_1_circular_linked_list"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a453cf3bafc9ff7ae5ab13456a88f1a98 inherit pub_methods_class_data_structures_1_1_circular_linked_list"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/dbe/class_data_structures_1_1_circular_linked_list.xhtml#a453cf3bafc9ff7ae5ab13456a88f1a98">Beginning</a> (void)</td></tr>
<tr class="separator:a453cf3bafc9ff7ae5ab13456a88f1a98 inherit pub_methods_class_data_structures_1_1_circular_linked_list"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9a4e832ea30d76d1dbe597c14e2d91d0 inherit pub_methods_class_data_structures_1_1_circular_linked_list"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/dbe/class_data_structures_1_1_circular_linked_list.xhtml#a9a4e832ea30d76d1dbe597c14e2d91d0">End</a> (void)</td></tr>
<tr class="separator:a9a4e832ea30d76d1dbe597c14e2d91d0 inherit pub_methods_class_data_structures_1_1_circular_linked_list"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a42010425d7c024def67b54b0c41fda23 inherit pub_methods_class_data_structures_1_1_circular_linked_list"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/dbe/class_data_structures_1_1_circular_linked_list.xhtml#a42010425d7c024def67b54b0c41fda23">Concatenate</a> (const <a class="el" href="../../d3/dbe/class_data_structures_1_1_circular_linked_list.xhtml">CircularLinkedList</a> &amp;L)</td></tr>
<tr class="separator:a42010425d7c024def67b54b0c41fda23 inherit pub_methods_class_data_structures_1_1_circular_linked_list"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
Additional Inherited Members</h2></td></tr>
<tr class="inherit_header pro_methods_class_data_structures_1_1_circular_linked_list"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_class_data_structures_1_1_circular_linked_list')"><img src="../../closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="../../d3/dbe/class_data_structures_1_1_circular_linked_list.xhtml">DataStructures::CircularLinkedList&lt; LinkedListType &gt;</a></td></tr>
<tr class="memitem:ab94fe9fff660e829d5013231bf8cb10e inherit pro_methods_class_data_structures_1_1_circular_linked_list"><td class="memItemLeft" align="right" valign="top">node *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/dbe/class_data_structures_1_1_circular_linked_list.xhtml#ab94fe9fff660e829d5013231bf8cb10e">FindPointer</a> (const LinkedListType &amp;input)</td></tr>
<tr class="separator:ab94fe9fff660e829d5013231bf8cb10e inherit pro_methods_class_data_structures_1_1_circular_linked_list"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_attribs_class_data_structures_1_1_circular_linked_list"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_class_data_structures_1_1_circular_linked_list')"><img src="../../closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="../../d3/dbe/class_data_structures_1_1_circular_linked_list.xhtml">DataStructures::CircularLinkedList&lt; LinkedListType &gt;</a></td></tr>
<tr class="memitem:a1f553549888450de0fe8302facda16fe inherit pro_attribs_class_data_structures_1_1_circular_linked_list"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/dbe/class_data_structures_1_1_circular_linked_list.xhtml#a1f553549888450de0fe8302facda16fe">list_size</a></td></tr>
<tr class="separator:a1f553549888450de0fe8302facda16fe inherit pro_attribs_class_data_structures_1_1_circular_linked_list"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aefbf7b5e06902907f5663f88bb7c646a inherit pro_attribs_class_data_structures_1_1_circular_linked_list"><td class="memItemLeft" align="right" valign="top">node *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/dbe/class_data_structures_1_1_circular_linked_list.xhtml#aefbf7b5e06902907f5663f88bb7c646a">root</a></td></tr>
<tr class="separator:aefbf7b5e06902907f5663f88bb7c646a inherit pro_attribs_class_data_structures_1_1_circular_linked_list"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af465832a55530fe55425f2b6e5015ad2 inherit pro_attribs_class_data_structures_1_1_circular_linked_list"><td class="memItemLeft" align="right" valign="top">node *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/dbe/class_data_structures_1_1_circular_linked_list.xhtml#af465832a55530fe55425f2b6e5015ad2">position</a></td></tr>
<tr class="separator:af465832a55530fe55425f2b6e5015ad2 inherit pro_attribs_class_data_structures_1_1_circular_linked_list"><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 LinkedListType&gt;<br/>
class DataStructures::LinkedList&lt; LinkedListType &gt;</h3>
<p>Definition at line <a class="el" href="../../d1/dc2/_d_s___linked_list_8h_source.xhtml#l00219">219</a> of file <a class="el" href="../../d1/dc2/_d_s___linked_list_8h_source.xhtml">DS_LinkedList.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="aa58ac2bc94e6e63809f790fc8e09f0db"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class LinkedListType&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../dd/d55/class_data_structures_1_1_linked_list.xhtml">DataStructures::LinkedList</a>&lt; LinkedListType &gt;::<a class="el" href="../../dd/d55/class_data_structures_1_1_linked_list.xhtml">LinkedList</a> </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="../../d1/dc2/_d_s___linked_list_8h_source.xhtml#l00223">223</a> of file <a class="el" href="../../d1/dc2/_d_s___linked_list_8h_source.xhtml">DS_LinkedList.h</a>.</p>
</div>
</div>
<a class="anchor" id="a13ff0178ce3e28b3dba395ee037b73c3"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class LinkedListType &gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../dd/d55/class_data_structures_1_1_linked_list.xhtml">DataStructures::LinkedList</a>&lt; LinkedListType &gt;::<a class="el" href="../../dd/d55/class_data_structures_1_1_linked_list.xhtml">LinkedList</a> </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="../../dd/d55/class_data_structures_1_1_linked_list.xhtml">LinkedList</a>&lt; LinkedListType &gt; &amp;&#160;</td>
<td class="paramname"><em>original_copy</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d1/dc2/_d_s___linked_list_8h_source.xhtml#l00367">367</a> of file <a class="el" href="../../d1/dc2/_d_s___linked_list_8h_source.xhtml">DS_LinkedList.h</a>.</p>
<p>References <a class="el" href="../../d8/db0/defines_8h_source.xhtml#l00047">_FILE_AND_LINE_</a>, <a class="el" href="../../d1/dc2/_d_s___linked_list_8h_source.xhtml#l00203">DataStructures::CircularLinkedList&lt; CircularLinkedListType &gt;::list_size</a>, <a class="el" href="../../d1/dc2/_d_s___linked_list_8h_source.xhtml#l00207">DataStructures::CircularLinkedList&lt; CircularLinkedListType &gt;::position</a>, <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml#l00303">return</a>, and <a class="el" href="../../d1/dc2/_d_s___linked_list_8h_source.xhtml#l00205">DataStructures::CircularLinkedList&lt; CircularLinkedListType &gt;::root</a>.</p>
</div>
</div>
<a class="anchor" id="a30a11011cfb4481292064b8ec5887890"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class LinkedListType &gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../dd/d55/class_data_structures_1_1_linked_list.xhtml">DataStructures::LinkedList</a>&lt; LinkedListType &gt;::~<a class="el" href="../../dd/d55/class_data_structures_1_1_linked_list.xhtml">LinkedList</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="../../d1/dc2/_d_s___linked_list_8h_source.xhtml#l00361">361</a> of file <a class="el" href="../../d1/dc2/_d_s___linked_list_8h_source.xhtml">DS_LinkedList.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a1ea8adf310c0d9e00bf01a3a9e2b108f"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class LinkedListType &gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../dd/d55/class_data_structures_1_1_linked_list.xhtml">LinkedList</a>&lt; LinkedListType &gt; &amp; <a class="el" href="../../dd/d55/class_data_structures_1_1_linked_list.xhtml">DataStructures::LinkedList</a>&lt; LinkedListType &gt;::operator++ </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="../../d1/dc2/_d_s___linked_list_8h_source.xhtml#l01192">1192</a> of file <a class="el" href="../../d1/dc2/_d_s___linked_list_8h_source.xhtml">DS_LinkedList.h</a>.</p>
</div>
</div>
<a class="anchor" id="a8e3b8a409dd60fcd5186c318a2bbe7bb"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class LinkedListType &gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../dd/d55/class_data_structures_1_1_linked_list.xhtml">LinkedList</a>&lt; LinkedListType &gt; &amp; <a class="el" href="../../dd/d55/class_data_structures_1_1_linked_list.xhtml">DataStructures::LinkedList</a>&lt; LinkedListType &gt;::operator++ </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d1/dc2/_d_s___linked_list_8h_source.xhtml#l01213">1213</a> of file <a class="el" href="../../d1/dc2/_d_s___linked_list_8h_source.xhtml">DS_LinkedList.h</a>.</p>
</div>
</div>
<a class="anchor" id="ae9d8ab9240af7330758646bc36501713"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class LinkedListType &gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../dd/d55/class_data_structures_1_1_linked_list.xhtml">LinkedList</a>&lt; LinkedListType &gt; &amp; <a class="el" href="../../dd/d55/class_data_structures_1_1_linked_list.xhtml">DataStructures::LinkedList</a>&lt; LinkedListType &gt;::operator-- </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="../../d1/dc2/_d_s___linked_list_8h_source.xhtml#l01220">1220</a> of file <a class="el" href="../../d1/dc2/_d_s___linked_list_8h_source.xhtml">DS_LinkedList.h</a>.</p>
</div>
</div>
<a class="anchor" id="a54b8316457d87df178baa97a0a8d0746"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class LinkedListType &gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../dd/d55/class_data_structures_1_1_linked_list.xhtml">LinkedList</a>&lt; LinkedListType &gt; &amp; <a class="el" href="../../dd/d55/class_data_structures_1_1_linked_list.xhtml">DataStructures::LinkedList</a>&lt; LinkedListType &gt;::operator-- </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d1/dc2/_d_s___linked_list_8h_source.xhtml#l01242">1242</a> of file <a class="el" href="../../d1/dc2/_d_s___linked_list_8h_source.xhtml">DS_LinkedList.h</a>.</p>
</div>
</div>
<a class="anchor" id="a76ad4f7f580c1e80510daeffa2833ac1"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class LinkedListType&gt; </div>
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="../../dd/d55/class_data_structures_1_1_linked_list.xhtml">DataStructures::LinkedList</a>&lt; LinkedListType &gt;::operator= </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="../../dd/d55/class_data_structures_1_1_linked_list.xhtml">LinkedList</a>&lt; LinkedListType &gt; &amp;&#160;</td>
<td class="paramname"><em>original_copy</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d1/dc2/_d_s___linked_list_8h_source.xhtml#l00256">256</a> of file <a class="el" href="../../d1/dc2/_d_s___linked_list_8h_source.xhtml">DS_LinkedList.h</a>.</p>
<p>References <a class="el" href="../../d8/db0/defines_8h_source.xhtml#l00047">_FILE_AND_LINE_</a>, <a class="el" href="../../d1/dc2/_d_s___linked_list_8h_source.xhtml#l00203">DataStructures::CircularLinkedList&lt; LinkedListType &gt;::list_size</a>, <a class="el" href="../../d1/dc2/_d_s___linked_list_8h_source.xhtml#l00207">DataStructures::CircularLinkedList&lt; LinkedListType &gt;::position</a>, and <a class="el" href="../../d1/dc2/_d_s___linked_list_8h_source.xhtml#l00205">DataStructures::CircularLinkedList&lt; LinkedListType &gt;::root</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="../../d1/dc2/_d_s___linked_list_8h_source.xhtml">DS_LinkedList.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="../../dd/d55/class_data_structures_1_1_linked_list.xhtml">LinkedList</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,6 @@
<map id="SLNet::RNS2_Linux" name="SLNet::RNS2_Linux">
<area shape="rect" id="node2" href="$d1/d4f/class_s_l_net_1_1_r_n_s2___berkley.xhtml" title="{SLNet::RNS2_Berkley\n|# rns2Socket\l# binding\l# isRecvFromLoopThreadActive\l# endThreads\l|+ RNS2_Berkley()\l+ ~RNS2_Berkley()\l+ CreateRecvPollingThread()\l+ SignalStopRecvPollingThread()\l+ BlockOnStopRecvPollingThread()\l+ GetBindings()\l+ GetSocket()\l+ SetDoNotFragment()\l# BindShared()\l# BindSharedIPV4()\l# BindSharedIPV4And6()\l# SetNonBlockingSocket()\l# SetSocketOptions()\l# SetBroadcastSocket()\l# SetIPHdrIncl()\l# RecvFromBlocking()\l# RecvFromBlockingIPV4()\l# RecvFromBlockingIPV4And6()\l# RecvFromLoopInt()\l# GetSystemAddressIPV4()\l# GetSystemAddressIPV4And6()\l# RAK_THREAD_DECLARATION()\l}" alt="" coords="6,491,231,920"/>
<area shape="rect" id="node3" href="$d7/d64/class_s_l_net_1_1_i_r_n_s2___berkley.xhtml" title="{SLNet::IRNS2_Berkley\n||+ Bind()\l+ IsPortInUse()\l}" alt="" coords="41,351,196,443"/>
<area shape="rect" id="node4" href="$d1/dde/class_s_l_net_1_1_rak_net_socket2.xhtml" title="{SLNet::RakNetSocket2\n|# eventHandler\l# socketType\l# boundAddress\l# userConnectionSocketIndex\l|+ RakNetSocket2()\l+ ~RakNetSocket2()\l+ SetRecvEventHandler()\l+ Send()\l+ GetSocketType()\l+ SetSocketType()\l+ IsBerkleySocket()\l+ GetBoundAddress()\l+ GetUserConnectionSocketIndex()\l+ SetUserConnectionSocketIndex()\l+ GetEventHandler()\l+ GetMyIP()\l+ DomainNameToIP()\l}" alt="" coords="5,5,232,303"/>
<area shape="rect" id="node5" href="$dd/d9e/class_r_n_s2___windows___linux__360.xhtml" title="{RNS2_Windows_Linux_360\n||}" alt="" coords="255,667,438,744"/>
</map>

View File

@ -0,0 +1 @@
6a1bf8d503833ce865e5f3b290ebfe82

View File

@ -0,0 +1,207 @@
<?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::RNS2_Linux Pages: 1 -->
<!--zoomable 832 -->
<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 = 333;
var viewHeight = 832;
var sectionId = 'dynsection-0';
</script>
<script xlink:href="../../svgpan.js"/>
<svg id="graph" class="graph">
<g id="viewport">
<title>SLNet::RNS2_Linux</title>
<!-- Node1 -->
<g id="node1" class="node"><title>Node1</title>
<polygon fill="#bfbfbf" stroke="black" points="113.5,-0.5 113.5,-101.5 226.5,-101.5 226.5,-0.5 113.5,-0.5"/>
<text text-anchor="middle" x="170" y="-89.5" font-family="Helvetica,sans-Serif" font-size="10.00">SLNet::RNS2_Linux</text>
<polyline fill="none" stroke="black" points="113.5,-82.5 226.5,-82.5 "/>
<text text-anchor="middle" x="170" y="-70.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
<polyline fill="none" stroke="black" points="113.5,-63.5 226.5,-63.5 "/>
<text text-anchor="start" x="121.5" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Bind()</text>
<text text-anchor="start" x="121.5" y="-40.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Send()</text>
<text text-anchor="start" x="121.5" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetMyIP()</text>
<text text-anchor="start" x="121.5" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00"># GetMyIPIPV4()</text>
<text text-anchor="start" x="121.5" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00"># GetMyIPIPV4And6()</text>
</g>
<!-- Node2 -->
<g id="node2" class="node"><title>Node2</title>
<g id="a_node2"><a xlink:href="../../d1/d4f/class_s_l_net_1_1_r_n_s2___berkley.xhtml" target="_top" xlink:title="{SLNet::RNS2_Berkley\n|# rns2Socket\l# binding\l# isRecvFromLoopThreadActive\l# endThreads\l|+ RNS2_Berkley()\l+ ~RNS2_Berkley()\l+ CreateRecvPollingThread()\l+ SignalStopRecvPollingThread()\l+ BlockOnStopRecvPollingThread()\l+ GetBindings()\l+ GetSocket()\l+ SetDoNotFragment()\l# BindShared()\l# BindSharedIPV4()\l# BindSharedIPV4And6()\l# SetNonBlockingSocket()\l# SetSocketOptions()\l# SetBroadcastSocket()\l# SetIPHdrIncl()\l# RecvFromBlocking()\l# RecvFromBlockingIPV4()\l# RecvFromBlockingIPV4And6()\l# RecvFromLoopInt()\l# GetSystemAddressIPV4()\l# GetSystemAddressIPV4And6()\l# RAK_THREAD_DECLARATION()\l}">
<polygon fill="none" stroke="black" points="0.5,-138.5 0.5,-459.5 169.5,-459.5 169.5,-138.5 0.5,-138.5"/>
<text text-anchor="middle" x="85" y="-447.5" font-family="Helvetica,sans-Serif" font-size="10.00">SLNet::RNS2_Berkley</text>
<polyline fill="none" stroke="black" points="0.5,-440.5 169.5,-440.5 "/>
<text text-anchor="start" x="8.5" y="-428.5" font-family="Helvetica,sans-Serif" font-size="10.00"># rns2Socket</text>
<text text-anchor="start" x="8.5" y="-417.5" font-family="Helvetica,sans-Serif" font-size="10.00"># binding</text>
<text text-anchor="start" x="8.5" y="-406.5" font-family="Helvetica,sans-Serif" font-size="10.00"># isRecvFromLoopThreadActive</text>
<text text-anchor="start" x="8.5" y="-395.5" font-family="Helvetica,sans-Serif" font-size="10.00"># endThreads</text>
<polyline fill="none" stroke="black" points="0.5,-388.5 169.5,-388.5 "/>
<text text-anchor="start" x="8.5" y="-376.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ RNS2_Berkley()</text>
<text text-anchor="start" x="8.5" y="-365.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~RNS2_Berkley()</text>
<text text-anchor="start" x="8.5" y="-354.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ CreateRecvPollingThread()</text>
<text text-anchor="start" x="8.5" y="-343.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SignalStopRecvPollingThread()</text>
<text text-anchor="start" x="8.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ BlockOnStopRecvPollingThread()</text>
<text text-anchor="start" x="8.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetBindings()</text>
<text text-anchor="start" x="8.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetSocket()</text>
<text text-anchor="start" x="8.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SetDoNotFragment()</text>
<text text-anchor="start" x="8.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00"># BindShared()</text>
<text text-anchor="start" x="8.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00"># BindSharedIPV4()</text>
<text text-anchor="start" x="8.5" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00"># BindSharedIPV4And6()</text>
<text text-anchor="start" x="8.5" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00"># SetNonBlockingSocket()</text>
<text text-anchor="start" x="8.5" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00"># SetSocketOptions()</text>
<text text-anchor="start" x="8.5" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00"># SetBroadcastSocket()</text>
<text text-anchor="start" x="8.5" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00"># SetIPHdrIncl()</text>
<text text-anchor="start" x="8.5" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00"># RecvFromBlocking()</text>
<text text-anchor="start" x="8.5" y="-200.5" font-family="Helvetica,sans-Serif" font-size="10.00"># RecvFromBlockingIPV4()</text>
<text text-anchor="start" x="8.5" y="-189.5" font-family="Helvetica,sans-Serif" font-size="10.00"># RecvFromBlockingIPV4And6()</text>
<text text-anchor="start" x="8.5" y="-178.5" font-family="Helvetica,sans-Serif" font-size="10.00"># RecvFromLoopInt()</text>
<text text-anchor="start" x="8.5" y="-167.5" font-family="Helvetica,sans-Serif" font-size="10.00"># GetSystemAddressIPV4()</text>
<text text-anchor="start" x="8.5" y="-156.5" font-family="Helvetica,sans-Serif" font-size="10.00"># GetSystemAddressIPV4And6()</text>
<text text-anchor="start" x="8.5" y="-145.5" font-family="Helvetica,sans-Serif" font-size="10.00"># RAK_THREAD_DECLARATION()</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="M143.497,-128.703C146.795,-119.157 149.943,-110.046 152.843,-101.653"/>
<polygon fill="none" stroke="midnightblue" points="140.11,-127.79 140.152,-138.384 146.726,-130.076 140.11,-127.79"/>
</g>
<!-- Node3 -->
<g id="node3" class="node"><title>Node3</title>
<g id="a_node3"><a xlink:href="../../d7/d64/class_s_l_net_1_1_i_r_n_s2___berkley.xhtml" target="_top" xlink:title="{SLNet::IRNS2_Berkley\n||+ Bind()\l+ IsPortInUse()\l}">
<polygon fill="none" stroke="black" points="27,-496.5 27,-564.5 143,-564.5 143,-496.5 27,-496.5"/>
<text text-anchor="middle" x="85" y="-552.5" font-family="Helvetica,sans-Serif" font-size="10.00">SLNet::IRNS2_Berkley</text>
<polyline fill="none" stroke="black" points="27,-545.5 143,-545.5 "/>
<text text-anchor="middle" x="85" y="-533.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
<polyline fill="none" stroke="black" points="27,-526.5 143,-526.5 "/>
<text text-anchor="start" x="35" y="-514.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Bind()</text>
<text text-anchor="start" x="35" y="-503.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ IsPortInUse()</text>
</a>
</g>
</g>
<!-- Node3&#45;&gt;Node2 -->
<g id="edge2" class="edge"><title>Node3&#45;&gt;Node2</title>
<path fill="none" stroke="midnightblue" d="M85,-485.967C85,-477.876 85,-469.003 85,-459.658"/>
<polygon fill="none" stroke="midnightblue" points="81.5001,-486.129 85,-496.129 88.5001,-486.129 81.5001,-486.129"/>
</g>
<!-- Node4 -->
<g id="node4" class="node"><title>Node4</title>
<g id="a_node4"><a xlink:href="../../d1/dde/class_s_l_net_1_1_rak_net_socket2.xhtml" target="_top" xlink:title="{SLNet::RakNetSocket2\n|# eventHandler\l# socketType\l# boundAddress\l# userConnectionSocketIndex\l|+ RakNetSocket2()\l+ ~RakNetSocket2()\l+ SetRecvEventHandler()\l+ Send()\l+ GetSocketType()\l+ SetSocketType()\l+ IsBerkleySocket()\l+ GetBoundAddress()\l+ GetUserConnectionSocketIndex()\l+ SetUserConnectionSocketIndex()\l+ GetEventHandler()\l+ GetMyIP()\l+ DomainNameToIP()\l}">
<polygon fill="none" stroke="black" points="0,-601.5 0,-823.5 170,-823.5 170,-601.5 0,-601.5"/>
<text text-anchor="middle" x="85" y="-811.5" font-family="Helvetica,sans-Serif" font-size="10.00">SLNet::RakNetSocket2</text>
<polyline fill="none" stroke="black" points="0,-804.5 170,-804.5 "/>
<text text-anchor="start" x="8" y="-792.5" font-family="Helvetica,sans-Serif" font-size="10.00"># eventHandler</text>
<text text-anchor="start" x="8" y="-781.5" font-family="Helvetica,sans-Serif" font-size="10.00"># socketType</text>
<text text-anchor="start" x="8" y="-770.5" font-family="Helvetica,sans-Serif" font-size="10.00"># boundAddress</text>
<text text-anchor="start" x="8" y="-759.5" font-family="Helvetica,sans-Serif" font-size="10.00"># userConnectionSocketIndex</text>
<polyline fill="none" stroke="black" points="0,-752.5 170,-752.5 "/>
<text text-anchor="start" x="8" y="-740.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ RakNetSocket2()</text>
<text text-anchor="start" x="8" y="-729.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~RakNetSocket2()</text>
<text text-anchor="start" x="8" y="-718.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SetRecvEventHandler()</text>
<text text-anchor="start" x="8" y="-707.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Send()</text>
<text text-anchor="start" x="8" y="-696.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetSocketType()</text>
<text text-anchor="start" x="8" y="-685.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SetSocketType()</text>
<text text-anchor="start" x="8" y="-674.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ IsBerkleySocket()</text>
<text text-anchor="start" x="8" y="-663.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetBoundAddress()</text>
<text text-anchor="start" x="8" y="-652.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetUserConnectionSocketIndex()</text>
<text text-anchor="start" x="8" y="-641.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SetUserConnectionSocketIndex()</text>
<text text-anchor="start" x="8" y="-630.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetEventHandler()</text>
<text text-anchor="start" x="8" y="-619.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetMyIP()</text>
<text text-anchor="start" x="8" y="-608.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ DomainNameToIP()</text>
</a>
</g>
</g>
<!-- Node4&#45;&gt;Node3 -->
<g id="edge3" class="edge"><title>Node4&#45;&gt;Node3</title>
<path fill="none" stroke="midnightblue" d="M85,-591.221C85,-581.66 85,-572.615 85,-564.593"/>
<polygon fill="none" stroke="midnightblue" points="81.5001,-591.35 85,-601.35 88.5001,-591.35 81.5001,-591.35"/>
</g>
<!-- Node5 -->
<g id="node5" class="node"><title>Node5</title>
<g id="a_node5"><a xlink:href="../../dd/d9e/class_r_n_s2___windows___linux__360.xhtml" target="_top" xlink:title="{RNS2_Windows_Linux_360\n||}">
<polygon fill="none" stroke="black" points="187.5,-270.5 187.5,-327.5 324.5,-327.5 324.5,-270.5 187.5,-270.5"/>
<text text-anchor="middle" x="256" y="-315.5" font-family="Helvetica,sans-Serif" font-size="10.00">RNS2_Windows_Linux_360</text>
<polyline fill="none" stroke="black" points="187.5,-308.5 324.5,-308.5 "/>
<text text-anchor="middle" x="256" y="-296.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
<polyline fill="none" stroke="black" points="187.5,-289.5 324.5,-289.5 "/>
<text text-anchor="middle" x="256" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
</a>
</g>
</g>
<!-- Node5&#45;&gt;Node1 -->
<g id="edge4" class="edge"><title>Node5&#45;&gt;Node1</title>
<path fill="none" stroke="midnightblue" d="M242.923,-260.595C228.083,-218.145 203.812,-148.719 187.387,-101.734"/>
<polygon fill="none" stroke="midnightblue" points="239.698,-261.974 246.302,-270.259 246.306,-259.664 239.698,-261.974"/>
</g>
</g>
</svg>
<g id="navigator" transform="translate(0 0)" fill="#404254">
<rect fill="#f2f5e9" fill-opacity="0.5" stroke="#606060" stroke-width=".5" x="0" y="0" width="60" height="60"/>
<use id="zoomplus" xlink:href="#zoomPlus" x="17" y="9" onmousedown="handleZoom(evt,'in')"/>
<use id="zoomminus" xlink:href="#zoomMin" x="42" y="9" onmousedown="handleZoom(evt,'out')"/>
<use id="reset" xlink:href="#resetDef" x="30" y="36" onmousedown="handleReset()"/>
<g id="arrowUp" xlink:href="#dirArrow" transform="translate(30 24)" onmousedown="handlePan(0,-1)">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="arrowUp.mouseover" end="arrowUp.mouseout"/>
</use>
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowRight" xlink:href="#dirArrow" transform="rotate(90) translate(36 -43)" onmousedown="handlePan(1,0)">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="arrowRight.mouseover" end="arrowRight.mouseout"/>
</use>
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowDown" xlink:href="#dirArrow" transform="rotate(180) translate(-30 -48)" onmousedown="handlePan(0,1)">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="arrowDown.mouseover" end="arrowDown.mouseout"/>
</use>
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowLeft" xlink:href="#dirArrow" transform="rotate(270) translate(-36 17)" onmousedown="handlePan(-1,0)">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="arrowLeft.mouseover" end="arrowLeft.mouseout"/>
</use>
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
</g>
<svg viewBox="0 0 15 15" width="100%" height="30px" preserveAspectRatio="xMaxYMin meet">
<g id="arrow_out" transform="scale(0.3 0.3)">
<a xlink:href="class_s_l_net_1_1_r_n_s2___linux__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: 17 KiB

View File

@ -0,0 +1,133 @@
<?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::RNS2_Linux Pages: 1 -->
<svg width="333pt" height="832pt"
viewBox="0.00 0.00 332.50 832.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 828)">
<title>SLNet::RNS2_Linux</title>
<!-- Node1 -->
<g id="node1" class="node"><title>Node1</title>
<polygon fill="#bfbfbf" stroke="black" points="113.5,-0.5 113.5,-101.5 226.5,-101.5 226.5,-0.5 113.5,-0.5"/>
<text text-anchor="middle" x="170" y="-89.5" font-family="Helvetica,sans-Serif" font-size="10.00">SLNet::RNS2_Linux</text>
<polyline fill="none" stroke="black" points="113.5,-82.5 226.5,-82.5 "/>
<text text-anchor="middle" x="170" y="-70.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
<polyline fill="none" stroke="black" points="113.5,-63.5 226.5,-63.5 "/>
<text text-anchor="start" x="121.5" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Bind()</text>
<text text-anchor="start" x="121.5" y="-40.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Send()</text>
<text text-anchor="start" x="121.5" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetMyIP()</text>
<text text-anchor="start" x="121.5" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00"># GetMyIPIPV4()</text>
<text text-anchor="start" x="121.5" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00"># GetMyIPIPV4And6()</text>
</g>
<!-- Node2 -->
<g id="node2" class="node"><title>Node2</title>
<g id="a_node2"><a xlink:href="../../d1/d4f/class_s_l_net_1_1_r_n_s2___berkley.xhtml" target="_top" xlink:title="{SLNet::RNS2_Berkley\n|# rns2Socket\l# binding\l# isRecvFromLoopThreadActive\l# endThreads\l|+ RNS2_Berkley()\l+ ~RNS2_Berkley()\l+ CreateRecvPollingThread()\l+ SignalStopRecvPollingThread()\l+ BlockOnStopRecvPollingThread()\l+ GetBindings()\l+ GetSocket()\l+ SetDoNotFragment()\l# BindShared()\l# BindSharedIPV4()\l# BindSharedIPV4And6()\l# SetNonBlockingSocket()\l# SetSocketOptions()\l# SetBroadcastSocket()\l# SetIPHdrIncl()\l# RecvFromBlocking()\l# RecvFromBlockingIPV4()\l# RecvFromBlockingIPV4And6()\l# RecvFromLoopInt()\l# GetSystemAddressIPV4()\l# GetSystemAddressIPV4And6()\l# RAK_THREAD_DECLARATION()\l}">
<polygon fill="none" stroke="black" points="0.5,-138.5 0.5,-459.5 169.5,-459.5 169.5,-138.5 0.5,-138.5"/>
<text text-anchor="middle" x="85" y="-447.5" font-family="Helvetica,sans-Serif" font-size="10.00">SLNet::RNS2_Berkley</text>
<polyline fill="none" stroke="black" points="0.5,-440.5 169.5,-440.5 "/>
<text text-anchor="start" x="8.5" y="-428.5" font-family="Helvetica,sans-Serif" font-size="10.00"># rns2Socket</text>
<text text-anchor="start" x="8.5" y="-417.5" font-family="Helvetica,sans-Serif" font-size="10.00"># binding</text>
<text text-anchor="start" x="8.5" y="-406.5" font-family="Helvetica,sans-Serif" font-size="10.00"># isRecvFromLoopThreadActive</text>
<text text-anchor="start" x="8.5" y="-395.5" font-family="Helvetica,sans-Serif" font-size="10.00"># endThreads</text>
<polyline fill="none" stroke="black" points="0.5,-388.5 169.5,-388.5 "/>
<text text-anchor="start" x="8.5" y="-376.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ RNS2_Berkley()</text>
<text text-anchor="start" x="8.5" y="-365.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~RNS2_Berkley()</text>
<text text-anchor="start" x="8.5" y="-354.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ CreateRecvPollingThread()</text>
<text text-anchor="start" x="8.5" y="-343.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SignalStopRecvPollingThread()</text>
<text text-anchor="start" x="8.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ BlockOnStopRecvPollingThread()</text>
<text text-anchor="start" x="8.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetBindings()</text>
<text text-anchor="start" x="8.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetSocket()</text>
<text text-anchor="start" x="8.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SetDoNotFragment()</text>
<text text-anchor="start" x="8.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00"># BindShared()</text>
<text text-anchor="start" x="8.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00"># BindSharedIPV4()</text>
<text text-anchor="start" x="8.5" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00"># BindSharedIPV4And6()</text>
<text text-anchor="start" x="8.5" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00"># SetNonBlockingSocket()</text>
<text text-anchor="start" x="8.5" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00"># SetSocketOptions()</text>
<text text-anchor="start" x="8.5" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00"># SetBroadcastSocket()</text>
<text text-anchor="start" x="8.5" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00"># SetIPHdrIncl()</text>
<text text-anchor="start" x="8.5" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00"># RecvFromBlocking()</text>
<text text-anchor="start" x="8.5" y="-200.5" font-family="Helvetica,sans-Serif" font-size="10.00"># RecvFromBlockingIPV4()</text>
<text text-anchor="start" x="8.5" y="-189.5" font-family="Helvetica,sans-Serif" font-size="10.00"># RecvFromBlockingIPV4And6()</text>
<text text-anchor="start" x="8.5" y="-178.5" font-family="Helvetica,sans-Serif" font-size="10.00"># RecvFromLoopInt()</text>
<text text-anchor="start" x="8.5" y="-167.5" font-family="Helvetica,sans-Serif" font-size="10.00"># GetSystemAddressIPV4()</text>
<text text-anchor="start" x="8.5" y="-156.5" font-family="Helvetica,sans-Serif" font-size="10.00"># GetSystemAddressIPV4And6()</text>
<text text-anchor="start" x="8.5" y="-145.5" font-family="Helvetica,sans-Serif" font-size="10.00"># RAK_THREAD_DECLARATION()</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="M143.497,-128.703C146.795,-119.157 149.943,-110.046 152.843,-101.653"/>
<polygon fill="none" stroke="midnightblue" points="140.11,-127.79 140.152,-138.384 146.726,-130.076 140.11,-127.79"/>
</g>
<!-- Node3 -->
<g id="node3" class="node"><title>Node3</title>
<g id="a_node3"><a xlink:href="../../d7/d64/class_s_l_net_1_1_i_r_n_s2___berkley.xhtml" target="_top" xlink:title="{SLNet::IRNS2_Berkley\n||+ Bind()\l+ IsPortInUse()\l}">
<polygon fill="none" stroke="black" points="27,-496.5 27,-564.5 143,-564.5 143,-496.5 27,-496.5"/>
<text text-anchor="middle" x="85" y="-552.5" font-family="Helvetica,sans-Serif" font-size="10.00">SLNet::IRNS2_Berkley</text>
<polyline fill="none" stroke="black" points="27,-545.5 143,-545.5 "/>
<text text-anchor="middle" x="85" y="-533.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
<polyline fill="none" stroke="black" points="27,-526.5 143,-526.5 "/>
<text text-anchor="start" x="35" y="-514.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Bind()</text>
<text text-anchor="start" x="35" y="-503.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ IsPortInUse()</text>
</a>
</g>
</g>
<!-- Node3&#45;&gt;Node2 -->
<g id="edge2" class="edge"><title>Node3&#45;&gt;Node2</title>
<path fill="none" stroke="midnightblue" d="M85,-485.967C85,-477.876 85,-469.003 85,-459.658"/>
<polygon fill="none" stroke="midnightblue" points="81.5001,-486.129 85,-496.129 88.5001,-486.129 81.5001,-486.129"/>
</g>
<!-- Node4 -->
<g id="node4" class="node"><title>Node4</title>
<g id="a_node4"><a xlink:href="../../d1/dde/class_s_l_net_1_1_rak_net_socket2.xhtml" target="_top" xlink:title="{SLNet::RakNetSocket2\n|# eventHandler\l# socketType\l# boundAddress\l# userConnectionSocketIndex\l|+ RakNetSocket2()\l+ ~RakNetSocket2()\l+ SetRecvEventHandler()\l+ Send()\l+ GetSocketType()\l+ SetSocketType()\l+ IsBerkleySocket()\l+ GetBoundAddress()\l+ GetUserConnectionSocketIndex()\l+ SetUserConnectionSocketIndex()\l+ GetEventHandler()\l+ GetMyIP()\l+ DomainNameToIP()\l}">
<polygon fill="none" stroke="black" points="0,-601.5 0,-823.5 170,-823.5 170,-601.5 0,-601.5"/>
<text text-anchor="middle" x="85" y="-811.5" font-family="Helvetica,sans-Serif" font-size="10.00">SLNet::RakNetSocket2</text>
<polyline fill="none" stroke="black" points="0,-804.5 170,-804.5 "/>
<text text-anchor="start" x="8" y="-792.5" font-family="Helvetica,sans-Serif" font-size="10.00"># eventHandler</text>
<text text-anchor="start" x="8" y="-781.5" font-family="Helvetica,sans-Serif" font-size="10.00"># socketType</text>
<text text-anchor="start" x="8" y="-770.5" font-family="Helvetica,sans-Serif" font-size="10.00"># boundAddress</text>
<text text-anchor="start" x="8" y="-759.5" font-family="Helvetica,sans-Serif" font-size="10.00"># userConnectionSocketIndex</text>
<polyline fill="none" stroke="black" points="0,-752.5 170,-752.5 "/>
<text text-anchor="start" x="8" y="-740.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ RakNetSocket2()</text>
<text text-anchor="start" x="8" y="-729.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~RakNetSocket2()</text>
<text text-anchor="start" x="8" y="-718.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SetRecvEventHandler()</text>
<text text-anchor="start" x="8" y="-707.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Send()</text>
<text text-anchor="start" x="8" y="-696.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetSocketType()</text>
<text text-anchor="start" x="8" y="-685.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SetSocketType()</text>
<text text-anchor="start" x="8" y="-674.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ IsBerkleySocket()</text>
<text text-anchor="start" x="8" y="-663.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetBoundAddress()</text>
<text text-anchor="start" x="8" y="-652.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetUserConnectionSocketIndex()</text>
<text text-anchor="start" x="8" y="-641.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SetUserConnectionSocketIndex()</text>
<text text-anchor="start" x="8" y="-630.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetEventHandler()</text>
<text text-anchor="start" x="8" y="-619.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetMyIP()</text>
<text text-anchor="start" x="8" y="-608.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ DomainNameToIP()</text>
</a>
</g>
</g>
<!-- Node4&#45;&gt;Node3 -->
<g id="edge3" class="edge"><title>Node4&#45;&gt;Node3</title>
<path fill="none" stroke="midnightblue" d="M85,-591.221C85,-581.66 85,-572.615 85,-564.593"/>
<polygon fill="none" stroke="midnightblue" points="81.5001,-591.35 85,-601.35 88.5001,-591.35 81.5001,-591.35"/>
</g>
<!-- Node5 -->
<g id="node5" class="node"><title>Node5</title>
<g id="a_node5"><a xlink:href="../../dd/d9e/class_r_n_s2___windows___linux__360.xhtml" target="_top" xlink:title="{RNS2_Windows_Linux_360\n||}">
<polygon fill="none" stroke="black" points="187.5,-270.5 187.5,-327.5 324.5,-327.5 324.5,-270.5 187.5,-270.5"/>
<text text-anchor="middle" x="256" y="-315.5" font-family="Helvetica,sans-Serif" font-size="10.00">RNS2_Windows_Linux_360</text>
<polyline fill="none" stroke="black" points="187.5,-308.5 324.5,-308.5 "/>
<text text-anchor="middle" x="256" y="-296.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
<polyline fill="none" stroke="black" points="187.5,-289.5 324.5,-289.5 "/>
<text text-anchor="middle" x="256" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
</a>
</g>
</g>
<!-- Node5&#45;&gt;Node1 -->
<g id="edge4" class="edge"><title>Node5&#45;&gt;Node1</title>
<path fill="none" stroke="midnightblue" d="M242.923,-260.595C228.083,-218.145 203.812,-148.719 187.387,-101.734"/>
<polygon fill="none" stroke="midnightblue" points="239.698,-261.974 246.302,-270.259 246.306,-259.664 239.698,-261.974"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 12 KiB

View File

@ -0,0 +1,7 @@
var _rak_string_8cpp =
[
[ "GetPoolMutex", "dd/d5f/_rak_string_8cpp.xhtml#a3f87d1efd772fd962087aa5b9d5f883c", null ],
[ "operator+", "dd/d5f/_rak_string_8cpp.xhtml#a625af79cc78a3921cfa6a7116754bd6c", null ],
[ "porges_strlen2", "dd/d5f/_rak_string_8cpp.xhtml#af76d55fc01a3fb81a662b06b101f9409", null ],
[ "cleanup", "dd/d5f/_rak_string_8cpp.xhtml#a9f05dfbbc37a1b687d8c189d31411d12", null ]
];

View File

@ -0,0 +1,248 @@
<!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/RakString.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('dd/d5f/_rak_string_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="#func-members">Functions</a> &#124;
<a href="#var-members">Variables</a> </div>
<div class="headertitle">
<div class="title">RakString.cpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &quot;<a class="el" href="../../da/d66/string_8h_source.xhtml">slikenet/string.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="../../dd/dc5/memoryoverride_8h_source.xhtml">slikenet/memoryoverride.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../d7/dc3/_bit_stream_8h_source.xhtml">slikenet/BitStream.h</a>&quot;</code><br/>
<code>#include &lt;stdarg.h&gt;</code><br/>
<code>#include &quot;<a class="el" href="../../d0/dff/_linux_strings_8h_source.xhtml">slikenet/LinuxStrings.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../df/d78/_string_compressor_8h_source.xhtml">slikenet/StringCompressor.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../d7/ddd/_simple_mutex_8h_source.xhtml">slikenet/SimpleMutex.h</a>&quot;</code><br/>
<code>#include &lt;stdlib.h&gt;</code><br/>
<code>#include &quot;<a class="el" href="../../de/d3e/_itoa_8h_source.xhtml">slikenet/Itoa.h</a>&quot;</code><br/>
<code>#include &lt;limits&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="../../dd/d5f/_rak_string_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="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a3f87d1efd772fd962087aa5b9d5f883c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d9/da8/class_s_l_net_1_1_simple_mutex.xhtml">SimpleMutex</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d5f/_rak_string_8cpp.xhtml#a3f87d1efd772fd962087aa5b9d5f883c">GetPoolMutex</a> (void)</td></tr>
<tr class="separator:a3f87d1efd772fd962087aa5b9d5f883c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a625af79cc78a3921cfa6a7116754bd6c"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="../../d2/d66/class_s_l_net_1_1_rak_string.xhtml">SLNet::RakString</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d5f/_rak_string_8cpp.xhtml#a625af79cc78a3921cfa6a7116754bd6c">operator+</a> (const <a class="el" href="../../d2/d66/class_s_l_net_1_1_rak_string.xhtml">SLNet::RakString</a> &amp;lhs, const <a class="el" href="../../d2/d66/class_s_l_net_1_1_rak_string.xhtml">SLNet::RakString</a> &amp;rhs)</td></tr>
<tr class="separator:a625af79cc78a3921cfa6a7116754bd6c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af76d55fc01a3fb81a662b06b101f9409"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d5f/_rak_string_8cpp.xhtml#af76d55fc01a3fb81a662b06b101f9409">porges_strlen2</a> (char *s)</td></tr>
<tr class="separator:af76d55fc01a3fb81a662b06b101f9409"><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:a9f05dfbbc37a1b687d8c189d31411d12"><td class="memItemLeft" align="right" valign="top">static RakStringCleanup&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d5f/_rak_string_8cpp.xhtml#a9f05dfbbc37a1b687d8c189d31411d12">cleanup</a></td></tr>
<tr class="separator:a9f05dfbbc37a1b687d8c189d31411d12"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="a3f87d1efd772fd962087aa5b9d5f883c"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../d9/da8/class_s_l_net_1_1_simple_mutex.xhtml">SimpleMutex</a>&amp; GetPoolMutex </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="../../dd/d5f/_rak_string_8cpp_source.xhtml#l00050">50</a> of file <a class="el" href="../../dd/d5f/_rak_string_8cpp_source.xhtml">RakString.cpp</a>.</p>
<p>Referenced by <a class="el" href="../../dd/d5f/_rak_string_8cpp_source.xhtml#l01564">SLNet::RakString::LockMutex()</a>, and <a class="el" href="../../dd/d5f/_rak_string_8cpp_source.xhtml#l01568">SLNet::RakString::UnlockMutex()</a>.</p>
</div>
</div>
<a class="anchor" id="a625af79cc78a3921cfa6a7116754bd6c"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="../../d2/d66/class_s_l_net_1_1_rak_string.xhtml">SLNet::RakString</a> operator+ </td>
<td>(</td>
<td class="paramtype">const <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>lhs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <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>rhs</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/d5f/_rak_string_8cpp_source.xhtml#l00286">286</a> of file <a class="el" href="../../dd/d5f/_rak_string_8cpp_source.xhtml">RakString.cpp</a>.</p>
<p>References <a class="el" href="../../d8/db0/defines_8h_source.xhtml#l00047">_FILE_AND_LINE_</a>, <a class="el" href="../../da/d66/string_8h_source.xhtml#l00314">SLNet::RakString::SharedString::bigString</a>, <a class="el" href="../../da/d66/string_8h_source.xhtml#l00313">SLNet::RakString::SharedString::bytesUsed</a>, <a class="el" href="../../da/d66/string_8h_source.xhtml#l00315">SLNet::RakString::SharedString::c_str</a>, <a class="el" href="../../da/d66/string_8h_source.xhtml#l00328">SLNet::RakString::emptyString</a>, <a class="el" href="../../da/d66/string_8h_source.xhtml#l00334">SLNet::RakString::freeList</a>, <a class="el" href="../../dd/d5f/_rak_string_8cpp_source.xhtml#l00396">SLNet::RakString::GetLength()</a>, <a class="el" href="../../da/d66/string_8h_source.xhtml#l00299">SLNet::RakString::GetSizeToAllocate()</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="../../dd/d5f/_rak_string_8cpp_source.xhtml#l00392">SLNet::RakString::IsEmpty()</a>, <a class="el" href="../../de/dd8/_simple_mutex_8cpp_source.xhtml#l00105">SLNet::SimpleMutex::Lock()</a>, <a class="el" href="../../dd/d5f/_rak_string_8cpp_source.xhtml#l01564">SLNet::RakString::LockMutex()</a>, <a class="el" href="../../d9/d4c/_rak_memory_override_8cpp_source.xhtml#l00062">rakMalloc_Ex</a>, <a class="el" href="../../da/d66/string_8h_source.xhtml#l00312">SLNet::RakString::SharedString::refCount</a>, <a class="el" href="../../da/d66/string_8h_source.xhtml#l00311">SLNet::RakString::SharedString::refCountMutex</a>, <a class="el" href="../../d9/d7f/_d_s___list_8h_source.xhtml#l00393">DataStructures::List&lt; list_type &gt;::RemoveAtIndex()</a>, <a class="el" href="../../da/d66/string_8h_source.xhtml#l00323">SLNet::RakString::sharedString</a>, <a class="el" href="../../d9/d7f/_d_s___list_8h_source.xhtml#l00450">DataStructures::List&lt; list_type &gt;::Size()</a>, <a class="el" href="../../da/d66/string_8h_source.xhtml#l00316">SLNet::RakString::SharedString::smallString</a>, <a class="el" href="../../de/dd8/_simple_mutex_8cpp_source.xhtml#l00154">SLNet::SimpleMutex::Unlock()</a>, and <a class="el" href="../../dd/d5f/_rak_string_8cpp_source.xhtml#l01568">SLNet::RakString::UnlockMutex()</a>.</p>
</div>
</div>
<a class="anchor" id="af76d55fc01a3fb81a662b06b101f9409"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int porges_strlen2 </td>
<td>(</td>
<td class="paramtype">char *&#160;</td>
<td class="paramname"><em>s</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../dd/d5f/_rak_string_8cpp_source.xhtml#l00401">401</a> of file <a class="el" href="../../dd/d5f/_rak_string_8cpp_source.xhtml">RakString.cpp</a>.</p>
<p>Referenced by <a class="el" href="../../dd/d5f/_rak_string_8cpp_source.xhtml#l00429">SLNet::RakString::GetLengthUTF8()</a>.</p>
</div>
</div>
<h2 class="groupheader">Variable Documentation</h2>
<a class="anchor" id="a9f05dfbbc37a1b687d8c189d31411d12"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">RakStringCleanup cleanup</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="../../dd/d5f/_rak_string_8cpp_source.xhtml#l00048">48</a> of file <a class="el" href="../../dd/d5f/_rak_string_8cpp_source.xhtml">RakString.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_d1eb22c2ecfd8b50f59e9cbaf8260105.xhtml">src</a></li><li class="navelem"><a class="el" href="../../dd/d5f/_rak_string_8cpp.xhtml">RakString.cpp</a></li>
<li class="footer">Generated on Wed Aug 14 2019 22:09:48 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,51 @@
var class_s_l_net_1_1_c_c_rak_net_sliding_window =
[
[ "CCRakNetSlidingWindow", "dd/d68/class_s_l_net_1_1_c_c_rak_net_sliding_window.xhtml#a1121e95a320412448007afbcfb061fa2", null ],
[ "~CCRakNetSlidingWindow", "dd/d68/class_s_l_net_1_1_c_c_rak_net_sliding_window.xhtml#a5b04152942c61602b16b101e156d9d3a", null ],
[ "GetAndIncrementNextDatagramSequenceNumber", "dd/d68/class_s_l_net_1_1_c_c_rak_net_sliding_window.xhtml#a0f67214ccf63488a0e725e438cba8413", null ],
[ "GetBytesPerSecondLimitByCongestionControl", "dd/d68/class_s_l_net_1_1_c_c_rak_net_sliding_window.xhtml#a5377c3b1325d57b55434bd7ebd321529", null ],
[ "GetCWNDLimit", "dd/d68/class_s_l_net_1_1_c_c_rak_net_sliding_window.xhtml#a155b23fcc6d9b257f138461af236146d", null ],
[ "GetEstimatedBandwidth", "dd/d68/class_s_l_net_1_1_c_c_rak_net_sliding_window.xhtml#a82db94bcf151aad4c98f2bce35cbc22f", null ],
[ "GetIsInSlowStart", "dd/d68/class_s_l_net_1_1_c_c_rak_net_sliding_window.xhtml#a41c98801a45a7dfcc2c44048ba3a2baa", null ],
[ "GetLinkCapacityBytesPerSecond", "dd/d68/class_s_l_net_1_1_c_c_rak_net_sliding_window.xhtml#a7d19fddcc6ddf35711be1553266c4fd3", null ],
[ "GetLocalReceiveRate", "dd/d68/class_s_l_net_1_1_c_c_rak_net_sliding_window.xhtml#a1783f6e8ca3b9747cb83e2d0644e92d2", null ],
[ "GetLocalSendRate", "dd/d68/class_s_l_net_1_1_c_c_rak_net_sliding_window.xhtml#a5891f328a4bfc74d67450108b8c52196", null ],
[ "GetMTU", "dd/d68/class_s_l_net_1_1_c_c_rak_net_sliding_window.xhtml#a8e5cb3d407d0d7db1b4e069b6bdd2441", null ],
[ "GetNextDatagramSequenceNumber", "dd/d68/class_s_l_net_1_1_c_c_rak_net_sliding_window.xhtml#a6e5f5dbabedba16b5d531ac5f579b4b1", null ],
[ "GetRemoveReceiveRate", "dd/d68/class_s_l_net_1_1_c_c_rak_net_sliding_window.xhtml#a5088305a1a0ac88bd9ba93c18b2816b1", null ],
[ "GetRetransmissionBandwidth", "dd/d68/class_s_l_net_1_1_c_c_rak_net_sliding_window.xhtml#a0a570e7f1363a07aa5fc02f47a8fb1af", null ],
[ "GetRTOForRetransmission", "dd/d68/class_s_l_net_1_1_c_c_rak_net_sliding_window.xhtml#a733603474e772242a77a743996c788da", null ],
[ "GetRTT", "dd/d68/class_s_l_net_1_1_c_c_rak_net_sliding_window.xhtml#a9bbf601678f1fa50bd8cd6822bde5c34", null ],
[ "GetSenderRTOForACK", "dd/d68/class_s_l_net_1_1_c_c_rak_net_sliding_window.xhtml#a700e3d07b59bbbb0ca0005e6545d7d71", null ],
[ "GetTransmissionBandwidth", "dd/d68/class_s_l_net_1_1_c_c_rak_net_sliding_window.xhtml#a0240d5c3ea1246a1f95073749dfbd287", null ],
[ "GreaterThan", "dd/d68/class_s_l_net_1_1_c_c_rak_net_sliding_window.xhtml#a0dfce620bc2d00dcd87767d5282b969f", null ],
[ "Init", "dd/d68/class_s_l_net_1_1_c_c_rak_net_sliding_window.xhtml#a65ead904b5610bcb7b9d5aedbe2ba092", null ],
[ "IsInSlowStart", "dd/d68/class_s_l_net_1_1_c_c_rak_net_sliding_window.xhtml#a3e08ed316fddc6aa342b6b6b22cf2ed1", null ],
[ "LessThan", "dd/d68/class_s_l_net_1_1_c_c_rak_net_sliding_window.xhtml#a338c0e94028ac1e271b233ba2366c1ec", null ],
[ "OnAck", "dd/d68/class_s_l_net_1_1_c_c_rak_net_sliding_window.xhtml#a09b01f8b5f964fc14846501bbdb825ac", null ],
[ "OnDuplicateAck", "dd/d68/class_s_l_net_1_1_c_c_rak_net_sliding_window.xhtml#a84f89cd55d6b2e8898794c4280bf58ea", null ],
[ "OnGotPacket", "dd/d68/class_s_l_net_1_1_c_c_rak_net_sliding_window.xhtml#a2bfdcc41ab28fe3af677501e64eca96d", null ],
[ "OnGotPacketPair", "dd/d68/class_s_l_net_1_1_c_c_rak_net_sliding_window.xhtml#afaf69c11fd208e0c549d13079b0d184f", null ],
[ "OnNAK", "dd/d68/class_s_l_net_1_1_c_c_rak_net_sliding_window.xhtml#a931b1481ae951cecf678ecb0a60e16ab", null ],
[ "OnResend", "dd/d68/class_s_l_net_1_1_c_c_rak_net_sliding_window.xhtml#ac4b95cf1aac0b6da21f56406d91db0a9", null ],
[ "OnSendAck", "dd/d68/class_s_l_net_1_1_c_c_rak_net_sliding_window.xhtml#a4adf5daf407c0bf2445f08c4a0af147b", null ],
[ "OnSendAckGetBAndAS", "dd/d68/class_s_l_net_1_1_c_c_rak_net_sliding_window.xhtml#a4a983dc4841dc42558e3660617644796", null ],
[ "OnSendBytes", "dd/d68/class_s_l_net_1_1_c_c_rak_net_sliding_window.xhtml#a582e898a54d4dc5f946a511bcb724c78", null ],
[ "OnSendNACK", "dd/d68/class_s_l_net_1_1_c_c_rak_net_sliding_window.xhtml#afe1ad7ddf762afc2802508caac50d0d5", null ],
[ "SetMTU", "dd/d68/class_s_l_net_1_1_c_c_rak_net_sliding_window.xhtml#a565fbef9782e4ae5d1113036563e3e53", null ],
[ "ShouldSendACKs", "dd/d68/class_s_l_net_1_1_c_c_rak_net_sliding_window.xhtml#ae0bf8d4ef21a7e4a8abf7f4e424e182c", null ],
[ "Update", "dd/d68/class_s_l_net_1_1_c_c_rak_net_sliding_window.xhtml#af9c5cf2adc3ec317f165d8f3efef9768", null ],
[ "_isContinuousSend", "dd/d68/class_s_l_net_1_1_c_c_rak_net_sliding_window.xhtml#a18b35cd38cf16c3b7860e297353f155e", null ],
[ "backoffThisBlock", "dd/d68/class_s_l_net_1_1_c_c_rak_net_sliding_window.xhtml#ac17ef69900aeefc7c290e3f9b1a836fb", null ],
[ "cwnd", "dd/d68/class_s_l_net_1_1_c_c_rak_net_sliding_window.xhtml#ac7ec19f4ce6df6b2d5e21f17330f8d6e", null ],
[ "deviationRtt", "dd/d68/class_s_l_net_1_1_c_c_rak_net_sliding_window.xhtml#ac8d552b986fe04d789909b377ade2a0f", null ],
[ "estimatedRTT", "dd/d68/class_s_l_net_1_1_c_c_rak_net_sliding_window.xhtml#a31d66c05668f3d05f08d2d405e5b41eb", null ],
[ "expectedNextSequenceNumber", "dd/d68/class_s_l_net_1_1_c_c_rak_net_sliding_window.xhtml#a9bf408527629f8a98e9cf6ebf6d70d84", null ],
[ "lastRtt", "dd/d68/class_s_l_net_1_1_c_c_rak_net_sliding_window.xhtml#ad5ed60de06715a4a2455f563ce479a3c", null ],
[ "MAXIMUM_MTU_INCLUDING_UDP_HEADER", "dd/d68/class_s_l_net_1_1_c_c_rak_net_sliding_window.xhtml#afa36e77d1d60ef91d8ad186cc8166c89", null ],
[ "nextCongestionControlBlock", "dd/d68/class_s_l_net_1_1_c_c_rak_net_sliding_window.xhtml#abdf9a85716394acf4345c03ff944d683", null ],
[ "nextDatagramSequenceNumber", "dd/d68/class_s_l_net_1_1_c_c_rak_net_sliding_window.xhtml#ae19101f7f41f54027830d22d2c2e950d", null ],
[ "oldestUnsentAck", "dd/d68/class_s_l_net_1_1_c_c_rak_net_sliding_window.xhtml#a6daa3c9ea01cb4da42e7684457a5f736", null ],
[ "speedUpThisBlock", "dd/d68/class_s_l_net_1_1_c_c_rak_net_sliding_window.xhtml#a09ae3fbc0d4d0675096a2f21635be7c5", null ],
[ "ssThresh", "dd/d68/class_s_l_net_1_1_c_c_rak_net_sliding_window.xhtml#a49ae0029e074d8cf7159ec94e512e256", null ]
];

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,127 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>SLikeNet: Source/src/NetworkIDObject.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('dd/d6f/_network_i_d_object_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">NetworkIDObject.cpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><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="../../d1/d6d/_network_i_d_manager_8h_source.xhtml">slikenet/NetworkIDManager.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="../../d1/d42/alloca_8h_source.xhtml">slikenet/alloca.h</a>&quot;</code><br/>
</div>
<p><a href="../../dd/d6f/_network_i_d_object_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="../../dd/d6f/_network_i_d_object_8cpp.xhtml">NetworkIDObject.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,215 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>SLikeNet: Source/src/NetworkIDObject.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('dd/d6f/_network_i_d_object_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">NetworkIDObject.cpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="../../dd/d6f/_network_i_d_object_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/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="l00021"></a><span class="lineno"> 21</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="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="../../d1/d42/alloca_8h.xhtml">slikenet/alloca.h</a>&quot;</span></div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;</div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="keyword">using namespace </span>SLNet;</div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;</div>
<div class="line"><a name="l00027"></a><span class="lineno"><a class="code" href="../../db/d6d/class_s_l_net_1_1_network_i_d_object.xhtml#a5144a4e252f8cbabb96597a0a4ab9585"> 27</a></span>&#160;<a class="code" href="../../db/d6d/class_s_l_net_1_1_network_i_d_object.xhtml#a5144a4e252f8cbabb96597a0a4ab9585">NetworkIDObject::NetworkIDObject</a>()</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; <a class="code" href="../../db/d6d/class_s_l_net_1_1_network_i_d_object.xhtml#a62a653fcb9f81171a2100f409cc0ccba" title="The network ID of this object.">networkID</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="l00030"></a><span class="lineno"> 30</span>&#160; <a class="code" href="../../db/d6d/class_s_l_net_1_1_network_i_d_object.xhtml#a3e614cffca5b18a7cda522796eec5ec8" title="The parent set by SetParent()">parent</a>=0;</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160; <a class="code" href="../../db/d6d/class_s_l_net_1_1_network_i_d_object.xhtml#af0932af4fc1002805d02283370d63da4">networkIDManager</a>=0;</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160; <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="l00033"></a><span class="lineno"> 33</span>&#160;}</div>
<div class="line"><a name="l00034"></a><span class="lineno"><a class="code" href="../../db/d6d/class_s_l_net_1_1_network_i_d_object.xhtml#ae9c88e33440facce2589c023bbe7e21f"> 34</a></span>&#160;<a class="code" href="../../db/d6d/class_s_l_net_1_1_network_i_d_object.xhtml#ae9c88e33440facce2589c023bbe7e21f">NetworkIDObject::~NetworkIDObject</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; <span class="keywordflow">if</span> (<a class="code" href="../../db/d6d/class_s_l_net_1_1_network_i_d_object.xhtml#af0932af4fc1002805d02283370d63da4">networkIDManager</a>)</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; <a class="code" href="../../db/d6d/class_s_l_net_1_1_network_i_d_object.xhtml#af0932af4fc1002805d02283370d63da4">networkIDManager</a>-&gt;<a class="code" href="../../d9/dbd/class_s_l_net_1_1_network_i_d_manager.xhtml#a0ce0cc668b8ab18cb17a9d170086d612">StopTrackingNetworkIDObject</a>(<span class="keyword">this</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"><a class="code" href="../../db/d6d/class_s_l_net_1_1_network_i_d_object.xhtml#a0f1b74caa0ccc03c590be9ce363bf98d"> 39</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../db/d6d/class_s_l_net_1_1_network_i_d_object.xhtml#a0f1b74caa0ccc03c590be9ce363bf98d">NetworkIDObject::SetNetworkIDManager</a>( <a class="code" href="../../d9/dbd/class_s_l_net_1_1_network_i_d_manager.xhtml">NetworkIDManager</a> *manager)</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="keywordflow">if</span> (manager==<a class="code" href="../../db/d6d/class_s_l_net_1_1_network_i_d_object.xhtml#af0932af4fc1002805d02283370d63da4">networkIDManager</a>)</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; <span class="keywordflow">return</span>;</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; <span class="keywordflow">if</span> (<a class="code" href="../../db/d6d/class_s_l_net_1_1_network_i_d_object.xhtml#af0932af4fc1002805d02283370d63da4">networkIDManager</a>)</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; <a class="code" href="../../db/d6d/class_s_l_net_1_1_network_i_d_object.xhtml#af0932af4fc1002805d02283370d63da4">networkIDManager</a>-&gt;<a class="code" href="../../d9/dbd/class_s_l_net_1_1_network_i_d_manager.xhtml#a0ce0cc668b8ab18cb17a9d170086d612">StopTrackingNetworkIDObject</a>(<span class="keyword">this</span>);</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="../../db/d6d/class_s_l_net_1_1_network_i_d_object.xhtml#af0932af4fc1002805d02283370d63da4">networkIDManager</a>=manager;</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="../../db/d6d/class_s_l_net_1_1_network_i_d_object.xhtml#af0932af4fc1002805d02283370d63da4">networkIDManager</a>==0)</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; <a class="code" href="../../db/d6d/class_s_l_net_1_1_network_i_d_object.xhtml#a62a653fcb9f81171a2100f409cc0ccba" title="The network ID of this object.">networkID</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="l00051"></a><span class="lineno"> 51</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; }</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; </div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="../../db/d6d/class_s_l_net_1_1_network_i_d_object.xhtml#a62a653fcb9f81171a2100f409cc0ccba" title="The network ID of this object.">networkID</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="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">// Prior ID not set</span></div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; <a class="code" href="../../db/d6d/class_s_l_net_1_1_network_i_d_object.xhtml#a62a653fcb9f81171a2100f409cc0ccba" title="The network ID of this object.">networkID</a> = <a class="code" href="../../db/d6d/class_s_l_net_1_1_network_i_d_object.xhtml#af0932af4fc1002805d02283370d63da4">networkIDManager</a>-&gt;<a class="code" href="../../d9/dbd/class_s_l_net_1_1_network_i_d_manager.xhtml#ab8bd3567cbbcf379e4dc74da07e119f5">GetNewNetworkID</a>();</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; }</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <a class="code" href="../../db/d6d/class_s_l_net_1_1_network_i_d_object.xhtml#af0932af4fc1002805d02283370d63da4">networkIDManager</a>-&gt;<a class="code" href="../../d9/dbd/class_s_l_net_1_1_network_i_d_manager.xhtml#a06b9ed71964f79b5974885cd4c77110c">TrackNetworkIDObject</a>(<span class="keyword">this</span>);</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"><a class="code" href="../../db/d6d/class_s_l_net_1_1_network_i_d_object.xhtml#a70b4753f2b55dece5e08fc7122f5fb0a"> 62</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="../../db/d6d/class_s_l_net_1_1_network_i_d_object.xhtml#a70b4753f2b55dece5e08fc7122f5fb0a" title="Returns what was passed to SetNetworkIDManager.">NetworkIDObject::GetNetworkIDManager</a>( <span class="keywordtype">void</span> )<span class="keyword"> const</span></div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; <span class="keywordflow">return</span> <a class="code" href="../../db/d6d/class_s_l_net_1_1_network_i_d_object.xhtml#af0932af4fc1002805d02283370d63da4">networkIDManager</a>;</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"><a class="code" href="../../db/d6d/class_s_l_net_1_1_network_i_d_object.xhtml#a1d98d33a63964e2c7b566e472c121a6d"> 66</a></span>&#160;<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#aa616a13e58b2ffd2c3161609610b256d">NetworkID</a> <a class="code" href="../../db/d6d/class_s_l_net_1_1_network_i_d_object.xhtml#a1d98d33a63964e2c7b566e472c121a6d">NetworkIDObject::GetNetworkID</a>( <span class="keywordtype">void</span> )</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;{</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; <span class="keywordflow">return</span> <a class="code" href="../../db/d6d/class_s_l_net_1_1_network_i_d_object.xhtml#a62a653fcb9f81171a2100f409cc0ccba" title="The network ID of this object.">networkID</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"><a class="code" href="../../db/d6d/class_s_l_net_1_1_network_i_d_object.xhtml#a61d97a28ee8a5336fd9f55165c401a11"> 70</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../db/d6d/class_s_l_net_1_1_network_i_d_object.xhtml#a61d97a28ee8a5336fd9f55165c401a11">NetworkIDObject::SetNetworkID</a>( <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#aa616a13e58b2ffd2c3161609610b256d">NetworkID</a> <span class="keywordtype">id</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="keywordflow">if</span> (<a class="code" href="../../db/d6d/class_s_l_net_1_1_network_i_d_object.xhtml#a62a653fcb9f81171a2100f409cc0ccba" title="The network ID of this object.">networkID</a>==<span class="keywordtype">id</span>)</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <span class="keywordflow">if</span> ( <span class="keywordtype">id</span> == <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="l00076"></a><span class="lineno"> 76</span>&#160; {</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <a class="code" href="../../db/d6d/class_s_l_net_1_1_network_i_d_object.xhtml#a0f1b74caa0ccc03c590be9ce363bf98d">SetNetworkIDManager</a>(0);</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; }</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; <span class="keywordflow">if</span> ( <a class="code" href="../../db/d6d/class_s_l_net_1_1_network_i_d_object.xhtml#af0932af4fc1002805d02283370d63da4">networkIDManager</a> )</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; <a class="code" href="../../db/d6d/class_s_l_net_1_1_network_i_d_object.xhtml#af0932af4fc1002805d02283370d63da4">networkIDManager</a>-&gt;<a class="code" href="../../d9/dbd/class_s_l_net_1_1_network_i_d_manager.xhtml#a0ce0cc668b8ab18cb17a9d170086d612">StopTrackingNetworkIDObject</a>(<span class="keyword">this</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; <a class="code" href="../../db/d6d/class_s_l_net_1_1_network_i_d_object.xhtml#a62a653fcb9f81171a2100f409cc0ccba" title="The network ID of this object.">networkID</a> = id;</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> (<a class="code" href="../../db/d6d/class_s_l_net_1_1_network_i_d_object.xhtml#af0932af4fc1002805d02283370d63da4">networkIDManager</a>)</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; <a class="code" href="../../db/d6d/class_s_l_net_1_1_network_i_d_object.xhtml#af0932af4fc1002805d02283370d63da4">networkIDManager</a>-&gt;<a class="code" href="../../d9/dbd/class_s_l_net_1_1_network_i_d_manager.xhtml#a06b9ed71964f79b5974885cd4c77110c">TrackNetworkIDObject</a>(<span class="keyword">this</span>);</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160;}</div>
<div class="line"><a name="l00089"></a><span class="lineno"><a class="code" href="../../db/d6d/class_s_l_net_1_1_network_i_d_object.xhtml#a48e4297abc90c622b9647053356feb82"> 89</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../db/d6d/class_s_l_net_1_1_network_i_d_object.xhtml#a48e4297abc90c622b9647053356feb82">NetworkIDObject::SetParent</a>( <span class="keywordtype">void</span> *_parent )</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; <a class="code" href="../../db/d6d/class_s_l_net_1_1_network_i_d_object.xhtml#a3e614cffca5b18a7cda522796eec5ec8" title="The parent set by SetParent()">parent</a>=_parent;</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"><a class="code" href="../../db/d6d/class_s_l_net_1_1_network_i_d_object.xhtml#aa6d1dd6b4647f677b9c5a0031940d0a6"> 93</a></span>&#160;<span class="keywordtype">void</span>* <a class="code" href="../../db/d6d/class_s_l_net_1_1_network_i_d_object.xhtml#aa6d1dd6b4647f677b9c5a0031940d0a6">NetworkIDObject::GetParent</a>( <span class="keywordtype">void</span> )<span class="keyword"> const</span></div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <span class="keywordflow">return</span> <a class="code" href="../../db/d6d/class_s_l_net_1_1_network_i_d_object.xhtml#a3e614cffca5b18a7cda522796eec5ec8" title="The parent set by SetParent()">parent</a>;</div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</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="../../dd/d6f/_network_i_d_object_8cpp.xhtml">NetworkIDObject.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,126 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>SLikeNet: Source/src/DS_BytePool.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('dd/d79/_d_s___byte_pool_8cpp.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">DS_BytePool.cpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &quot;<a class="el" href="../../d4/dc7/_d_s___byte_pool_8h_source.xhtml">slikenet/DS_BytePool.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../dc/da7/assert_8h_source.xhtml">slikenet/assert.h</a>&quot;</code><br/>
<code>#include &lt;stdlib.h&gt;</code><br/>
</div>
<p><a href="../../dd/d79/_d_s___byte_pool_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="../../dd/d79/_d_s___byte_pool_8cpp.xhtml">DS_BytePool.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,285 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>SLikeNet: Source/src/DS_BytePool.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('dd/d79/_d_s___byte_pool_8cpp_source.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">DS_BytePool.cpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="../../dd/d79/_d_s___byte_pool_8cpp.xhtml">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> * Copyright (c) 2014, Oculus VR, Inc.</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> * All rights reserved.</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> * This source code is licensed under the BSD-style license found in the</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> * RakNet License.txt file in the licenses directory of this source tree. An additional grant </span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> * of patent rights can be found in the RakNet Patents.txt file in the same directory.</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment"> * Modified work: Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> * This source code was modified by SLikeSoft. Modifications are licensed under the MIT-style</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> * license found in the license.txt file in the root directory of this source tree.</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;</div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../d4/dc7/_d_s___byte_pool_8h.xhtml">slikenet/DS_BytePool.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="../../dc/da7/assert_8h.xhtml">slikenet/assert.h</a>&quot;</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="preprocessor">#ifndef __APPLE__</span></div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="preprocessor"></span><span class="comment">// Use stdlib and not malloc for compatibility</span></div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="preprocessor">#include &lt;stdlib.h&gt;</span></div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="preprocessor">#endif</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="keyword">using namespace </span>DataStructures;</div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;</div>
<div class="line"><a name="l00025"></a><span class="lineno"><a class="code" href="../../d4/dca/class_data_structures_1_1_byte_pool.xhtml#afbffee8929e4e18fc46997c913525f00"> 25</a></span>&#160;<a class="code" href="../../d4/dca/class_data_structures_1_1_byte_pool.xhtml#afbffee8929e4e18fc46997c913525f00">BytePool::BytePool</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; <a class="code" href="../../d4/dca/class_data_structures_1_1_byte_pool.xhtml#a9f8b53fbf7656990b1394b23640c49c4">pool128</a>.<a class="code" href="../../de/df9/class_data_structures_1_1_memory_pool.xhtml#a92a68a997a047d96bb08bee6ea84858a">SetPageSize</a>(8192*4);</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; <a class="code" href="../../d4/dca/class_data_structures_1_1_byte_pool.xhtml#a79738ca5b1e198b07a2f42b903e52a3c">pool512</a>.<a class="code" href="../../de/df9/class_data_structures_1_1_memory_pool.xhtml#a92a68a997a047d96bb08bee6ea84858a">SetPageSize</a>(8192*4);</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160; <a class="code" href="../../d4/dca/class_data_structures_1_1_byte_pool.xhtml#aa342dcec14441134eb4c236fed4ce343">pool2048</a>.<a class="code" href="../../de/df9/class_data_structures_1_1_memory_pool.xhtml#a92a68a997a047d96bb08bee6ea84858a">SetPageSize</a>(8192*4);</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; <a class="code" href="../../d4/dca/class_data_structures_1_1_byte_pool.xhtml#a031434fb036ed4546d3b6bae0de7ea17">pool8192</a>.<a class="code" href="../../de/df9/class_data_structures_1_1_memory_pool.xhtml#a92a68a997a047d96bb08bee6ea84858a">SetPageSize</a>(8192*4);</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/dca/class_data_structures_1_1_byte_pool.xhtml#a497b9b00ad6eb879a1529b8b821fb924"> 32</a></span>&#160;<a class="code" href="../../d4/dca/class_data_structures_1_1_byte_pool.xhtml#a497b9b00ad6eb879a1529b8b821fb924">BytePool::~BytePool</a>()</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;{</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;}</div>
<div class="line"><a name="l00035"></a><span class="lineno"><a class="code" href="../../d4/dca/class_data_structures_1_1_byte_pool.xhtml#af652b2d8cd50e83addc69ec68fbbcaf0"> 35</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../d4/dca/class_data_structures_1_1_byte_pool.xhtml#af652b2d8cd50e83addc69ec68fbbcaf0">BytePool::SetPageSize</a>(<span class="keywordtype">int</span> size)</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;{</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; <a class="code" href="../../d4/dca/class_data_structures_1_1_byte_pool.xhtml#a9f8b53fbf7656990b1394b23640c49c4">pool128</a>.<a class="code" href="../../de/df9/class_data_structures_1_1_memory_pool.xhtml#a92a68a997a047d96bb08bee6ea84858a">SetPageSize</a>(size);</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#a79738ca5b1e198b07a2f42b903e52a3c">pool512</a>.<a class="code" href="../../de/df9/class_data_structures_1_1_memory_pool.xhtml#a92a68a997a047d96bb08bee6ea84858a">SetPageSize</a>(size);</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#aa342dcec14441134eb4c236fed4ce343">pool2048</a>.<a class="code" href="../../de/df9/class_data_structures_1_1_memory_pool.xhtml#a92a68a997a047d96bb08bee6ea84858a">SetPageSize</a>(size);</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; <a class="code" href="../../d4/dca/class_data_structures_1_1_byte_pool.xhtml#a031434fb036ed4546d3b6bae0de7ea17">pool8192</a>.<a class="code" href="../../de/df9/class_data_structures_1_1_memory_pool.xhtml#a92a68a997a047d96bb08bee6ea84858a">SetPageSize</a>(size);</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="../../d4/dca/class_data_structures_1_1_byte_pool.xhtml#af56b69abcc9e32c3be33e5e8b7b2c46b"> 42</a></span>&#160;<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *<a class="code" href="../../d4/dca/class_data_structures_1_1_byte_pool.xhtml#af56b69abcc9e32c3be33e5e8b7b2c46b">BytePool::Allocate</a>(<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;{</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;<span class="preprocessor">#ifdef _DISABLE_BYTE_POOL</span></div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;<span class="preprocessor"></span> <span class="keywordflow">return</span> <a class="code" href="../../d9/d4c/_rak_memory_override_8cpp.xhtml#aebeb2e4754399ea3e2c7af3dd9bbe8c3">rakMalloc_Ex</a>(bytesWanted, <a class="code" href="../../d8/db0/defines_8h.xhtml#a8661ec2137eef33a8cd0cd618a748871">_FILE_AND_LINE_</a>);</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;<span class="preprocessor"></span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *out;</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; <span class="keywordflow">if</span> (bytesWanted &lt;= 127)</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="preprocessor"> #ifdef _THREADSAFE_BYTE_POOL</span></div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;<span class="preprocessor"></span> mutex128.Lock();</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;<span class="preprocessor"> #endif</span></div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;<span class="preprocessor"></span> out = (<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>*) <a class="code" href="../../d4/dca/class_data_structures_1_1_byte_pool.xhtml#a9f8b53fbf7656990b1394b23640c49c4">pool128</a>.<a class="code" href="../../de/df9/class_data_structures_1_1_memory_pool.xhtml#af59cca601f390601953e37c46deca03a">Allocate</a>(file, line);</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;<span class="preprocessor"> #ifdef _THREADSAFE_BYTE_POOL</span></div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;<span class="preprocessor"></span> mutex128.Unlock();</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;<span class="preprocessor"> #endif</span></div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;<span class="preprocessor"></span> out[0]=0;</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <span class="keywordflow">return</span> ((<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>*) out)+1;</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; }</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <span class="keywordflow">if</span> (bytesWanted &lt;= 511)</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="preprocessor"> #ifdef _THREADSAFE_BYTE_POOL</span></div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;<span class="preprocessor"></span> mutex512.Lock();</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;<span class="preprocessor"> #endif</span></div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;<span class="preprocessor"></span> out = (<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>*) <a class="code" href="../../d4/dca/class_data_structures_1_1_byte_pool.xhtml#a79738ca5b1e198b07a2f42b903e52a3c">pool512</a>.<a class="code" href="../../de/df9/class_data_structures_1_1_memory_pool.xhtml#af59cca601f390601953e37c46deca03a">Allocate</a>(file, line);</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;<span class="preprocessor"> #ifdef _THREADSAFE_BYTE_POOL</span></div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;<span class="preprocessor"></span> mutex512.Unlock();</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;<span class="preprocessor"> #endif</span></div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;<span class="preprocessor"></span> out[0]=1;</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <span class="keywordflow">return</span> ((<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>*) out)+1;</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; }</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <span class="keywordflow">if</span> (bytesWanted &lt;= 2047)</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="preprocessor"> #ifdef _THREADSAFE_BYTE_POOL</span></div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;<span class="preprocessor"></span> mutex2048.Lock();</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160;<span class="preprocessor"> #endif</span></div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160;<span class="preprocessor"></span> out = (<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>*) <a class="code" href="../../d4/dca/class_data_structures_1_1_byte_pool.xhtml#aa342dcec14441134eb4c236fed4ce343">pool2048</a>.<a class="code" href="../../de/df9/class_data_structures_1_1_memory_pool.xhtml#af59cca601f390601953e37c46deca03a">Allocate</a>(file, line);</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;<span class="preprocessor"> #ifdef _THREADSAFE_BYTE_POOL</span></div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;<span class="preprocessor"></span> mutex2048.Unlock();</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;<span class="preprocessor"> #endif</span></div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160;<span class="preprocessor"></span> out[0]=2;</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; <span class="keywordflow">return</span> ((<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>*) out)+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> (bytesWanted &lt;= 8191)</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="preprocessor"> #ifdef _THREADSAFE_BYTE_POOL</span></div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160;<span class="preprocessor"></span> mutex8192.Lock();</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160;<span class="preprocessor"> #endif</span></div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;<span class="preprocessor"></span> out = (<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>*) <a class="code" href="../../d4/dca/class_data_structures_1_1_byte_pool.xhtml#a031434fb036ed4546d3b6bae0de7ea17">pool8192</a>.<a class="code" href="../../de/df9/class_data_structures_1_1_memory_pool.xhtml#af59cca601f390601953e37c46deca03a">Allocate</a>(file, line);</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160;<span class="preprocessor"> #ifdef _THREADSAFE_BYTE_POOL</span></div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160;<span class="preprocessor"></span> mutex8192.Unlock();</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160;<span class="preprocessor"> #endif</span></div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160;<span class="preprocessor"></span> out[0]=3;</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <span class="keywordflow">return</span> ((<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>*) out)+1;</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; }</div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160;</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; out = (<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>*) <a class="code" href="../../d9/d4c/_rak_memory_override_8cpp.xhtml#aebeb2e4754399ea3e2c7af3dd9bbe8c3">rakMalloc_Ex</a>(bytesWanted+1, <a class="code" href="../../d8/db0/defines_8h.xhtml#a8661ec2137eef33a8cd0cd618a748871">_FILE_AND_LINE_</a>);</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; out[0]=(<span class="keywordtype">unsigned</span> char)255;</div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; <span class="keywordflow">return</span> out+1;</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"><a class="code" href="../../d4/dca/class_data_structures_1_1_byte_pool.xhtml#afa7e905b4374ca7eb576504018fcc521"> 101</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../d4/dca/class_data_structures_1_1_byte_pool.xhtml#afa7e905b4374ca7eb576504018fcc521">BytePool::Release</a>(<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="l00102"></a><span class="lineno"> 102</span>&#160;{</div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;<span class="preprocessor">#ifdef _DISABLE_BYTE_POOL</span></div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;<span class="preprocessor"></span> _rakFree_Ex(data, <a class="code" href="../../d8/db0/defines_8h.xhtml#a8661ec2137eef33a8cd0cd618a748871">_FILE_AND_LINE_</a> );</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;<span class="preprocessor"></span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *realData = data-1;</div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <span class="keywordflow">switch</span> (realData[0])</div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; {</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <span class="keywordflow">case</span> 0:</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;<span class="preprocessor"> #ifdef _THREADSAFE_BYTE_POOL</span></div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;<span class="preprocessor"></span> mutex128.Lock();</div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;<span class="preprocessor"> #endif</span></div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;<span class="preprocessor"></span> <a class="code" href="../../d4/dca/class_data_structures_1_1_byte_pool.xhtml#a9f8b53fbf7656990b1394b23640c49c4">pool128</a>.<a class="code" href="../../de/df9/class_data_structures_1_1_memory_pool.xhtml#abd282ac19fb6b29ee31c7e11d3b6131d">Release</a>((<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>(*)[128]) realData, file, line );</div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;<span class="preprocessor"> #ifdef _THREADSAFE_BYTE_POOL</span></div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;<span class="preprocessor"></span> mutex128.Unlock();</div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;<span class="preprocessor"> #endif</span></div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;<span class="preprocessor"></span> <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <span class="keywordflow">case</span> 1:</div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;<span class="preprocessor"> #ifdef _THREADSAFE_BYTE_POOL</span></div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;<span class="preprocessor"></span> mutex512.Lock();</div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;<span class="preprocessor"> #endif</span></div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;<span class="preprocessor"></span> <a class="code" href="../../d4/dca/class_data_structures_1_1_byte_pool.xhtml#a79738ca5b1e198b07a2f42b903e52a3c">pool512</a>.<a class="code" href="../../de/df9/class_data_structures_1_1_memory_pool.xhtml#abd282ac19fb6b29ee31c7e11d3b6131d">Release</a>((<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>(*)[512]) realData, file, line );</div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;<span class="preprocessor"> #ifdef _THREADSAFE_BYTE_POOL</span></div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;<span class="preprocessor"></span> mutex512.Unlock();</div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;<span class="preprocessor"> #endif</span></div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;<span class="preprocessor"></span> <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <span class="keywordflow">case</span> 2:</div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160;<span class="preprocessor"> #ifdef _THREADSAFE_BYTE_POOL</span></div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;<span class="preprocessor"></span> mutex2048.Lock();</div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;<span class="preprocessor"> #endif</span></div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160;<span class="preprocessor"></span> <a class="code" href="../../d4/dca/class_data_structures_1_1_byte_pool.xhtml#aa342dcec14441134eb4c236fed4ce343">pool2048</a>.<a class="code" href="../../de/df9/class_data_structures_1_1_memory_pool.xhtml#abd282ac19fb6b29ee31c7e11d3b6131d">Release</a>((<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>(*)[2048]) realData, file, line );</div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;<span class="preprocessor"> #ifdef _THREADSAFE_BYTE_POOL</span></div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;<span class="preprocessor"></span> mutex2048.Unlock();</div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;<span class="preprocessor"> #endif</span></div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;<span class="preprocessor"></span> <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; <span class="keywordflow">case</span> 3:</div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160;<span class="preprocessor"> #ifdef _THREADSAFE_BYTE_POOL</span></div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;<span class="preprocessor"></span> mutex8192.Lock();</div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;<span class="preprocessor"> #endif</span></div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160;<span class="preprocessor"></span> <a class="code" href="../../d4/dca/class_data_structures_1_1_byte_pool.xhtml#a031434fb036ed4546d3b6bae0de7ea17">pool8192</a>.<a class="code" href="../../de/df9/class_data_structures_1_1_memory_pool.xhtml#abd282ac19fb6b29ee31c7e11d3b6131d">Release</a>((<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>(*)[8192]) realData, file, line );</div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160;<span class="preprocessor"> #ifdef _THREADSAFE_BYTE_POOL</span></div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;<span class="preprocessor"></span> mutex8192.Unlock();</div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;<span class="preprocessor"> #endif</span></div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160;<span class="preprocessor"></span> <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; <span class="keywordflow">case</span> 255:</div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; <a class="code" href="../../d9/d4c/_rak_memory_override_8cpp.xhtml#ab91fbe0570bf501cd97a53c6cffcef8f">rakFree_Ex</a>(realData, file, line );</div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; <span class="keywordflow">default</span>:</div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; <a class="code" href="../../d8/db0/defines_8h.xhtml#afaa3647d29f5960651eb23fd3d2b5368">RakAssert</a>(0);</div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; <span class="keywordflow">break</span>;</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;}</div>
<div class="line"><a name="l00153"></a><span class="lineno"><a class="code" href="../../d4/dca/class_data_structures_1_1_byte_pool.xhtml#a5a230f45733727cdf42a4211b4ab7983"> 153</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../d4/dca/class_data_structures_1_1_byte_pool.xhtml#a5a230f45733727cdf42a4211b4ab7983">BytePool::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="l00154"></a><span class="lineno"> 154</span>&#160;{</div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; (void) file;</div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; (void) line;</div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160;</div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;<span class="preprocessor">#ifdef _THREADSAFE_BYTE_POOL</span></div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160;<span class="preprocessor"></span> <a class="code" href="../../d4/dca/class_data_structures_1_1_byte_pool.xhtml#a9f8b53fbf7656990b1394b23640c49c4">pool128</a>.<a class="code" href="../../de/df9/class_data_structures_1_1_memory_pool.xhtml#a2e91807b7e7fe95ee3c3d503fb8e6207">Clear</a>(file, line);</div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; <a class="code" href="../../d4/dca/class_data_structures_1_1_byte_pool.xhtml#a79738ca5b1e198b07a2f42b903e52a3c">pool512</a>.<a class="code" href="../../de/df9/class_data_structures_1_1_memory_pool.xhtml#a2e91807b7e7fe95ee3c3d503fb8e6207">Clear</a>(file, line);</div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; <a class="code" href="../../d4/dca/class_data_structures_1_1_byte_pool.xhtml#aa342dcec14441134eb4c236fed4ce343">pool2048</a>.<a class="code" href="../../de/df9/class_data_structures_1_1_memory_pool.xhtml#a2e91807b7e7fe95ee3c3d503fb8e6207">Clear</a>(file, line);</div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; <a class="code" href="../../d4/dca/class_data_structures_1_1_byte_pool.xhtml#a031434fb036ed4546d3b6bae0de7ea17">pool8192</a>.<a class="code" href="../../de/df9/class_data_structures_1_1_memory_pool.xhtml#a2e91807b7e7fe95ee3c3d503fb8e6207">Clear</a>(file, line);</div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160;<span class="preprocessor"></span>}</div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_74389ed8173ad57b461b9d623a1f3867.xhtml">Source</a></li><li class="navelem"><a class="el" href="../../dir_d1eb22c2ecfd8b50f59e9cbaf8260105.xhtml">src</a></li><li class="navelem"><a class="el" href="../../dd/d79/_d_s___byte_pool_8cpp.xhtml">DS_BytePool.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,153 @@
<!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/peerinterface.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('dd/d85/peerinterface_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">peerinterface.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>An interface for RakPeer. Simply contains all user functions as pure virtuals.
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="../../d7/d03/_packet_priority_8h_source.xhtml">PacketPriority.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../d9/d49/types_8h_source.xhtml">types.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../dd/dc5/memoryoverride_8h_source.xhtml">memoryoverride.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../db/dbd/_export_8h_source.xhtml">Export.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../d9/d7f/_d_s___list_8h_source.xhtml">DS_List.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../dc/df7/smartptr_8h_source.xhtml">smartptr.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../df/ded/socket2_8h_source.xhtml">socket2.h</a>&quot;</code><br/>
</div>
<p><a href="../../dd/d85/peerinterface_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="../../da/d27/class_s_l_net_1_1_rak_peer_interface.xhtml">SLNet::RakPeerInterface</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">The main interface for network communications. <a href="../../da/d27/class_s_l_net_1_1_rak_peer_interface.xhtml#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:dd/d30/namespace_s_l_net"><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d30/namespace_s_l_net.xhtml">SLNet</a></td></tr>
<tr class="memdesc:dd/d30/namespace_s_l_net"><td class="mdescLeft">&#160;</td><td class="mdescRight">Simple class to send changes between directories. In essence, a simple autopatcher that can be used for transmitting levels, skins, etc. <br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>An interface for RakPeer. Simply contains all user functions as pure virtuals. </p>
<p>Definition in file <a class="el" href="../../dd/d85/peerinterface_8h_source.xhtml">peerinterface.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="../../dd/d85/peerinterface_8h.xhtml">peerinterface.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,371 @@
<!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/peerinterface.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('dd/d85/peerinterface_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">peerinterface.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="../../dd/d85/peerinterface_8h.xhtml">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> * Original work: Copyright (c) 2014, Oculus VR, Inc.</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> * All rights reserved.</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> * This source code is licensed under the BSD-style license found in the</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> * RakNet License.txt file in the licenses directory of this source tree. An additional grant </span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> * of patent rights can be found in the RakNet Patents.txt file in the same directory.</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment"> * Modified work: Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> * This source code was modified by SLikeSoft. Modifications are licensed under the MIT-style</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> * license found in the license.txt file in the root directory of this source tree.</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;</div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;</div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;</div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;</div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="preprocessor">#ifndef __RAK_PEER_INTERFACE_H</span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define __RAK_PEER_INTERFACE_H</span></div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../d7/d03/_packet_priority_8h.xhtml" title="This file contains enumerations for packet priority and reliability enumerations.">PacketPriority.h</a>&quot;</span></div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../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="../../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="l00028"></a><span class="lineno"> 28</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="l00029"></a><span class="lineno"> 29</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../d9/d7f/_d_s___list_8h.xhtml">DS_List.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="../../dc/df7/smartptr_8h.xhtml">smartptr.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="../../df/ded/socket2_8h.xhtml">socket2.h</a>&quot;</span></div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="keyword">namespace </span>SLNet</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;{</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="comment">// Forward declarations</span></div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="keyword">class </span>BitStream;</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="keyword">class </span>PluginInterface2;</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;<span class="keyword">struct </span>RPCMap;</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;<span class="keyword">struct </span>RakNetStatistics;</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;<span class="keyword">struct </span>RakNetBandwidth;</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;<span class="keyword">class </span>RouterInterface;</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;<span class="keyword">class </span>NetworkIDManager;</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;</div>
<div class="line"><a name="l00047"></a><span class="lineno"><a class="code" href="../../da/d27/class_s_l_net_1_1_rak_peer_interface.xhtml"> 47</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="../../da/d27/class_s_l_net_1_1_rak_peer_interface.xhtml" title="The main interface for network communications.">RakPeerInterface</a></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="keyword">public</span>:</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <span class="comment">// GetInstance() and DestroyInstance(instance*)</span></div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <a class="code" href="../../db/dbd/_export_8h.xhtml#af3e49377f340027d211b2814949efc48">STATIC_FACTORY_DECLARATIONS</a>(<a class="code" href="../../da/d27/class_s_l_net_1_1_rak_peer_interface.xhtml" title="The main interface for network communications.">RakPeerInterface</a>)</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; </div>
<div class="line"><a name="l00054"></a><span class="lineno"><a class="code" href="../../da/d27/class_s_l_net_1_1_rak_peer_interface.xhtml#a80e1bedeb306c872cae6cbc7ef6e0c9d"> 54</a></span>&#160; virtual ~<a class="code" href="../../da/d27/class_s_l_net_1_1_rak_peer_interface.xhtml" title="The main interface for network communications.">RakPeerInterface</a>() {}</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">// --------------------------------------------------------------------------------------------Major Low Level Functions - Functions needed by most users--------------------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;<span class="comment"></span> <span class="keyword">virtual</span> <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#aced2e22b5f3b0b55dfadd3d9c6d578b9">StartupResult</a> Startup( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> maxConnections, <a class="code" href="../../dc/d06/struct_s_l_net_1_1_socket_descriptor.xhtml" title="Describes the local socket to use for RakPeer::Startup.">SocketDescriptor</a> *socketDescriptors, <span class="keywordtype">unsigned</span> socketDescriptorCount, <span class="keywordtype">int</span> threadPriority=-99999 )=0;</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> InitializeSecurity( <span class="keyword">const</span> <span class="keywordtype">char</span> *publicKey, <span class="keyword">const</span> <span class="keywordtype">char</span> *privateKey, <span class="keywordtype">bool</span> bRequireClientKey = <span class="keyword">false</span> )=0;</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160;</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> DisableSecurity( <span class="keywordtype">void</span> )=0;</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</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> AddToSecurityExceptionList(<span class="keyword">const</span> <span class="keywordtype">char</span> *ip)=0;</div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160;</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> RemoveFromSecurityExceptionList(<span class="keyword">const</span> <span class="keywordtype">char</span> *ip)=0;</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160;</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> IsInSecurityExceptionList(<span class="keyword">const</span> <span class="keywordtype">char</span> *ip)=0;</div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160;</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> SetMaximumIncomingConnections( <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> numberAllowed )=0;</div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> GetMaximumIncomingConnections( <span class="keywordtype">void</span> ) <span class="keyword">const</span>=0;</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> NumberOfConnections(<span class="keywordtype">void</span>) <span class="keyword">const</span>=0;</div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;</div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> SetIncomingPassword( <span class="keyword">const</span> <span class="keywordtype">char</span>* passwordData, <span class="keywordtype">int</span> passwordDataLength )=0;</div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;</div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> GetIncomingPassword( <span class="keywordtype">char</span>* passwordData, <span class="keywordtype">int</span> *passwordDataLength )=0;</div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;</div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <span class="keyword">virtual</span> <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ad85150b9d0728bb436c26e00b4ba7c3a">ConnectionAttemptResult</a> Connect( <span class="keyword">const</span> <span class="keywordtype">char</span>* host, <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> remotePort, <span class="keyword">const</span> <span class="keywordtype">char</span> *passwordData, <span class="keywordtype">int</span> passwordDataLength, <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#d0/dc8/struct_s_l_net_1_1_public_key" title="Passed to RakPeerInterface::Connect()">PublicKey</a> *publicKey=0, <span class="keywordtype">unsigned</span> connectionSocketIndex=0, <span class="keywordtype">unsigned</span> sendConnectionAttemptCount=12, <span class="keywordtype">unsigned</span> timeBetweenSendConnectionAttemptsMS=500, <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a26b4eb1be8467562f791e3c5af4a67ae">SLNet::TimeMS</a> timeoutTime=0 )=0;</div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160;</div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; <span class="keyword">virtual</span> <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ad85150b9d0728bb436c26e00b4ba7c3a">ConnectionAttemptResult</a> ConnectWithSocket(<span class="keyword">const</span> <span class="keywordtype">char</span>* host, <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> remotePort, <span class="keyword">const</span> <span class="keywordtype">char</span> *passwordData, <span class="keywordtype">int</span> passwordDataLength, <a class="code" href="../../d1/dde/class_s_l_net_1_1_rak_net_socket2.xhtml">RakNetSocket2</a>* socket, <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#d0/dc8/struct_s_l_net_1_1_public_key" title="Passed to RakPeerInterface::Connect()">PublicKey</a> *publicKey=0, <span class="keywordtype">unsigned</span> sendConnectionAttemptCount=12, <span class="keywordtype">unsigned</span> timeBetweenSendConnectionAttemptsMS=500, <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a26b4eb1be8467562f791e3c5af4a67ae">SLNet::TimeMS</a> timeoutTime=0)=0;</div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;</div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; <span class="comment">//virtual bool Console2LobbyConnect( void *networkServiceId, const char *passwordData, int passwordDataLength )=0;</span></div>
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160;</div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> Shutdown( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> blockDuration, <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> orderingChannel=0, <a class="code" href="../../d7/d03/_packet_priority_8h.xhtml#a659378374e516180f93640c79f59705c" title="These enumerations are used to describe when packets are delivered.">PacketPriority</a> disconnectionNotificationPriority=<a class="code" href="../../d7/d03/_packet_priority_8h.xhtml#a659378374e516180f93640c79f59705cadb8ee22a232a2787f32ba28da55c43c1">LOW_PRIORITY</a> )=0;</div>
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160;</div>
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> IsActive( <span class="keywordtype">void</span> ) <span class="keyword">const</span>=0;</div>
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160;</div>
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> GetConnectionList( <a class="code" href="../../d8/dbe/struct_s_l_net_1_1_system_address.xhtml" title="Network address for a system.">SystemAddress</a> *remoteSystems, <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> *numberOfSystems ) <span class="keyword">const</span>=0;</div>
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160;</div>
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; <span class="keyword">virtual</span> <a class="code" href="../../df/df2/_native_types_8h.xhtml#a6eb1e68cc391dd753bc8ce896dbb8315">uint32_t</a> GetNextSendReceipt(<span class="keywordtype">void</span>)=0;</div>
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160;</div>
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; <span class="keyword">virtual</span> <a class="code" href="../../df/df2/_native_types_8h.xhtml#a6eb1e68cc391dd753bc8ce896dbb8315">uint32_t</a> IncrementNextSendReceipt(<span class="keywordtype">void</span>)=0;</div>
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160;</div>
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; <span class="keyword">virtual</span> <a class="code" href="../../df/df2/_native_types_8h.xhtml#a6eb1e68cc391dd753bc8ce896dbb8315">uint32_t</a> Send( <span class="keyword">const</span> <span class="keywordtype">char</span> *data, <span class="keyword">const</span> <span class="keywordtype">int</span> length, <a class="code" href="../../d7/d03/_packet_priority_8h.xhtml#a659378374e516180f93640c79f59705c" title="These enumerations are used to describe when packets are delivered.">PacketPriority</a> priority, <a class="code" href="../../d7/d03/_packet_priority_8h.xhtml#ae41fa01235e99dced384d137fa874a7e">PacketReliability</a> reliability, <span class="keywordtype">char</span> orderingChannel, <span class="keyword">const</span> <a class="code" href="../../d3/da8/struct_s_l_net_1_1_address_or_g_u_i_d.xhtml">AddressOrGUID</a> systemIdentifier, <span class="keywordtype">bool</span> broadcast, <a class="code" href="../../df/df2/_native_types_8h.xhtml#a6eb1e68cc391dd753bc8ce896dbb8315">uint32_t</a> forceReceiptNumber=0 )=0;</div>
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160;</div>
<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> SendLoopback( <span class="keyword">const</span> <span class="keywordtype">char</span> *data, <span class="keyword">const</span> <span class="keywordtype">int</span> length )=0;</div>
<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160;</div>
<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; <span class="keyword">virtual</span> <a class="code" href="../../df/df2/_native_types_8h.xhtml#a6eb1e68cc391dd753bc8ce896dbb8315">uint32_t</a> Send( <span class="keyword">const</span> <a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a> * bitStream, <a class="code" href="../../d7/d03/_packet_priority_8h.xhtml#a659378374e516180f93640c79f59705c" title="These enumerations are used to describe when packets are delivered.">PacketPriority</a> priority, <a class="code" href="../../d7/d03/_packet_priority_8h.xhtml#ae41fa01235e99dced384d137fa874a7e">PacketReliability</a> reliability, <span class="keywordtype">char</span> orderingChannel, <span class="keyword">const</span> <a class="code" href="../../d3/da8/struct_s_l_net_1_1_address_or_g_u_i_d.xhtml">AddressOrGUID</a> systemIdentifier, <span class="keywordtype">bool</span> broadcast, <a class="code" href="../../df/df2/_native_types_8h.xhtml#a6eb1e68cc391dd753bc8ce896dbb8315">uint32_t</a> forceReceiptNumber=0 )=0;</div>
<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160;</div>
<div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; <span class="keyword">virtual</span> <a class="code" href="../../df/df2/_native_types_8h.xhtml#a6eb1e68cc391dd753bc8ce896dbb8315">uint32_t</a> SendList( <span class="keyword">const</span> <span class="keywordtype">char</span> **data, <span class="keyword">const</span> <span class="keywordtype">int</span> *lengths, <span class="keyword">const</span> <span class="keywordtype">int</span> numParameters, <a class="code" href="../../d7/d03/_packet_priority_8h.xhtml#a659378374e516180f93640c79f59705c" title="These enumerations are used to describe when packets are delivered.">PacketPriority</a> priority, <a class="code" href="../../d7/d03/_packet_priority_8h.xhtml#ae41fa01235e99dced384d137fa874a7e">PacketReliability</a> reliability, <span class="keywordtype">char</span> orderingChannel, <span class="keyword">const</span> <a class="code" href="../../d3/da8/struct_s_l_net_1_1_address_or_g_u_i_d.xhtml">AddressOrGUID</a> systemIdentifier, <span class="keywordtype">bool</span> broadcast, <a class="code" href="../../df/df2/_native_types_8h.xhtml#a6eb1e68cc391dd753bc8ce896dbb8315">uint32_t</a> forceReceiptNumber=0 )=0;</div>
<div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160;</div>
<div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; <span class="keyword">virtual</span> <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>* Receive( <span class="keywordtype">void</span> )=0;</div>
<div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160;</div>
<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> DeallocatePacket( <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 )=0;</div>
<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160;</div>
<div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> GetMaximumNumberOfPeers( <span class="keywordtype">void</span> ) <span class="keyword">const</span>=0;</div>
<div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160;</div>
<div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; <span class="comment">// -------------------------------------------------------------------------------------------- Connection Management Functions--------------------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160;<span class="comment"></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> CloseConnection( <span class="keyword">const</span> <a class="code" href="../../d3/da8/struct_s_l_net_1_1_address_or_g_u_i_d.xhtml">AddressOrGUID</a> target, <span class="keywordtype">bool</span> sendDisconnectionNotification, <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> orderingChannel=0, <a class="code" href="../../d7/d03/_packet_priority_8h.xhtml#a659378374e516180f93640c79f59705c" title="These enumerations are used to describe when packets are delivered.">PacketPriority</a> disconnectionNotificationPriority=<a class="code" href="../../d7/d03/_packet_priority_8h.xhtml#a659378374e516180f93640c79f59705cadb8ee22a232a2787f32ba28da55c43c1">LOW_PRIORITY</a> )=0;</div>
<div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160;</div>
<div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; <span class="keyword">virtual</span> <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ad3fc8b60e351dfe5eb05cdba41d8c7a3" title="Returned from RakPeerInterface::GetConnectionState()">ConnectionState</a> GetConnectionState(<span class="keyword">const</span> <a class="code" href="../../d3/da8/struct_s_l_net_1_1_address_or_g_u_i_d.xhtml">AddressOrGUID</a> systemIdentifier)=0;</div>
<div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160;</div>
<div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> CancelConnectionAttempt( <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> target )=0;</div>
<div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160;</div>
<div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">int</span> GetIndexFromSystemAddress( <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> systemAddress ) <span class="keyword">const</span>=0;</div>
<div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160;</div>
<div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; <span class="keyword">virtual</span> <a class="code" href="../../d8/dbe/struct_s_l_net_1_1_system_address.xhtml" title="Network address for a system.">SystemAddress</a> GetSystemAddressFromIndex( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> index )=0;</div>
<div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160;</div>
<div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; <span class="keyword">virtual</span> <a class="code" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml">RakNetGUID</a> GetGUIDFromIndex( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> index )=0;</div>
<div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160;</div>
<div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> GetSystemList(<a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml">DataStructures::List&lt;SystemAddress&gt;</a> &amp;addresses, <a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml">DataStructures::List&lt;RakNetGUID&gt;</a> &amp;guids) <span class="keyword">const</span>=0;</div>
<div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160;</div>
<div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> AddToBanList( <span class="keyword">const</span> <span class="keywordtype">char</span> *IP, <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a26b4eb1be8467562f791e3c5af4a67ae">SLNet::TimeMS</a> milliseconds=0 )=0;</div>
<div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160;</div>
<div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> RemoveFromBanList( <span class="keyword">const</span> <span class="keywordtype">char</span> *IP )=0;</div>
<div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160;</div>
<div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> ClearBanList( <span class="keywordtype">void</span> )=0;</div>
<div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160;</div>
<div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> IsBanned( <span class="keyword">const</span> <span class="keywordtype">char</span> *IP )=0;</div>
<div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160;</div>
<div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> SetLimitIPConnectionFrequency(<span class="keywordtype">bool</span> b)=0;</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; <span class="comment">// --------------------------------------------------------------------------------------------Pinging Functions - Functions dealing with the automatic ping mechanism--------------------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160;<span class="comment"></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> Ping( <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> target )=0;</div>
<div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160;</div>
<div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> Ping( <span class="keyword">const</span> <span class="keywordtype">char</span>* host, <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> remotePort, <span class="keywordtype">bool</span> onlyReplyOnAcceptingConnections, <span class="keywordtype">unsigned</span> connectionSocketIndex=0 )=0;</div>
<div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160;</div>
<div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">int</span> GetAveragePing( <span class="keyword">const</span> <a class="code" href="../../d3/da8/struct_s_l_net_1_1_address_or_g_u_i_d.xhtml">AddressOrGUID</a> systemIdentifier )=0;</div>
<div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160;</div>
<div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">int</span> GetLastPing( <span class="keyword">const</span> <a class="code" href="../../d3/da8/struct_s_l_net_1_1_address_or_g_u_i_d.xhtml">AddressOrGUID</a> systemIdentifier ) <span class="keyword">const</span>=0;</div>
<div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160;</div>
<div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">int</span> GetLowestPing( <span class="keyword">const</span> <a class="code" href="../../d3/da8/struct_s_l_net_1_1_address_or_g_u_i_d.xhtml">AddressOrGUID</a> systemIdentifier ) <span class="keyword">const</span>=0;</div>
<div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160;</div>
<div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> SetOccasionalPing( <span class="keywordtype">bool</span> doPing )=0;</div>
<div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160;</div>
<div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160; <span class="keyword">virtual</span> <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a7223b62c1b67121db1d975f2ab9b74c7">SLNet::Time</a> GetClockDifferential( <span class="keyword">const</span> <a class="code" href="../../d3/da8/struct_s_l_net_1_1_address_or_g_u_i_d.xhtml">AddressOrGUID</a> systemIdentifier )=0;</div>
<div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160;</div>
<div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160; <span class="comment">// --------------------------------------------------------------------------------------------Static Data Functions - Functions dealing with API defined synchronized memory--------------------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160;<span class="comment"></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> SetOfflinePingResponse( <span class="keyword">const</span> <span class="keywordtype">char</span> *data, <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> length )=0;</div>
<div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160;</div>
<div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> GetOfflinePingResponse( <span class="keywordtype">char</span> **data, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> *length )=0;</div>
<div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160;</div>
<div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160; <span class="comment">//--------------------------------------------------------------------------------------------Network Functions - Functions dealing with the network in general--------------------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160;<span class="comment"></span> <span class="keyword">virtual</span> <a class="code" href="../../d8/dbe/struct_s_l_net_1_1_system_address.xhtml" title="Network address for a system.">SystemAddress</a> GetInternalID( <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> systemAddress=<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#acea7714c995aae0e1feaf79c9e7f073d" title="Index of an invalid SystemAddress.">UNASSIGNED_SYSTEM_ADDRESS</a>, <span class="keyword">const</span> <span class="keywordtype">int</span> index=0 ) <span class="keyword">const</span>=0;</div>
<div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160;</div>
<div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> SetInternalID(<a class="code" href="../../d8/dbe/struct_s_l_net_1_1_system_address.xhtml" title="Network address for a system.">SystemAddress</a> systemAddress, <span class="keywordtype">int</span> index=0)=0;</div>
<div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160;</div>
<div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160; <span class="keyword">virtual</span> <a class="code" href="../../d8/dbe/struct_s_l_net_1_1_system_address.xhtml" title="Network address for a system.">SystemAddress</a> GetExternalID( <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> target ) <span class="keyword">const</span>=0;</div>
<div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160;</div>
<div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160; <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml">RakNetGUID</a> GetMyGUID(<span class="keywordtype">void</span>) <span class="keyword">const</span>=0;</div>
<div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160;</div>
<div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160; <span class="keyword">virtual</span> <a class="code" href="../../d8/dbe/struct_s_l_net_1_1_system_address.xhtml" title="Network address for a system.">SystemAddress</a> GetMyBoundAddress(<span class="keyword">const</span> <span class="keywordtype">int</span> socketIndex=0)=0;</div>
<div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160;</div>
<div class="line"><a name="l00405"></a><span class="lineno"> 405</span>&#160; <span class="keyword">static</span> <a class="code" href="../../df/df2/_native_types_8h.xhtml#ad27ed092432b64ff558d2254c278720f">uint64_t</a> Get64BitUniqueRandomNumber(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00406"></a><span class="lineno"> 406</span>&#160;</div>
<div class="line"><a name="l00414"></a><span class="lineno"> 414</span>&#160; <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml">RakNetGUID</a>&amp; GetGuidFromSystemAddress( <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> input ) <span class="keyword">const</span>=0;</div>
<div class="line"><a name="l00415"></a><span class="lineno"> 415</span>&#160;</div>
<div class="line"><a name="l00421"></a><span class="lineno"> 421</span>&#160; <span class="keyword">virtual</span> <a class="code" href="../../d8/dbe/struct_s_l_net_1_1_system_address.xhtml" title="Network address for a system.">SystemAddress</a> GetSystemAddressFromGuid( <span class="keyword">const</span> <a class="code" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml">RakNetGUID</a> input ) <span class="keyword">const</span>=0;</div>
<div class="line"><a name="l00422"></a><span class="lineno"> 422</span>&#160;</div>
<div class="line"><a name="l00427"></a><span class="lineno"> 427</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> GetClientPublicKeyFromSystemAddress( <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> input, <span class="keywordtype">char</span> *client_public_key ) <span class="keyword">const</span>=0;</div>
<div class="line"><a name="l00428"></a><span class="lineno"> 428</span>&#160;</div>
<div class="line"><a name="l00434"></a><span class="lineno"> 434</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> SetTimeoutTime(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a26b4eb1be8467562f791e3c5af4a67ae">SLNet::TimeMS</a> timeMS, <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> target )=0;</div>
<div class="line"><a name="l00435"></a><span class="lineno"> 435</span>&#160;</div>
<div class="line"><a name="l00438"></a><span class="lineno"> 438</span>&#160; <span class="keyword">virtual</span> <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a26b4eb1be8467562f791e3c5af4a67ae">SLNet::TimeMS</a> GetTimeoutTime( <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> target )=0;</div>
<div class="line"><a name="l00439"></a><span class="lineno"> 439</span>&#160;</div>
<div class="line"><a name="l00443"></a><span class="lineno"> 443</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">int</span> GetMTUSize( <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> target ) <span class="keyword">const</span>=0;</div>
<div class="line"><a name="l00444"></a><span class="lineno"> 444</span>&#160;</div>
<div class="line"><a name="l00446"></a><span class="lineno"> 446</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">unsigned</span> GetNumberOfAddresses( <span class="keywordtype">void</span> )=0;</div>
<div class="line"><a name="l00447"></a><span class="lineno"> 447</span>&#160;</div>
<div class="line"><a name="l00451"></a><span class="lineno"> 451</span>&#160; <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* GetLocalIP( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> index )=0;</div>
<div class="line"><a name="l00452"></a><span class="lineno"> 452</span>&#160;</div>
<div class="line"><a name="l00456"></a><span class="lineno"> 456</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> IsLocalIP( <span class="keyword">const</span> <span class="keywordtype">char</span> *ip )=0;</div>
<div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160;</div>
<div class="line"><a name="l00461"></a><span class="lineno"> 461</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> AllowConnectionResponseIPMigration( <span class="keywordtype">bool</span> allow )=0;</div>
<div class="line"><a name="l00462"></a><span class="lineno"> 462</span>&#160;</div>
<div class="line"><a name="l00472"></a><span class="lineno"> 472</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> AdvertiseSystem( <span class="keyword">const</span> <span class="keywordtype">char</span> *host, <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> remotePort, <span class="keyword">const</span> <span class="keywordtype">char</span> *data, <span class="keywordtype">int</span> dataLength, <span class="keywordtype">unsigned</span> connectionSocketIndex=0 )=0;</div>
<div class="line"><a name="l00473"></a><span class="lineno"> 473</span>&#160;</div>
<div class="line"><a name="l00479"></a><span class="lineno"> 479</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> SetSplitMessageProgressInterval(<span class="keywordtype">int</span> interval)=0;</div>
<div class="line"><a name="l00480"></a><span class="lineno"> 480</span>&#160;</div>
<div class="line"><a name="l00483"></a><span class="lineno"> 483</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">int</span> GetSplitMessageProgressInterval(<span class="keywordtype">void</span>) <span class="keyword">const</span>=0;</div>
<div class="line"><a name="l00484"></a><span class="lineno"> 484</span>&#160;</div>
<div class="line"><a name="l00489"></a><span class="lineno"> 489</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> SetUnreliableTimeout(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a26b4eb1be8467562f791e3c5af4a67ae">SLNet::TimeMS</a> timeoutMS)=0;</div>
<div class="line"><a name="l00490"></a><span class="lineno"> 490</span>&#160;</div>
<div class="line"><a name="l00494"></a><span class="lineno"> 494</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> SendTTL( <span class="keyword">const</span> <span class="keywordtype">char</span>* host, <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> remotePort, <span class="keywordtype">int</span> ttl, <span class="keywordtype">unsigned</span> connectionSocketIndex=0 )=0;</div>
<div class="line"><a name="l00495"></a><span class="lineno"> 495</span>&#160;</div>
<div class="line"><a name="l00496"></a><span class="lineno"> 496</span>&#160; <span class="comment">// -------------------------------------------------------------------------------------------- Plugin Functions--------------------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00500"></a><span class="lineno"> 500</span>&#160;<span class="comment"></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> AttachPlugin( <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> *plugin )=0;</div>
<div class="line"><a name="l00501"></a><span class="lineno"> 501</span>&#160;</div>
<div class="line"><a name="l00506"></a><span class="lineno"> 506</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> DetachPlugin( <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> *messageHandler )=0;</div>
<div class="line"><a name="l00507"></a><span class="lineno"> 507</span>&#160;</div>
<div class="line"><a name="l00508"></a><span class="lineno"> 508</span>&#160; <span class="comment">// --------------------------------------------------------------------------------------------Miscellaneous Functions--------------------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00512"></a><span class="lineno"> 512</span>&#160;<span class="comment"></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> PushBackPacket( <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#d8/d23/struct_s_l_net_1_1_packet" title="This represents a user message from another system.">Packet</a> *packet, <span class="keywordtype">bool</span> pushAtHead )=0;</div>
<div class="line"><a name="l00513"></a><span class="lineno"> 513</span>&#160;</div>
<div class="line"><a name="l00518"></a><span class="lineno"> 518</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> ChangeSystemAddress(<a class="code" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml">RakNetGUID</a> guid, <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)=0;</div>
<div class="line"><a name="l00519"></a><span class="lineno"> 519</span>&#160;</div>
<div class="line"><a name="l00524"></a><span class="lineno"> 524</span>&#160; <span class="keyword">virtual</span> <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>* AllocatePacket(<span class="keywordtype">unsigned</span> dataSize)=0;</div>
<div class="line"><a name="l00525"></a><span class="lineno"> 525</span>&#160;</div>
<div class="line"><a name="l00531"></a><span class="lineno"> 531</span>&#160; <span class="keyword">virtual</span> <a class="code" href="../../d1/dde/class_s_l_net_1_1_rak_net_socket2.xhtml">RakNetSocket2</a>* GetSocket( <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> target )=0;</div>
<div class="line"><a name="l00532"></a><span class="lineno"> 532</span>&#160;</div>
<div class="line"><a name="l00536"></a><span class="lineno"> 536</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> GetSockets( <a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml">DataStructures::List&lt;RakNetSocket2* &gt;</a> &amp;sockets )=0;</div>
<div class="line"><a name="l00537"></a><span class="lineno"> 537</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> ReleaseSockets( <a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml">DataStructures::List&lt;RakNetSocket2* &gt;</a> &amp;sockets )=0;</div>
<div class="line"><a name="l00538"></a><span class="lineno"> 538</span>&#160;</div>
<div class="line"><a name="l00539"></a><span class="lineno"> 539</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> WriteOutOfBandHeader(<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a> *bitStream)=0;</div>
<div class="line"><a name="l00540"></a><span class="lineno"> 540</span>&#160;</div>
<div class="line"><a name="l00544"></a><span class="lineno"> 544</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> SetUserUpdateThread(<span class="keywordtype">void</span> (*_userUpdateThreadPtr)(<a class="code" href="../../da/d27/class_s_l_net_1_1_rak_peer_interface.xhtml" title="The main interface for network communications.">RakPeerInterface</a> *, <span class="keywordtype">void</span> *), <span class="keywordtype">void</span> *_userUpdateThreadData)=0;</div>
<div class="line"><a name="l00545"></a><span class="lineno"> 545</span>&#160;</div>
<div class="line"><a name="l00553"></a><span class="lineno"> 553</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> SetIncomingDatagramEventHandler( <span class="keywordtype">bool</span> (*_incomingDatagramEventHandler)(<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> *) )=0;</div>
<div class="line"><a name="l00554"></a><span class="lineno"> 554</span>&#160;</div>
<div class="line"><a name="l00555"></a><span class="lineno"> 555</span>&#160; <span class="comment">// --------------------------------------------------------------------------------------------Network Simulator Functions--------------------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00564"></a><span class="lineno"> 564</span>&#160;<span class="comment"></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> ApplyNetworkSimulator( <span class="keywordtype">float</span> packetloss, <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> minExtraPing, <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> extraPingVariance)=0;</div>
<div class="line"><a name="l00565"></a><span class="lineno"> 565</span>&#160;</div>
<div class="line"><a name="l00570"></a><span class="lineno"> 570</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> SetPerConnectionOutgoingBandwidthLimit( <span class="keywordtype">unsigned</span> maxBitsPerSecond )=0;</div>
<div class="line"><a name="l00571"></a><span class="lineno"> 571</span>&#160;</div>
<div class="line"><a name="l00574"></a><span class="lineno"> 574</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> IsNetworkSimulatorActive( <span class="keywordtype">void</span> )=0;</div>
<div class="line"><a name="l00575"></a><span class="lineno"> 575</span>&#160;</div>
<div class="line"><a name="l00576"></a><span class="lineno"> 576</span>&#160; <span class="comment">// --------------------------------------------------------------------------------------------Statistical Functions - Functions dealing with API performance--------------------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00577"></a><span class="lineno"> 577</span>&#160;</div>
<div class="line"><a name="l00584"></a><span class="lineno"> 584</span>&#160; <span class="keyword">virtual</span> <a class="code" href="../../df/df9/struct_s_l_net_1_1_rak_net_statistics.xhtml" title="Network Statisics Usage.">RakNetStatistics</a> * GetStatistics( <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> systemAddress, <a class="code" href="../../df/df9/struct_s_l_net_1_1_rak_net_statistics.xhtml" title="Network Statisics Usage.">RakNetStatistics</a> *rns=0 )=0;</div>
<div class="line"><a name="l00587"></a><span class="lineno"> 587</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> GetStatistics( <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> index, <a class="code" href="../../df/df9/struct_s_l_net_1_1_rak_net_statistics.xhtml" title="Network Statisics Usage.">RakNetStatistics</a> *rns )=0;</div>
<div class="line"><a name="l00593"></a><span class="lineno"> 593</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> GetStatisticsList(<a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml">DataStructures::List&lt;SystemAddress&gt;</a> &amp;addresses, <a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml">DataStructures::List&lt;RakNetGUID&gt;</a> &amp;guids, <a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml" title="Array based implementation of a list.">DataStructures::List&lt;RakNetStatistics&gt;</a> &amp;statistics)=0;</div>
<div class="line"><a name="l00594"></a><span class="lineno"> 594</span>&#160;</div>
<div class="line"><a name="l00596"></a><span class="lineno"> 596</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> GetReceiveBufferSize(<span class="keywordtype">void</span>)=0;</div>
<div class="line"><a name="l00597"></a><span class="lineno"> 597</span>&#160;</div>
<div class="line"><a name="l00598"></a><span class="lineno"> 598</span>&#160; <span class="comment">// --------------------------------------------------------------------------------------------EVERYTHING AFTER THIS COMMENT IS FOR INTERNAL USE ONLY--------------------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00599"></a><span class="lineno"> 599</span>&#160; </div>
<div class="line"><a name="l00601"></a><span class="lineno"> 601</span>&#160; <span class="comment">// Call manually if RAKPEER_USER_THREADED==1 at least every 30 milliseconds.</span></div>
<div class="line"><a name="l00602"></a><span class="lineno"> 602</span>&#160; <span class="comment">// updateBitStream should be:</span></div>
<div class="line"><a name="l00603"></a><span class="lineno"> 603</span>&#160; <span class="comment">// BitStream updateBitStream( MAXIMUM_MTU_SIZE</span></div>
<div class="line"><a name="l00604"></a><span class="lineno"> 604</span>&#160; <span class="comment">// #if LIBCAT_SECURITY==1</span></div>
<div class="line"><a name="l00605"></a><span class="lineno"> 605</span>&#160; <span class="comment">// + cat::AuthenticatedEncryption::OVERHEAD_BYTES</span></div>
<div class="line"><a name="l00606"></a><span class="lineno"> 606</span>&#160; <span class="comment">// #endif</span></div>
<div class="line"><a name="l00607"></a><span class="lineno"> 607</span>&#160; <span class="comment">// );</span></div>
<div class="line"><a name="l00608"></a><span class="lineno"> 608</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> RunUpdateCycle( <a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">BitStream</a> &amp;updateBitStream )=0;</div>
<div class="line"><a name="l00609"></a><span class="lineno"> 609</span>&#160;</div>
<div class="line"><a name="l00611"></a><span class="lineno"> 611</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> SendOutOfBand(<span class="keyword">const</span> <span class="keywordtype">char</span> *host, <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> remotePort, <span class="keyword">const</span> <span class="keywordtype">char</span> *data, <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a227d2a5f9683a34d9d1e70772fd556ec">BitSize_t</a> dataLength, <span class="keywordtype">unsigned</span> connectionSocketIndex=0 )=0;</div>
<div class="line"><a name="l00612"></a><span class="lineno"> 612</span>&#160;</div>
<div class="line"><a name="l00613"></a><span class="lineno"> 613</span>&#160;}</div>
<div class="line"><a name="l00614"></a><span class="lineno"> 614</span>&#160;<span class="comment">// #if defined(SN_TARGET_PSP2)</span></div>
<div class="line"><a name="l00615"></a><span class="lineno"> 615</span>&#160;<span class="comment">// __attribute__((aligned(8)))</span></div>
<div class="line"><a name="l00616"></a><span class="lineno"> 616</span>&#160;<span class="comment">// #endif</span></div>
<div class="line"><a name="l00617"></a><span class="lineno"> 617</span>&#160;;</div>
<div class="line"><a name="l00618"></a><span class="lineno"> 618</span>&#160;</div>
<div class="line"><a name="l00619"></a><span class="lineno"> 619</span>&#160;} <span class="comment">// namespace SLNet</span></div>
<div class="line"><a name="l00620"></a><span class="lineno"> 620</span>&#160;</div>
<div class="line"><a name="l00621"></a><span class="lineno"> 621</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="../../dd/d85/peerinterface_8h.xhtml">peerinterface.h</a></li>
<li class="footer">Generated on Wed Aug 14 2019 22:09:46 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,132 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>SLikeNet: Member List</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="../../index.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li class="current"><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../annotated.xhtml"><span>Class&#160;List</span></a></li>
<li><a href="../../classes.xhtml"><span>Class&#160;Index</span></a></li>
<li><a href="../../inherits.xhtml"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="../../functions.xhtml"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('dd/db4/struct_data_structures_1_1_table_1_1_filter_query.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::Table::FilterQuery Member List</div> </div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="../../dd/db4/struct_data_structures_1_1_table_1_1_filter_query.xhtml">DataStructures::Table::FilterQuery</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="../../dd/db4/struct_data_structures_1_1_table_1_1_filter_query.xhtml#ab9f39f1bb6ee7863a2f3d419bc24ca85">cellValue</a></td><td class="entry"><a class="el" href="../../dd/db4/struct_data_structures_1_1_table_1_1_filter_query.xhtml">DataStructures::Table::FilterQuery</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../dd/db4/struct_data_structures_1_1_table_1_1_filter_query.xhtml#a751a903835cd6d13d817e624b42a2bfd">columnIndex</a></td><td class="entry"><a class="el" href="../../dd/db4/struct_data_structures_1_1_table_1_1_filter_query.xhtml">DataStructures::Table::FilterQuery</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../dd/db4/struct_data_structures_1_1_table_1_1_filter_query.xhtml#acb1fc87ccc2e5beb7f0702bd216c845d">columnName</a></td><td class="entry"><a class="el" href="../../dd/db4/struct_data_structures_1_1_table_1_1_filter_query.xhtml">DataStructures::Table::FilterQuery</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../dd/db4/struct_data_structures_1_1_table_1_1_filter_query.xhtml#ad4bde63ddc81d707b15ae8713efb61b9">FilterQuery</a>()</td><td class="entry"><a class="el" href="../../dd/db4/struct_data_structures_1_1_table_1_1_filter_query.xhtml">DataStructures::Table::FilterQuery</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../dd/db4/struct_data_structures_1_1_table_1_1_filter_query.xhtml#af40e32d9edf60b8467f0b62c6eeb4a48">FilterQuery</a>(unsigned column, Cell *cell, FilterQueryType op)</td><td class="entry"><a class="el" href="../../dd/db4/struct_data_structures_1_1_table_1_1_filter_query.xhtml">DataStructures::Table::FilterQuery</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../dd/db4/struct_data_structures_1_1_table_1_1_filter_query.xhtml#acef81569cbccb0b56d21418360632551">operation</a></td><td class="entry"><a class="el" href="../../dd/db4/struct_data_structures_1_1_table_1_1_filter_query.xhtml">DataStructures::Table::FilterQuery</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../dd/db4/struct_data_structures_1_1_table_1_1_filter_query.xhtml#a0d15b2692e0a2d2f2b3276ae744d61a1">~FilterQuery</a>()</td><td class="entry"><a class="el" href="../../dd/db4/struct_data_structures_1_1_table_1_1_filter_query.xhtml">DataStructures::Table::FilterQuery</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated on Wed Aug 14 2019 22:09:49 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,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/RakNetSocket2_NativeClient.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('dd/d99/_rak_net_socket2___native_client_8cpp.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">RakNetSocket2_NativeClient.cpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &quot;<a class="el" href="../../d7/d5b/_empty_header_8h_source.xhtml">slikenet/EmptyHeader.h</a>&quot;</code><br/>
</div>
<p><a href="../../dd/d99/_rak_net_socket2___native_client_8cpp_source.xhtml">Go to the source code of this file.</a></p>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_74389ed8173ad57b461b9d623a1f3867.xhtml">Source</a></li><li class="navelem"><a class="el" href="../../dir_d1eb22c2ecfd8b50f59e9cbaf8260105.xhtml">src</a></li><li class="navelem"><a class="el" href="../../dd/d99/_rak_net_socket2___native_client_8cpp.xhtml">RakNetSocket2_NativeClient.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,295 @@
<!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/RakNetSocket2_NativeClient.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('dd/d99/_rak_net_socket2___native_client_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">RakNetSocket2_NativeClient.cpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="../../dd/d99/_rak_net_socket2___native_client_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="../../d7/d5b/_empty_header_8h.xhtml">slikenet/EmptyHeader.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="preprocessor">#ifdef RAKNET_SOCKET_2_INLINE_FUNCTIONS</span></div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="preprocessor">#ifndef RAKNETSOCKET2_NATIVE_CLIENT_CPP</span></div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define RAKNETSOCKET2_NATIVE_CLIENT_CPP</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">#if defined(__native_client__)</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="keyword">using namespace </span>pp;</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;<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a4404d95ca631c4047d0d6d10323db7c1">RNS2BindResult</a> RNS2_NativeClient::Bind( NativeClientBindParameters *bindParameters, <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="l00028"></a><span class="lineno"> 28</span>&#160;{</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160; memcpy(&amp;binding, bindParameters, <span class="keyword">sizeof</span>(NativeClientBindParameters));</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160; <span class="keywordflow">if</span>(Module::Get()-&gt;GetBrowserInterface(PPB_UDPSOCKET_PRIVATE_INTERFACE_0_4))</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; rns2Socket = ((PPB_UDPSocket_Private_0_4*) Module::Get()-&gt;GetBrowserInterface(PPB_UDPSOCKET_PRIVATE_INTERFACE_0_4))-&gt;Create(bindParameters-&gt;nativeClientInstance);</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; <a class="code" href="../../d8/db0/defines_8h.xhtml#a2a5d867f7ae6521f217847a78f17ab4a">RAKNET_DEBUG_PRINTF</a>(<span class="stringliteral">&quot;CreateChromeSocket(%d,%s,0x%08x,%d) ==&gt; 0x%08x\n&quot;</span>, bindParameters-&gt;port, bindParameters-&gt;forceHostAddress?bindParameters-&gt;forceHostAddress:<span class="stringliteral">&quot;(null)&quot;</span>,bindParameters-&gt;nativeClientInstance,bindParameters-&gt;is_ipv6, rns2Socket);</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="comment">// Enable the broadcast feature on the socket (must happen before the</span></div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; <span class="comment">// bind call)</span></div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; ((PPB_UDPSocket_Private_0_4*) pp::Module::Get()-&gt;GetBrowserInterface(PPB_UDPSOCKET_PRIVATE_INTERFACE_0_4))-&gt;SetSocketFeature(rns2Socket, PP_UDPSOCKETFEATURE_BROADCAST, PP_MakeBool(PP_TRUE));</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; PP_NetAddress_Private client_addr;</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; <a class="code" href="../../df/df2/_native_types_8h.xhtml#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> ipv6[16], ipv4[4];</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; <span class="keywordflow">if</span> (bindParameters-&gt;forceHostAddress)</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; <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> ipIdx=0;</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; <span class="keywordtype">char</span> * pch;</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; pch = strtok ((<span class="keywordtype">char</span>*) bindParameters-&gt;forceHostAddress,<span class="stringliteral">&quot;.&quot;</span>);</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; <span class="keywordflow">if</span> (bindParameters-&gt;is_ipv6)</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">while</span> (pch != NULL &amp;&amp; ipIdx&lt;16)</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; ipv6[ipIdx++]=atoi(pch);</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; pch = strtok (NULL, <span class="stringliteral">&quot;.&quot;</span>);</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; NetAddressPrivate::CreateFromIPv6Address(ipv6,0,bindParameters-&gt;port,&amp;client_addr);</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="keywordflow">else</span></div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; {</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <span class="keywordflow">while</span> (pch != NULL &amp;&amp; ipIdx&lt;4)</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; ipv4[ipIdx++]=atoi(pch);</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; pch = strtok (NULL, <span class="stringliteral">&quot;.&quot;</span>);</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; NetAddressPrivate::CreateFromIPv4Address(ipv4,bindParameters-&gt;port,&amp;client_addr);</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">else</span></div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; {</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; NetAddressPrivate::GetAnyAddress(bindParameters-&gt;is_ipv6, &amp;client_addr);</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; NetAddressPrivate::ReplacePort(client_addr, bindParameters-&gt;port, &amp;client_addr);</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;</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; bindState = BS_IN_PROGRESS;</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; <a class="code" href="../../d8/db0/defines_8h.xhtml#a2a5d867f7ae6521f217847a78f17ab4a">RAKNET_DEBUG_PRINTF</a>(<span class="stringliteral">&quot;attempting to bind to %s\n&quot;</span>, NetAddressPrivate::Describe(client_addr, <span class="keyword">true</span>).c_str());</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; PP_CompletionCallback cc = PP_MakeCompletionCallback(RNS2_NativeClient::onSocketBound, <span class="keyword">this</span>);</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; ((PPB_UDPSocket_Private_0_4*) Module::Get()-&gt;GetBrowserInterface(PPB_UDPSOCKET_PRIVATE_INTERFACE_0_4))-&gt;Bind(rns2Socket, &amp;client_addr, cc);</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <span class="keywordflow">return</span> <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a4404d95ca631c4047d0d6d10323db7c1ab1271f816dda76b8f2bc7da6542a1fcf">BR_SUCCESS</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; <span class="keywordflow">return</span> <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a4404d95ca631c4047d0d6d10323db7c1add38db328a70f3a3470819f91a8b02e4">BR_FAILED_TO_BIND_SOCKET</a>;</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;</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160;<span class="keywordtype">void</span> RNS2_NativeClient::SendImmediate(RNS2_SendParameters_NativeClient *sp)</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="comment">// Assuming data does not have to remain valid until callback called</span></div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; PP_NetAddress_Private client_addr;</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160;<span class="preprocessor">#if RAKNET_SUPPORT_IPV6==1</span></div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160;<span class="preprocessor"></span> NetAddressPrivate::CreateFromIPv6Address(sp-&gt;systemAddress.address.addr6.sin6_addr.u.Byte,0,sp-&gt;systemAddress.GetPort(),&amp;client_addr);</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160;<span class="preprocessor">#else</span></div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;<span class="preprocessor"></span> NetAddressPrivate::CreateFromIPv4Address((<span class="keyword">const</span> <a class="code" href="../../df/df2/_native_types_8h.xhtml#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>*) &amp;sp-&gt;systemAddress.address.addr4.sin_addr,sp-&gt;systemAddress.GetPort(),&amp;client_addr);</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <span class="comment">// sp remains in memory until the callback completes</span></div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; PP_CompletionCallback cc = PP_MakeCompletionCallback(onSendTo, sp);</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; ((PPB_UDPSocket_Private_0_4*) Module::Get()-&gt;GetBrowserInterface(PPB_UDPSOCKET_PRIVATE_INTERFACE_0_4))-&gt;SendTo(sp-&gt;socket2-&gt;rns2Socket, sp-&gt;data, sp-&gt;length, &amp;client_addr, cc);</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160;}</div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160;</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160;<span class="keywordtype">void</span> RNS2_NativeClient::onRecvFrom(<span class="keywordtype">void</span>* pData, <a class="code" href="../../df/df2/_native_types_8h.xhtml#a37994e3b11c72957c6f454c6ec96d43d">int32_t</a> dataSize)</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; RNS2RecvStruct *recvStruct = (RNS2RecvStruct *) pData;</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; RNS2_NativeClient *socket2 = (RNS2_NativeClient *) recvStruct-&gt;socket;</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="comment">//any error codes will be given to us in the dataSize value; see pp_errors.h for a list of errors</span></div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; <span class="keywordflow">if</span>(dataSize &lt;=0 || !pData )</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; <span class="comment">// Free data</span></div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; socket2-&gt;eventHandler-&gt;DeallocRNS2RecvStruct(recvStruct, <a class="code" href="../../d8/db0/defines_8h.xhtml#a8661ec2137eef33a8cd0cd618a748871">_FILE_AND_LINE_</a>);</div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;</div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <span class="comment">// This value indicates failure due to an asynchronous operation being</span></div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <span class="comment">// interrupted. The most common cause of this error code is destroying</span></div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; <span class="comment">// a resource that still has a callback pending. All callbacks are</span></div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <span class="comment">// guaranteed to execute, so any callbacks pending on a destroyed</span></div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <span class="comment">// resource will be issued with PP_ERROR_ABORTED.</span></div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <span class="keywordflow">if</span>(dataSize==PP_ERROR_ABORTED)</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; <a class="code" href="../../d8/db0/defines_8h.xhtml#a2a5d867f7ae6521f217847a78f17ab4a">RAKNET_DEBUG_PRINTF</a>(<span class="stringliteral">&quot;onRecvFrom error PP_ERROR_ABORTED, killing recvfrom loop\n&quot;</span>);</div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; }</div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; {</div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <a class="code" href="../../d8/db0/defines_8h.xhtml#a2a5d867f7ae6521f217847a78f17ab4a">RAKNET_DEBUG_PRINTF</a>(<span class="stringliteral">&quot;onRecvFrom error %d\n&quot;</span>, dataSize);</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="comment">// Reissue call</span></div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; socket2-&gt;IssueReceiveCall();</div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; }</div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;</div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; }</div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;</div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; recvStruct-&gt;bytesRead=dataSize;</div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; recvStruct-&gt;timeRead= <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#aaf7a5da6c601ae66963471d55a476dff">SLNet::GetTimeUS</a>();</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;</div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; PP_NetAddress_Private addr;</div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <span class="keywordtype">bool</span> ok=<span class="keyword">false</span>;</div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; <span class="keywordflow">if</span>(((PPB_UDPSocket_Private_0_4*) Module::Get()-&gt;GetBrowserInterface(PPB_UDPSOCKET_PRIVATE_INTERFACE_0_4))-&gt;GetRecvFromAddress(socket2-&gt;rns2Socket, &amp;addr) == PP_TRUE)</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; PP_NetAddressFamily_Private family = NetAddressPrivate::GetFamily(addr);</div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; <span class="keywordflow">if</span> (family == PP_NETADDRESSFAMILY_IPV4)</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; ok = NetAddressPrivate::GetAddress(addr, &amp;recvStruct-&gt;systemAddress.address.addr4.sin_addr, <span class="keyword">sizeof</span>(in_addr));</div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; }</div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160;<span class="preprocessor">#if RAKNET_SUPPORT_IPV6==1</span></div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;<span class="preprocessor"></span> <span class="keywordflow">else</span></div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; {</div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; ok = NetAddressPrivate::GetAddress(addr, &amp;recvStruct-&gt;systemAddress.address.addr6.sin6_addr, <span class="keyword">sizeof</span>(in6_addr));</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="preprocessor">#endif</span></div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160;<span class="preprocessor"></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="keywordflow">if</span>(ok)</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; recvStruct-&gt;systemAddress.SetPortHostOrder(pp::NetAddressPrivate::GetPort(addr));</div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; socket2-&gt;binding.eventHandler-&gt;OnRNS2Recv(recvStruct); </div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; }</div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;</div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; <span class="comment">// Reissue call</span></div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; socket2-&gt;IssueReceiveCall();</div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160;}</div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;<span class="keywordtype">void</span> RNS2_NativeClient::IssueReceiveCall(<span class="keywordtype">void</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; RNS2RecvStruct *recvFromStruct;</div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; recvFromStruct=binding.eventHandler-&gt;AllocRNS2RecvStruct(<a class="code" href="../../d8/db0/defines_8h.xhtml#a8661ec2137eef33a8cd0cd618a748871">_FILE_AND_LINE_</a>);</div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; <span class="keywordflow">if</span> (recvFromStruct != NULL)</div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; {</div>
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; recvFromStruct-&gt;socket=<span class="keyword">this</span>;</div>
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; PP_CompletionCallback cc = PP_MakeCompletionCallback(onRecvFrom, recvFromStruct);</div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; ((PPB_UDPSocket_Private_0_4*) Module::Get()-&gt;GetBrowserInterface(PPB_UDPSOCKET_PRIVATE_INTERFACE_0_4))-&gt;RecvFrom(rns2Socket, recvFromStruct-&gt;data, <a class="code" href="../../d2/d24/_m_t_u_size_8h.xhtml#a39d9da73f39bf9acabfc9e0ad2ae97c5">MAXIMUM_MTU_SIZE</a>, cc);</div>
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; } </div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160;}</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="preprocessor">#endif // defined(__native_client__)</span></div>
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160;<span class="preprocessor">#endif // file header</span></div>
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160;<span class="preprocessor">#endif // #ifdef RAKNET_SOCKET_2_INLINE_FUNCTIONS</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="../../dd/d99/_rak_net_socket2___native_client_8cpp.xhtml">RakNetSocket2_NativeClient.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,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/FileList.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('dd/d9c/_file_list_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">FileList.cpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &quot;<a class="el" href="../../d0/dc4/_file_list_8h_source.xhtml">slikenet/FileList.h</a>&quot;</code><br/>
</div>
<p><a href="../../dd/d9c/_file_list_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="../../dd/d9c/_file_list_8cpp.xhtml">FileList.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,951 @@
<!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/FileList.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('dd/d9c/_file_list_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">FileList.cpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="../../dd/d9c/_file_list_8cpp.xhtml">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> * Original work: Copyright (c) 2014, Oculus VR, Inc.</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> * All rights reserved.</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> * This source code is licensed under the BSD-style license found in the</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> * RakNet License.txt file in the licenses directory of this source tree. An additional grant </span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> * of patent rights can be found in the RakNet Patents.txt file in the same directory.</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment"> * Modified work: Copyright (c) 2016-2018, SLikeSoft UG (haftungsbeschränkt)</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> * This source code was modified by SLikeSoft. Modifications are licensed under the MIT-style</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> * license found in the license.txt file in the root directory of this source tree.</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;</div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../d0/dc4/_file_list_8h.xhtml">slikenet/FileList.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="preprocessor">#if _RAKNET_SUPPORT_FileOperations==1</span></div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="preprocessor">#include &lt;stdio.h&gt;</span> <span class="comment">// RAKNET_DEBUG_PRINTF</span></div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../dc/da7/assert_8h.xhtml">slikenet/assert.h</a>&quot;</span></div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="preprocessor">#if defined(ANDROID)</span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#include &lt;asm/io.h&gt;</span></div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="preprocessor">#elif defined(_WIN32) || defined(__CYGWIN__)</span></div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#include &lt;io.h&gt;</span></div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;</div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="preprocessor">#elif !defined ( __APPLE__ ) &amp;&amp; !defined ( __APPLE_CC__ ) &amp;&amp; !defined ( __PPC__ ) &amp;&amp; !defined ( __FreeBSD__ ) &amp;&amp; !defined ( __S3E__ )</span></div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#include &lt;sys/io.h&gt;</span></div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="preprocessor">#ifdef _WIN32 </span></div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="preprocessor"></span><span class="comment">// For mkdir</span></div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="preprocessor">#include &lt;direct.h&gt;</span></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">#else</span></div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#include &lt;sys/stat.h&gt;</span></div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;<span class="comment">//#include &quot;slikenet/DR_SHA1.h&quot;</span></div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../dc/d8d/_d_s___queue_8h.xhtml">slikenet/DS_Queue.h</a>&quot;</span></div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../df/d78/_string_compressor_8h.xhtml" title="Compresses/Decompresses ASCII strings and writes/reads them to BitStream class instances. You can use this to easily serialize and deserialize your own strings.">slikenet/StringCompressor.h</a>&quot;</span></div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</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="l00046"></a><span class="lineno"> 46</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../d8/da5/_file_operations_8h.xhtml">slikenet/FileOperations.h</a>&quot;</span></div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</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="l00048"></a><span class="lineno"> 48</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="l00049"></a><span class="lineno"> 49</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="l00050"></a><span class="lineno"> 50</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="l00051"></a><span class="lineno"> 51</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="l00052"></a><span class="lineno"> 52</span>&#160;</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;<span class="preprocessor">#define MAX_FILENAME_LENGTH 512</span></div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;<span class="preprocessor"></span><span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">unsigned</span> HASH_LENGTH=4;</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="keyword">using namespace </span>SLNet;</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;<span class="comment">// alloca</span></div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;<span class="preprocessor">#if defined(_WIN32)</span></div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#include &lt;malloc.h&gt;</span></div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;<span class="preprocessor">#else</span></div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;<span class="preprocessor"></span><span class="preprocessor"> #if !defined ( __FreeBSD__ )</span></div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;<span class="preprocessor"></span><span class="preprocessor"> #include &lt;<a class="code" href="../../d1/d42/alloca_8h.xhtml">alloca.h</a>&gt;</span></div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;<span class="preprocessor"> #endif</span></div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#include &lt;unistd.h&gt;</span></div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;<span class="preprocessor">#include &lt;stdlib.h&gt;</span></div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;<span class="preprocessor">#include &lt;sys/stat.h&gt;</span></div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../d5/dbc/___find_first_8h.xhtml">slikenet/_FindFirst.h</a>&quot;</span></div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;<span class="preprocessor">#include &lt;stdint.h&gt;</span> <span class="comment">//defines intptr_t</span></div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../d1/d42/alloca_8h.xhtml">slikenet/alloca.h</a>&quot;</span></div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160;</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160;<span class="comment">//int RAK_DLL_EXPORT FileListNodeComp( char * const &amp;key, const FileListNode &amp;data )</span></div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;<span class="comment">//{</span></div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;<span class="comment">// return strcmp(key, data.filename);</span></div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;<span class="comment">//}</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;</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160;<a class="code" href="../../db/dbd/_export_8h.xhtml#aa00165c970bdb25e1c757b432509533b">STATIC_FACTORY_DEFINITIONS</a>(<a class="code" href="../../d5/d7b/class_s_l_net_1_1_file_list_progress.xhtml" title="Callback interface set with FileList::SetCallback() in case you want progress notifications when File...">FileListProgress</a>,<a class="code" href="../../d5/d7b/class_s_l_net_1_1_file_list_progress.xhtml" title="Callback interface set with FileList::SetCallback() in case you want progress notifications when File...">FileListProgress</a>)</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;<a class="code" href="../../db/dbd/_export_8h.xhtml#aa00165c970bdb25e1c757b432509533b">STATIC_FACTORY_DEFINITIONS</a>(<a class="code" href="../../d2/d30/class_s_l_net_1_1_f_l_p___printf.xhtml" title="Implementation of FileListProgress to use RAKNET_DEBUG_PRINTF.">FLP_Printf</a>,FLP_Printf)</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160;<a class="code" href="../../db/dbd/_export_8h.xhtml#aa00165c970bdb25e1c757b432509533b">STATIC_FACTORY_DEFINITIONS</a>(<a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml">FileList</a>,FileList)</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160;</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160;<span class="keywordtype">void</span> FLP_Printf::OnAddFilesFromDirectoryStarted(FileList *fileList, <span class="keywordtype">char</span> *dir) {</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; (void) fileList;</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <a class="code" href="../../d8/db0/defines_8h.xhtml#a2a5d867f7ae6521f217847a78f17ab4a">RAKNET_DEBUG_PRINTF</a>(<span class="stringliteral">&quot;Adding files from directory %s\n&quot;</span>,dir);}</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="keywordtype">void</span> <a class="code" href="../../d2/d30/class_s_l_net_1_1_f_l_p___printf.xhtml#a460c0d9cbb829b06bbda49bd174c61b5" title="Called for each directory, when that directory begins processing.">FLP_Printf::OnDirectory</a>(<a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml">FileList</a> *fileList, <span class="keywordtype">char</span> *dir, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> directoriesRemaining) {</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; (void) fileList;</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <a class="code" href="../../d8/db0/defines_8h.xhtml#a2a5d867f7ae6521f217847a78f17ab4a">RAKNET_DEBUG_PRINTF</a>(<span class="stringliteral">&quot;Adding %s. %i remaining.\n&quot;</span>, dir, directoriesRemaining);} </div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../d2/d30/class_s_l_net_1_1_f_l_p___printf.xhtml#ad121403d888e77d042ec34985d10126f" title="This function is called when all files have been transferred to a particular remote system...">FLP_Printf::OnFilePushesComplete</a>( <a class="code" href="../../d8/dbe/struct_s_l_net_1_1_system_address.xhtml" title="Network address for a system.">SystemAddress</a> systemAddress, <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> setID )</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; (void) setID;</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="keywordtype">char</span> str[32];</div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; systemAddress.<a class="code" href="../../d8/dbe/struct_s_l_net_1_1_system_address.xhtml#a7a994f9c414b5fd7094017b43e7c102b">ToString</a>(<span class="keyword">true</span>, (<span class="keywordtype">char</span>*) str, static_cast&lt;size_t&gt;(32));</div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; <a class="code" href="../../d8/db0/defines_8h.xhtml#a2a5d867f7ae6521f217847a78f17ab4a">RAKNET_DEBUG_PRINTF</a>(<span class="stringliteral">&quot;File pushes complete to %s\n&quot;</span>, str); </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;<span class="keywordtype">void</span> <a class="code" href="../../d2/d30/class_s_l_net_1_1_f_l_p___printf.xhtml#ac9ee250fcbbdb9f4ec040899e679c041" title="This function is called when a send to a system was aborted (probably due to disconnection)">FLP_Printf::OnSendAborted</a>( <a class="code" href="../../d8/dbe/struct_s_l_net_1_1_system_address.xhtml" title="Network address for a system.">SystemAddress</a> systemAddress )</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">char</span> str[32];</div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; systemAddress.<a class="code" href="../../d8/dbe/struct_s_l_net_1_1_system_address.xhtml#a7a994f9c414b5fd7094017b43e7c102b">ToString</a>(<span class="keyword">true</span>, (<span class="keywordtype">char</span>*) str, static_cast&lt;size_t&gt;(32));</div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <a class="code" href="../../d8/db0/defines_8h.xhtml#a2a5d867f7ae6521f217847a78f17ab4a">RAKNET_DEBUG_PRINTF</a>(<span class="stringliteral">&quot;Send aborted to %s\n&quot;</span>, str);</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160;}</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;<a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#a19ab0e14e22582685586ef566f211198">FileList::FileList</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;}</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;<a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#ac634bf7d1ae56e8aaa5da11449dffee1">FileList::~FileList</a>()</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; <a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#a923bc78eedcd71f5279399eb2fc07f3c" title="Deallocate all memory.">Clear</a>();</div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;}</div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#a9917e711caf02c3ce7ebbfd09cef6868" title="Add a file, given data already in memory.">FileList::AddFile</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *filepath, <span class="keyword">const</span> <span class="keywordtype">char</span> *filename, <a class="code" href="../../d6/dff/struct_file_list_node_context.xhtml">FileListNodeContext</a> context)</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; <span class="keywordflow">if</span> (filepath==0 || filename==0)</div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;</div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; <span class="keywordtype">char</span> *data;</div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; <span class="comment">//std::fstream file;</span></div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <span class="comment">//file.open(filename, std::ios::in | std::ios::binary);</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; FILE *fp;</div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <span class="keywordflow">if</span> (fopen_s(&amp;fp, filepath, <span class="stringliteral">&quot;rb&quot;</span>) != 0)</div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; fseek(fp, 0, SEEK_END);</div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; <span class="keywordtype">int</span> length = ftell(fp);</div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; fseek(fp, 0, SEEK_SET);</div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;</div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <span class="keywordflow">if</span> (length &gt; (<span class="keywordtype">int</span>) ((<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>)-1 / 8))</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="comment">// If this assert hits, split up your file. You could also change BitSize_t in types.h to unsigned long long but this is not recommended for performance reasons</span></div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; <a class="code" href="../../d8/db0/defines_8h.xhtml#afaa3647d29f5960651eb23fd3d2b5368">RakAssert</a>(<span class="stringliteral">&quot;Cannot add files over 536 MB&quot;</span> &amp;&amp; 0);</div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; fclose(fp);</div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; }</div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160;</div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160;</div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;<span class="preprocessor">#if USE_ALLOCA==1</span></div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;<span class="preprocessor"></span> <span class="keywordtype">bool</span> usedAlloca=<span class="keyword">false</span>;</div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <span class="keywordflow">if</span> (length &lt; <a class="code" href="../../d8/db0/defines_8h.xhtml#a6bf2bc2d4ea6acbcd9e3da316d56cd95" title="Maximum (stack) size to use with _alloca before using new and delete instead.">MAX_ALLOCA_STACK_ALLOCATION</a>)</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; data = ( <span class="keywordtype">char</span>* ) alloca( length );</div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; usedAlloca=<span class="keyword">true</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="keywordflow">else</span></div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;<span class="preprocessor"></span> {</div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; data = (<span class="keywordtype">char</span>*) <a class="code" href="../../d9/d4c/_rak_memory_override_8cpp.xhtml#aebeb2e4754399ea3e2c7af3dd9bbe8c3">rakMalloc_Ex</a>( length, <a class="code" href="../../d8/db0/defines_8h.xhtml#a8661ec2137eef33a8cd0cd618a748871">_FILE_AND_LINE_</a> );</div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; <a class="code" href="../../d8/db0/defines_8h.xhtml#afaa3647d29f5960651eb23fd3d2b5368">RakAssert</a>(data);</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;</div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; fread(data, 1, length, fp);</div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; <a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#a9917e711caf02c3ce7ebbfd09cef6868" title="Add a file, given data already in memory.">AddFile</a>(filename, filepath, data, length, length, context);</div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; fclose(fp);</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="preprocessor">#if USE_ALLOCA==1</span></div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;<span class="preprocessor"></span> <span class="keywordflow">if</span> (usedAlloca==<span class="keyword">false</span>)</div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160;<span class="preprocessor"></span> <a class="code" href="../../d9/d4c/_rak_memory_override_8cpp.xhtml#ab91fbe0570bf501cd97a53c6cffcef8f">rakFree_Ex</a>(data, <a class="code" href="../../d8/db0/defines_8h.xhtml#a8661ec2137eef33a8cd0cd618a748871">_FILE_AND_LINE_</a> );</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;}</div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#a9917e711caf02c3ce7ebbfd09cef6868" title="Add a file, given data already in memory.">FileList::AddFile</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *filename, <span class="keyword">const</span> <span class="keywordtype">char</span> *fullPathToFile, <span class="keyword">const</span> <span class="keywordtype">char</span> *data, <span class="keyword">const</span> <span class="keywordtype">unsigned</span> dataLength, <span class="keyword">const</span> <span class="keywordtype">unsigned</span> fileLength, <a class="code" href="../../d6/dff/struct_file_list_node_context.xhtml">FileListNodeContext</a> context, <span class="keywordtype">bool</span> isAReference, <span class="keywordtype">bool</span> takeDataPointer)</div>
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160;{</div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; <span class="keywordflow">if</span> (filename==0)</div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; <span class="keywordflow">if</span> (strlen(filename)&gt;MAX_FILENAME_LENGTH)</div>
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; {</div>
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; <span class="comment">// Should be enough for anyone</span></div>
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; <a class="code" href="../../d8/db0/defines_8h.xhtml#afaa3647d29f5960651eb23fd3d2b5368">RakAssert</a>(0);</div>
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; <span class="keywordflow">return</span>;</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; <span class="comment">// If adding a reference, do not send data</span></div>
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; <a class="code" href="../../d8/db0/defines_8h.xhtml#afaa3647d29f5960651eb23fd3d2b5368">RakAssert</a>(isAReference==<span class="keyword">false</span> || data==0);</div>
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; <span class="comment">// Avoid duplicate insertions unless the data is different, in which case overwrite the old data</span></div>
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; <span class="keywordtype">unsigned</span> i;</div>
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; <span class="keywordflow">for</span> (i=0; i&lt;<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="l00181"></a><span class="lineno"> 181</span>&#160; {</div>
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; <span class="keywordflow">if</span> (strcmp(<a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aba78be96dad9e9014e2392cae3d731eb">fileList</a>[i].filename, filename)==0)</div>
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; {</div>
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aba78be96dad9e9014e2392cae3d731eb">fileList</a>[i].fileLengthBytes==fileLength &amp;&amp; <a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aba78be96dad9e9014e2392cae3d731eb">fileList</a>[i].dataLengthBytes==dataLength &amp;&amp;</div>
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; (dataLength==0 || <a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aba78be96dad9e9014e2392cae3d731eb">fileList</a>[i].data==0 ||</div>
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; memcmp(<a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aba78be96dad9e9014e2392cae3d731eb">fileList</a>[i].data, data, dataLength)==0</div>
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; ))</div>
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; <span class="comment">// Exact same file already here</span></div>
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; <span class="keywordflow">return</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; <span class="comment">// File of the same name, but different contents, so overwrite</span></div>
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; <a class="code" href="../../d9/d4c/_rak_memory_override_8cpp.xhtml#ab91fbe0570bf501cd97a53c6cffcef8f">rakFree_Ex</a>(<a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aba78be96dad9e9014e2392cae3d731eb">fileList</a>[i].data, <a class="code" href="../../d8/db0/defines_8h.xhtml#a8661ec2137eef33a8cd0cd618a748871">_FILE_AND_LINE_</a> );</div>
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; <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#a79621376e92b605c4dbdb77aafbb6b60" title="Delete the element at position position.">RemoveAtIndex</a>(i);</div>
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; <span class="keywordflow">break</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; }</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; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#d6/dd8/struct_s_l_net_1_1_file_list_node" title="Represents once instance of a file.">FileListNode</a> n;</div>
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160;<span class="comment">// size_t fileNameLen = strlen(filename);</span></div>
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; <span class="keywordflow">if</span> (dataLength &amp;&amp; data)</div>
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; {</div>
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; <span class="keywordflow">if</span> (takeDataPointer)</div>
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; {</div>
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; n.<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a860a6927d8a14a6c8ce0a45a1019170a" title="File data (may be null if not ready)">data</a>=(<span class="keywordtype">char</span>*) data;</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="keywordflow">else</span></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; n.<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a860a6927d8a14a6c8ce0a45a1019170a" title="File data (may be null if not ready)">data</a>=(<span class="keywordtype">char</span>*) <a class="code" href="../../d9/d4c/_rak_memory_override_8cpp.xhtml#aebeb2e4754399ea3e2c7af3dd9bbe8c3">rakMalloc_Ex</a>( dataLength, <a class="code" href="../../d8/db0/defines_8h.xhtml#a8661ec2137eef33a8cd0cd618a748871">_FILE_AND_LINE_</a> );</div>
<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; <a class="code" href="../../d8/db0/defines_8h.xhtml#afaa3647d29f5960651eb23fd3d2b5368">RakAssert</a>(n.<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a860a6927d8a14a6c8ce0a45a1019170a" title="File data (may be null if not ready)">data</a>);</div>
<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; memcpy(n.<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a860a6927d8a14a6c8ce0a45a1019170a" title="File data (may be null if not ready)">data</a>, data, dataLength);</div>
<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; }</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">else</span></div>
<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; n.<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a860a6927d8a14a6c8ce0a45a1019170a" title="File data (may be null if not ready)">data</a>=0;</div>
<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; n.<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a884c5106e91ef25429fdb07e9567db9e" title="Length of data. May be greater than fileLength if prepended with a file hash.">dataLengthBytes</a>=dataLength;</div>
<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; n.<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#aee34cd0c3473fff8a6dc67a7bd64f1d0" title="Length of the file.">fileLengthBytes</a>=fileLength;</div>
<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; n.<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#abffac9243d76441154e701ca49140b71" title="If true, data and dataLengthBytes should be empty. This is just storing the filename.">isAReference</a>=isAReference;</div>
<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; n.<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#aac2171091819488dc0da94ca504a8f85" title="User specific data for whatever, describing this file.">context</a>=context;</div>
<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; <span class="keywordflow">if</span> (n.<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#aac2171091819488dc0da94ca504a8f85" title="User specific data for whatever, describing this file.">context</a>.<a class="code" href="../../d6/dff/struct_file_list_node_context.xhtml#a54e8a4a84d5e8489619dae7687f7cced">dataPtr</a>==0)</div>
<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; n.<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#aac2171091819488dc0da94ca504a8f85" title="User specific data for whatever, describing this file.">context</a>.<a class="code" href="../../d6/dff/struct_file_list_node_context.xhtml#a54e8a4a84d5e8489619dae7687f7cced">dataPtr</a>=n.<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a860a6927d8a14a6c8ce0a45a1019170a" title="File data (may be null if not ready)">data</a>;</div>
<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; <span class="keywordflow">if</span> (n.<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#aac2171091819488dc0da94ca504a8f85" title="User specific data for whatever, describing this file.">context</a>.<a class="code" href="../../d6/dff/struct_file_list_node_context.xhtml#a0815770b385f61f4e6881410117f9061">dataLength</a>==0)</div>
<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; n.<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#aac2171091819488dc0da94ca504a8f85" title="User specific data for whatever, describing this file.">context</a>.<a class="code" href="../../d6/dff/struct_file_list_node_context.xhtml#a0815770b385f61f4e6881410117f9061">dataLength</a>=dataLength;</div>
<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; n.<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a08657aaaf926faf66dbd4913c4fe56a6" title="Name of the file.">filename</a>=filename;</div>
<div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; n.<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a0c2aed77020a53acbf52ee0294853b98" title="Full path to the file, which may be different than filename.">fullPathToFile</a>=fullPathToFile;</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="../../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#a5cb7d8b68d8d020a34f2186ea8d5b1c6" title="Insert an element at position position in the list.">Insert</a>(n, <a class="code" href="../../d8/db0/defines_8h.xhtml#a8661ec2137eef33a8cd0cd618a748871">_FILE_AND_LINE_</a>);</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="keywordtype">void</span> <a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#a9491361dcaa7cfefc751ae73ff3a49a4" title="Add all the files at a given directory.">FileList::AddFilesFromDirectory</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *applicationDirectory, <span class="keyword">const</span> <span class="keywordtype">char</span> *subDirectory, <span class="keywordtype">bool</span> writeHash, <span class="keywordtype">bool</span> writeData, <span class="keywordtype">bool</span> recursive, <a class="code" href="../../d6/dff/struct_file_list_node_context.xhtml">FileListNodeContext</a> context)</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;</div>
<div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; <a class="code" href="../../d3/d87/class_data_structures_1_1_queue.xhtml" title="A queue implemented as an array with a read and write index.">DataStructures::Queue&lt;char*&gt;</a> dirList;</div>
<div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; <span class="keywordtype">char</span> root[260];</div>
<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; <span class="keywordtype">char</span> fullPath[520];</div>
<div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; _finddata_t fileInfo;</div>
<div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; intptr_t dir;</div>
<div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; FILE *fp;</div>
<div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; <span class="keywordtype">char</span> *dirSoFar, *fileData;</div>
<div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; dirSoFar=(<span class="keywordtype">char</span>*) <a class="code" href="../../d9/d4c/_rak_memory_override_8cpp.xhtml#aebeb2e4754399ea3e2c7af3dd9bbe8c3">rakMalloc_Ex</a>( 520, <a class="code" href="../../d8/db0/defines_8h.xhtml#a8661ec2137eef33a8cd0cd618a748871">_FILE_AND_LINE_</a> );</div>
<div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; <a class="code" href="../../d8/db0/defines_8h.xhtml#afaa3647d29f5960651eb23fd3d2b5368">RakAssert</a>(dirSoFar);</div>
<div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160;</div>
<div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; <span class="keywordflow">if</span> (applicationDirectory)</div>
<div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; strcpy_s(root, applicationDirectory);</div>
<div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; root[0]=0;</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="keywordtype">int</span> rootLen=(int)strlen(root);</div>
<div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; <span class="keywordflow">if</span> (rootLen)</div>
<div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; {</div>
<div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; strcpy_s(dirSoFar, 520, root);</div>
<div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#a65dc316d9f3e4ad6a6a22a0b0649b1f9">FixEndingSlash</a>(dirSoFar, 520))</div>
<div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; rootLen++;</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; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; dirSoFar[0]=0;</div>
<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; </div>
<div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; <span class="keywordflow">if</span> (subDirectory)</div>
<div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; {</div>
<div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; strcat_s(dirSoFar, 520, subDirectory);</div>
<div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; <a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#a65dc316d9f3e4ad6a6a22a0b0649b1f9">FixEndingSlash</a>(dirSoFar, 520);</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">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> flpcIndex=0; flpcIndex &lt; <a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aee849214ab2bea4516ebc91f3af56dbb">fileListProgressCallbacks</a>.<a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml#a6f13a4519693cbd16cd13b1fe284f330">Size</a>(); flpcIndex++)</div>
<div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; <a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aee849214ab2bea4516ebc91f3af56dbb">fileListProgressCallbacks</a>[flpcIndex]-&gt;OnAddFilesFromDirectoryStarted(<span class="keyword">this</span>, dirSoFar);</div>
<div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160; <span class="comment">// RAKNET_DEBUG_PRINTF(&quot;Adding files from directory %s\n&quot;,dirSoFar);</span></div>
<div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; dirList.<a class="code" href="../../d3/d87/class_data_structures_1_1_queue.xhtml#ae564a88f3367a786777694e778a4500d">Push</a>(dirSoFar, <a class="code" href="../../d8/db0/defines_8h.xhtml#a8661ec2137eef33a8cd0cd618a748871">_FILE_AND_LINE_</a> );</div>
<div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; <span class="keywordflow">while</span> (dirList.<a class="code" href="../../d3/d87/class_data_structures_1_1_queue.xhtml#ae2aec093c82f780558c23f8ae9f296b8">Size</a>())</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; dirSoFar=dirList.<a class="code" href="../../d3/d87/class_data_structures_1_1_queue.xhtml#a25272370e684388afd807c5369e4ef87">Pop</a>();</div>
<div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160; strcpy_s(fullPath, dirSoFar);</div>
<div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; <span class="comment">// Changed from *.* to * for Linux compatibility</span></div>
<div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; strcat_s(fullPath, <span class="stringliteral">&quot;*&quot;</span>);</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;</div>
<div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; dir=_findfirst(fullPath, &amp;fileInfo );</div>
<div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; <span class="keywordflow">if</span> (dir==-1)</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; _findclose(dir);</div>
<div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; <a class="code" href="../../d9/d4c/_rak_memory_override_8cpp.xhtml#ab91fbe0570bf501cd97a53c6cffcef8f">rakFree_Ex</a>(dirSoFar, <a class="code" href="../../d8/db0/defines_8h.xhtml#a8661ec2137eef33a8cd0cd618a748871">_FILE_AND_LINE_</a> );</div>
<div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160; <span class="keywordtype">unsigned</span> i;</div>
<div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160; <span class="keywordflow">for</span> (i=0; i &lt; dirList.<a class="code" href="../../d3/d87/class_data_structures_1_1_queue.xhtml#ae2aec093c82f780558c23f8ae9f296b8">Size</a>(); i++)</div>
<div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160; <a class="code" href="../../d9/d4c/_rak_memory_override_8cpp.xhtml#ab91fbe0570bf501cd97a53c6cffcef8f">rakFree_Ex</a>(dirList[i], <a class="code" href="../../d8/db0/defines_8h.xhtml#a8661ec2137eef33a8cd0cd618a748871">_FILE_AND_LINE_</a> );</div>
<div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; }</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;<span class="comment">// RAKNET_DEBUG_PRINTF(&quot;Adding %s. %i remaining.\n&quot;, fullPath, dirList.Size());</span></div>
<div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> flpcIndex=0; flpcIndex &lt; <a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aee849214ab2bea4516ebc91f3af56dbb">fileListProgressCallbacks</a>.<a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml#a6f13a4519693cbd16cd13b1fe284f330">Size</a>(); flpcIndex++)</div>
<div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160; <a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aee849214ab2bea4516ebc91f3af56dbb">fileListProgressCallbacks</a>[flpcIndex]-&gt;OnDirectory(<span class="keyword">this</span>, fullPath, dirList.<a class="code" href="../../d3/d87/class_data_structures_1_1_queue.xhtml#ae2aec093c82f780558c23f8ae9f296b8">Size</a>());</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="keywordflow">do</span></div>
<div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; {</div>
<div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; <span class="comment">// no guarantee these entries are first...</span></div>
<div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160; <span class="keywordflow">if</span> (strcmp(<span class="stringliteral">&quot;.&quot;</span> , fileInfo.name) == 0 ||</div>
<div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; strcmp(<span class="stringliteral">&quot;..&quot;</span>, fileInfo.name) == 0)</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="keywordflow">continue</span>;</div>
<div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; }</div>
<div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160; </div>
<div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160; <span class="keywordflow">if</span> ((fileInfo.attrib &amp; (_A_HIDDEN | _A_SUBDIR | _A_SYSTEM))==0)</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; strcpy_s(fullPath, dirSoFar);</div>
<div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160; strcat_s(fullPath, fileInfo.name);</div>
<div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160; fileData=0;</div>
<div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160;</div>
<div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> flpcIndex=0; flpcIndex &lt; <a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aee849214ab2bea4516ebc91f3af56dbb">fileListProgressCallbacks</a>.<a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml#a6f13a4519693cbd16cd13b1fe284f330">Size</a>(); flpcIndex++)</div>
<div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160; <a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aee849214ab2bea4516ebc91f3af56dbb">fileListProgressCallbacks</a>[flpcIndex]-&gt;OnFile(<span class="keyword">this</span>, dirSoFar, fileInfo.name, fileInfo.size);</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; <span class="keywordflow">if</span> (writeData &amp;&amp; writeHash)</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; <span class="keywordflow">if</span> (fopen_s(&amp;fp, fullPath, <span class="stringliteral">&quot;rb&quot;</span>) == 0)</div>
<div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160; {</div>
<div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; fileData= (<span class="keywordtype">char</span>*) <a class="code" href="../../d9/d4c/_rak_memory_override_8cpp.xhtml#aebeb2e4754399ea3e2c7af3dd9bbe8c3">rakMalloc_Ex</a>( fileInfo.size+HASH_LENGTH, <a class="code" href="../../d8/db0/defines_8h.xhtml#a8661ec2137eef33a8cd0cd618a748871">_FILE_AND_LINE_</a> );</div>
<div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160; <a class="code" href="../../d8/db0/defines_8h.xhtml#afaa3647d29f5960651eb23fd3d2b5368">RakAssert</a>(fileData);</div>
<div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160; fread(fileData+HASH_LENGTH, fileInfo.size, 1, fp);</div>
<div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; fclose(fp);</div>
<div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160;</div>
<div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> hash = <a class="code" href="../../d4/dcf/_super_fast_hash_8cpp.xhtml#ae1d6670c44d102bfe359bed5b529bdf6">SuperFastHash</a>(fileData+HASH_LENGTH, fileInfo.size);</div>
<div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#adc5a85144836608947830e902cca005f" title="-— Member function template specialization declarations -—">SLNet::BitStream::DoEndianSwap</a>())</div>
<div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; <a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a3ba4c1a60776e63dcf17396b536d3fe8">SLNet::BitStream::ReverseBytesInPlace</a>((<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>*) &amp;hash, <span class="keyword">sizeof</span>(hash));</div>
<div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160; memcpy(fileData, &amp;hash, HASH_LENGTH);</div>
<div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160;</div>
<div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160; <span class="comment">// sha1.Reset();</span></div>
<div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160; <span class="comment">// sha1.Update( ( unsigned char* ) fileData+HASH_LENGTH, fileInfo.size );</span></div>
<div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160; <span class="comment">// sha1.Final();</span></div>
<div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160; <span class="comment">// memcpy(fileData, sha1.GetHash(), HASH_LENGTH);</span></div>
<div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160; <span class="comment">// File data and hash</span></div>
<div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160; <a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#a9917e711caf02c3ce7ebbfd09cef6868" title="Add a file, given data already in memory.">AddFile</a>((<span class="keyword">const</span> <span class="keywordtype">char</span>*)fullPath+rootLen, fullPath, fileData, fileInfo.size+HASH_LENGTH, fileInfo.size, context);</div>
<div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160; } </div>
<div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160; }</div>
<div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (writeHash)</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="comment">// sha1.Reset();</span></div>
<div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160;<span class="comment">// DR_SHA1.hashFile((char*)fullPath);</span></div>
<div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160;<span class="comment">// sha1.Final();</span></div>
<div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160;</div>
<div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> hash = <a class="code" href="../../d4/dcf/_super_fast_hash_8cpp.xhtml#ab14f69dd56f375f68534678404453ce3">SuperFastHashFile</a>(fullPath);</div>
<div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#adc5a85144836608947830e902cca005f" title="-— Member function template specialization declarations -—">SLNet::BitStream::DoEndianSwap</a>())</div>
<div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160; <a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a3ba4c1a60776e63dcf17396b536d3fe8">SLNet::BitStream::ReverseBytesInPlace</a>((<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>*) &amp;hash, <span class="keyword">sizeof</span>(hash));</div>
<div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160;</div>
<div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; <span class="comment">// Hash only</span></div>
<div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160; <span class="comment">// AddFile((const char*)fullPath+rootLen, (const char*)sha1.GetHash(), HASH_LENGTH, fileInfo.size, context);</span></div>
<div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160; <a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#a9917e711caf02c3ce7ebbfd09cef6868" title="Add a file, given data already in memory.">AddFile</a>((<span class="keyword">const</span> <span class="keywordtype">char</span>*)fullPath+rootLen, fullPath, (<span class="keyword">const</span> <span class="keywordtype">char</span>*)&amp;hash, HASH_LENGTH, fileInfo.size, context);</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; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (writeData)</div>
<div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160; {</div>
<div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160; fileData= (<span class="keywordtype">char</span>*) <a class="code" href="../../d9/d4c/_rak_memory_override_8cpp.xhtml#aebeb2e4754399ea3e2c7af3dd9bbe8c3">rakMalloc_Ex</a>( fileInfo.size, <a class="code" href="../../d8/db0/defines_8h.xhtml#a8661ec2137eef33a8cd0cd618a748871">_FILE_AND_LINE_</a> );</div>
<div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160; <a class="code" href="../../d8/db0/defines_8h.xhtml#afaa3647d29f5960651eb23fd3d2b5368">RakAssert</a>(fileData);</div>
<div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160; fopen_s(&amp;fp, fullPath, <span class="stringliteral">&quot;rb&quot;</span>);</div>
<div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160; fread(fileData, fileInfo.size, 1, fp);</div>
<div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160; fclose(fp);</div>
<div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160;</div>
<div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160; <span class="comment">// File data only</span></div>
<div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160; <a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#a9917e711caf02c3ce7ebbfd09cef6868" title="Add a file, given data already in memory.">AddFile</a>(fullPath+rootLen, fullPath, fileData, fileInfo.size, fileInfo.size, context);</div>
<div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160; }</div>
<div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160; {</div>
<div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160; <span class="comment">// Just the filename</span></div>
<div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160; <a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#a9917e711caf02c3ce7ebbfd09cef6868" title="Add a file, given data already in memory.">AddFile</a>(fullPath+rootLen, fullPath, 0, 0, fileInfo.size, context);</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;</div>
<div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160; <span class="keywordflow">if</span> (fileData)</div>
<div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160; <a class="code" href="../../d9/d4c/_rak_memory_override_8cpp.xhtml#ab91fbe0570bf501cd97a53c6cffcef8f">rakFree_Ex</a>(fileData, <a class="code" href="../../d8/db0/defines_8h.xhtml#a8661ec2137eef33a8cd0cd618a748871">_FILE_AND_LINE_</a> );</div>
<div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160; }</div>
<div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> ((fileInfo.attrib &amp; _A_SUBDIR) &amp;&amp; (fileInfo.attrib &amp; (_A_HIDDEN | _A_SYSTEM))==0 &amp;&amp; recursive)</div>
<div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160; {</div>
<div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160; <span class="keywordtype">char</span> *newDir=(<span class="keywordtype">char</span>*) <a class="code" href="../../d9/d4c/_rak_memory_override_8cpp.xhtml#aebeb2e4754399ea3e2c7af3dd9bbe8c3">rakMalloc_Ex</a>( 520, <a class="code" href="../../d8/db0/defines_8h.xhtml#a8661ec2137eef33a8cd0cd618a748871">_FILE_AND_LINE_</a> );</div>
<div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160; <a class="code" href="../../d8/db0/defines_8h.xhtml#afaa3647d29f5960651eb23fd3d2b5368">RakAssert</a>(newDir);</div>
<div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160; strcpy_s(newDir, 520, dirSoFar);</div>
<div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160; strcat_s(newDir, 520, fileInfo.name);</div>
<div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; strcat_s(newDir, 520, <span class="stringliteral">&quot;/&quot;</span>);</div>
<div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; dirList.<a class="code" href="../../d3/d87/class_data_structures_1_1_queue.xhtml#ae564a88f3367a786777694e778a4500d">Push</a>(newDir, <a class="code" href="../../d8/db0/defines_8h.xhtml#a8661ec2137eef33a8cd0cd618a748871">_FILE_AND_LINE_</a> );</div>
<div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160; }</div>
<div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160;</div>
<div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; } <span class="keywordflow">while</span> (_findnext(dir, &amp;fileInfo ) != -1);</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; _findclose(dir);</div>
<div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160; <a class="code" href="../../d9/d4c/_rak_memory_override_8cpp.xhtml#ab91fbe0570bf501cd97a53c6cffcef8f">rakFree_Ex</a>(dirSoFar, <a class="code" href="../../d8/db0/defines_8h.xhtml#a8661ec2137eef33a8cd0cd618a748871">_FILE_AND_LINE_</a> );</div>
<div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160; }</div>
<div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160;</div>
<div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160;}</div>
<div class="line"><a name="l00381"></a><span class="lineno"> 381</span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#a923bc78eedcd71f5279399eb2fc07f3c" title="Deallocate all memory.">FileList::Clear</a>(<span class="keywordtype">void</span>)</div>
<div class="line"><a name="l00382"></a><span class="lineno"> 382</span>&#160;{</div>
<div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160; <span class="keywordtype">unsigned</span> i;</div>
<div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160; <span class="keywordflow">for</span> (i=0; i&lt;<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="l00385"></a><span class="lineno"> 385</span>&#160; {</div>
<div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160; <a class="code" href="../../d9/d4c/_rak_memory_override_8cpp.xhtml#ab91fbe0570bf501cd97a53c6cffcef8f">rakFree_Ex</a>(<a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aba78be96dad9e9014e2392cae3d731eb">fileList</a>[i].data, <a class="code" href="../../d8/db0/defines_8h.xhtml#a8661ec2137eef33a8cd0cd618a748871">_FILE_AND_LINE_</a> );</div>
<div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160; }</div>
<div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160; <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#a34219a5ce92981102d06fb1da7842a6b" title="Clear the list.">Clear</a>(<span class="keyword">false</span>, <a class="code" href="../../d8/db0/defines_8h.xhtml#a8661ec2137eef33a8cd0cd618a748871">_FILE_AND_LINE_</a>);</div>
<div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160;}</div>
<div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#a9481041b75367785c2e95af276820c8d" title="Write all encoded data into a bitstream.">FileList::Serialize</a>(<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a> *outBitStream)</div>
<div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160;{</div>
<div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160; outBitStream-&gt;<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a24121050ec7d63a6eba5d1b243b4922b" title="Write any integral type to a bitstream.">WriteCompressed</a>(<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="l00393"></a><span class="lineno"> 393</span>&#160; <span class="keywordtype">unsigned</span> i;</div>
<div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160; <span class="keywordflow">for</span> (i=0; i &lt; <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="l00395"></a><span class="lineno"> 395</span>&#160; {</div>
<div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160; outBitStream-&gt;<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a24121050ec7d63a6eba5d1b243b4922b" title="Write any integral type to a bitstream.">WriteCompressed</a>(<a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aba78be96dad9e9014e2392cae3d731eb">fileList</a>[i].context.<a class="code" href="../../d6/dff/struct_file_list_node_context.xhtml#a380f8bb5c81f31092e629ed4a12c4b70">op</a>);</div>
<div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160; outBitStream-&gt;<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a24121050ec7d63a6eba5d1b243b4922b" title="Write any integral type to a bitstream.">WriteCompressed</a>(<a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aba78be96dad9e9014e2392cae3d731eb">fileList</a>[i].context.<a class="code" href="../../d6/dff/struct_file_list_node_context.xhtml#a01936c842914204392a8dca3e488adf2">flnc_extraData1</a>);</div>
<div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160; outBitStream-&gt;<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a24121050ec7d63a6eba5d1b243b4922b" title="Write any integral type to a bitstream.">WriteCompressed</a>(<a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aba78be96dad9e9014e2392cae3d731eb">fileList</a>[i].context.<a class="code" href="../../d6/dff/struct_file_list_node_context.xhtml#a4286a4065fbf45af8d2645e729f1c038">flnc_extraData2</a>);</div>
<div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160; <a class="code" href="../../de/d3d/class_s_l_net_1_1_string_compressor.xhtml#acbd6add1c51c15fbbb616ce17b527aab">StringCompressor::Instance</a>()-&gt;<a class="code" href="../../de/d3d/class_s_l_net_1_1_string_compressor.xhtml#a44be8cc8a469a28085a7502650040459">EncodeString</a>(<a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aba78be96dad9e9014e2392cae3d731eb">fileList</a>[i].filename.C_String(), MAX_FILENAME_LENGTH, outBitStream);</div>
<div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160;</div>
<div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160; <span class="keywordtype">bool</span> writeFileData = (<a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aba78be96dad9e9014e2392cae3d731eb">fileList</a>[i].dataLengthBytes&gt;0)==<span class="keyword">true</span>;</div>
<div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160; outBitStream-&gt;<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a2d1187ee508dc9d231d27aed1867d201" title="Write any integral type to a bitstream.">Write</a>(writeFileData);</div>
<div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160; <span class="keywordflow">if</span> (writeFileData)</div>
<div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160; {</div>
<div class="line"><a name="l00405"></a><span class="lineno"> 405</span>&#160; outBitStream-&gt;<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a24121050ec7d63a6eba5d1b243b4922b" title="Write any integral type to a bitstream.">WriteCompressed</a>(<a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aba78be96dad9e9014e2392cae3d731eb">fileList</a>[i].dataLengthBytes);</div>
<div class="line"><a name="l00406"></a><span class="lineno"> 406</span>&#160; outBitStream-&gt;<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a2d1187ee508dc9d231d27aed1867d201" title="Write any integral type to a bitstream.">Write</a>(<a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aba78be96dad9e9014e2392cae3d731eb">fileList</a>[i].data, <a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aba78be96dad9e9014e2392cae3d731eb">fileList</a>[i].dataLengthBytes);</div>
<div class="line"><a name="l00407"></a><span class="lineno"> 407</span>&#160; }</div>
<div class="line"><a name="l00408"></a><span class="lineno"> 408</span>&#160;</div>
<div class="line"><a name="l00409"></a><span class="lineno"> 409</span>&#160; outBitStream-&gt;<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a2d1187ee508dc9d231d27aed1867d201" title="Write any integral type to a bitstream.">Write</a>((<span class="keywordtype">bool</span>)(<a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aba78be96dad9e9014e2392cae3d731eb">fileList</a>[i].fileLengthBytes==<a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aba78be96dad9e9014e2392cae3d731eb">fileList</a>[i].dataLengthBytes));</div>
<div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aba78be96dad9e9014e2392cae3d731eb">fileList</a>[i].fileLengthBytes!=<a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aba78be96dad9e9014e2392cae3d731eb">fileList</a>[i].dataLengthBytes)</div>
<div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160; outBitStream-&gt;<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a24121050ec7d63a6eba5d1b243b4922b" title="Write any integral type to a bitstream.">WriteCompressed</a>(<a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aba78be96dad9e9014e2392cae3d731eb">fileList</a>[i].fileLengthBytes);</div>
<div class="line"><a name="l00412"></a><span class="lineno"> 412</span>&#160; }</div>
<div class="line"><a name="l00413"></a><span class="lineno"> 413</span>&#160;}</div>
<div class="line"><a name="l00414"></a><span class="lineno"> 414</span>&#160;<span class="keywordtype">bool</span> <a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#a51a1f369424577edcfd6d476272ace14" title="Read all encoded data from a bitstream. Clear() is called before deserializing.">FileList::Deserialize</a>(<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a> *inBitStream)</div>
<div class="line"><a name="l00415"></a><span class="lineno"> 415</span>&#160;{</div>
<div class="line"><a name="l00416"></a><span class="lineno"> 416</span>&#160; <span class="keywordtype">bool</span> b, dataLenNonZero=<span class="keyword">false</span>, fileLenMatchesDataLen=<span class="keyword">false</span>;</div>
<div class="line"><a name="l00417"></a><span class="lineno"> 417</span>&#160; <span class="keywordtype">char</span> filename[512];</div>
<div class="line"><a name="l00418"></a><span class="lineno"> 418</span>&#160; <a class="code" href="../../df/df2/_native_types_8h.xhtml#a6eb1e68cc391dd753bc8ce896dbb8315">uint32_t</a> fileListSize;</div>
<div class="line"><a name="l00419"></a><span class="lineno"> 419</span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#d6/dd8/struct_s_l_net_1_1_file_list_node" title="Represents once instance of a file.">FileListNode</a> n;</div>
<div class="line"><a name="l00420"></a><span class="lineno"> 420</span>&#160; b=inBitStream-&gt;<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#ac7fcbda7a05b5c7bd7018205cb1bb7b0" title="Read any integral type from a bitstream.">ReadCompressed</a>(fileListSize);</div>
<div class="line"><a name="l00421"></a><span class="lineno"> 421</span>&#160;<span class="preprocessor">#ifdef _DEBUG</span></div>
<div class="line"><a name="l00422"></a><span class="lineno"> 422</span>&#160;<span class="preprocessor"></span> <a class="code" href="../../d8/db0/defines_8h.xhtml#afaa3647d29f5960651eb23fd3d2b5368">RakAssert</a>(b);</div>
<div class="line"><a name="l00423"></a><span class="lineno"> 423</span>&#160; <a class="code" href="../../d8/db0/defines_8h.xhtml#afaa3647d29f5960651eb23fd3d2b5368">RakAssert</a>(fileListSize &lt; 10000);</div>
<div class="line"><a name="l00424"></a><span class="lineno"> 424</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00425"></a><span class="lineno"> 425</span>&#160;<span class="preprocessor"></span> <span class="keywordflow">if</span> (b==<span class="keyword">false</span> || fileListSize &gt; 10000)</div>
<div class="line"><a name="l00426"></a><span class="lineno"> 426</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>; <span class="comment">// Sanity check</span></div>
<div class="line"><a name="l00427"></a><span class="lineno"> 427</span>&#160; <a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#a923bc78eedcd71f5279399eb2fc07f3c" title="Deallocate all memory.">Clear</a>(); </div>
<div class="line"><a name="l00428"></a><span class="lineno"> 428</span>&#160; <span class="keywordtype">unsigned</span> i;</div>
<div class="line"><a name="l00429"></a><span class="lineno"> 429</span>&#160; <span class="keywordflow">for</span> (i=0; i &lt; fileListSize; i++)</div>
<div class="line"><a name="l00430"></a><span class="lineno"> 430</span>&#160; {</div>
<div class="line"><a name="l00431"></a><span class="lineno"> 431</span>&#160; inBitStream-&gt;<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#ac7fcbda7a05b5c7bd7018205cb1bb7b0" title="Read any integral type from a bitstream.">ReadCompressed</a>(n.<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#aac2171091819488dc0da94ca504a8f85" title="User specific data for whatever, describing this file.">context</a>.<a class="code" href="../../d6/dff/struct_file_list_node_context.xhtml#a380f8bb5c81f31092e629ed4a12c4b70">op</a>);</div>
<div class="line"><a name="l00432"></a><span class="lineno"> 432</span>&#160; inBitStream-&gt;<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#ac7fcbda7a05b5c7bd7018205cb1bb7b0" title="Read any integral type from a bitstream.">ReadCompressed</a>(n.<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#aac2171091819488dc0da94ca504a8f85" title="User specific data for whatever, describing this file.">context</a>.<a class="code" href="../../d6/dff/struct_file_list_node_context.xhtml#a01936c842914204392a8dca3e488adf2">flnc_extraData1</a>);</div>
<div class="line"><a name="l00433"></a><span class="lineno"> 433</span>&#160; inBitStream-&gt;<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#ac7fcbda7a05b5c7bd7018205cb1bb7b0" title="Read any integral type from a bitstream.">ReadCompressed</a>(n.<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#aac2171091819488dc0da94ca504a8f85" title="User specific data for whatever, describing this file.">context</a>.<a class="code" href="../../d6/dff/struct_file_list_node_context.xhtml#a4286a4065fbf45af8d2645e729f1c038">flnc_extraData2</a>);</div>
<div class="line"><a name="l00434"></a><span class="lineno"> 434</span>&#160; <a class="code" href="../../de/d3d/class_s_l_net_1_1_string_compressor.xhtml#acbd6add1c51c15fbbb616ce17b527aab">StringCompressor::Instance</a>()-&gt;<a class="code" href="../../de/d3d/class_s_l_net_1_1_string_compressor.xhtml#a5ff01d168653fbd47d917e7ffd3675cd">DecodeString</a>((<span class="keywordtype">char</span>*)filename, MAX_FILENAME_LENGTH, inBitStream);</div>
<div class="line"><a name="l00435"></a><span class="lineno"> 435</span>&#160; inBitStream-&gt;<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a59f38126d8d19bfd264a2e2cace7d1db" title="Read any integral type from a bitstream.">Read</a>(dataLenNonZero);</div>
<div class="line"><a name="l00436"></a><span class="lineno"> 436</span>&#160; <span class="keywordflow">if</span> (dataLenNonZero)</div>
<div class="line"><a name="l00437"></a><span class="lineno"> 437</span>&#160; {</div>
<div class="line"><a name="l00438"></a><span class="lineno"> 438</span>&#160; inBitStream-&gt;<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#ac7fcbda7a05b5c7bd7018205cb1bb7b0" title="Read any integral type from a bitstream.">ReadCompressed</a>(n.<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a884c5106e91ef25429fdb07e9567db9e" title="Length of data. May be greater than fileLength if prepended with a file hash.">dataLengthBytes</a>);</div>
<div class="line"><a name="l00439"></a><span class="lineno"> 439</span>&#160; <span class="comment">// sanity check</span></div>
<div class="line"><a name="l00440"></a><span class="lineno"> 440</span>&#160; <span class="keywordflow">if</span> (n.<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a884c5106e91ef25429fdb07e9567db9e" title="Length of data. May be greater than fileLength if prepended with a file hash.">dataLengthBytes</a>&gt;2000000000)</div>
<div class="line"><a name="l00441"></a><span class="lineno"> 441</span>&#160; {</div>
<div class="line"><a name="l00442"></a><span class="lineno"> 442</span>&#160;<span class="preprocessor">#ifdef _DEBUG</span></div>
<div class="line"><a name="l00443"></a><span class="lineno"> 443</span>&#160;<span class="preprocessor"></span> <a class="code" href="../../d8/db0/defines_8h.xhtml#afaa3647d29f5960651eb23fd3d2b5368">RakAssert</a>(n.<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a884c5106e91ef25429fdb07e9567db9e" title="Length of data. May be greater than fileLength if prepended with a file hash.">dataLengthBytes</a>&lt;=2000000000);</div>
<div class="line"><a name="l00444"></a><span class="lineno"> 444</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00445"></a><span class="lineno"> 445</span>&#160;<span class="preprocessor"></span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00446"></a><span class="lineno"> 446</span>&#160; }</div>
<div class="line"><a name="l00447"></a><span class="lineno"> 447</span>&#160; n.<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a860a6927d8a14a6c8ce0a45a1019170a" title="File data (may be null if not ready)">data</a>=(<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>) n.<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a884c5106e91ef25429fdb07e9567db9e" title="Length of data. May be greater than fileLength if prepended with a file hash.">dataLengthBytes</a>, <a class="code" href="../../d8/db0/defines_8h.xhtml#a8661ec2137eef33a8cd0cd618a748871">_FILE_AND_LINE_</a> );</div>
<div class="line"><a name="l00448"></a><span class="lineno"> 448</span>&#160; <a class="code" href="../../d8/db0/defines_8h.xhtml#afaa3647d29f5960651eb23fd3d2b5368">RakAssert</a>(n.<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a860a6927d8a14a6c8ce0a45a1019170a" title="File data (may be null if not ready)">data</a>);</div>
<div class="line"><a name="l00449"></a><span class="lineno"> 449</span>&#160; inBitStream-&gt;<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a59f38126d8d19bfd264a2e2cace7d1db" title="Read any integral type from a bitstream.">Read</a>(n.<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a860a6927d8a14a6c8ce0a45a1019170a" title="File data (may be null if not ready)">data</a>, n.<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a884c5106e91ef25429fdb07e9567db9e" title="Length of data. May be greater than fileLength if prepended with a file hash.">dataLengthBytes</a>);</div>
<div class="line"><a name="l00450"></a><span class="lineno"> 450</span>&#160; }</div>
<div class="line"><a name="l00451"></a><span class="lineno"> 451</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00452"></a><span class="lineno"> 452</span>&#160; {</div>
<div class="line"><a name="l00453"></a><span class="lineno"> 453</span>&#160; n.<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a884c5106e91ef25429fdb07e9567db9e" title="Length of data. May be greater than fileLength if prepended with a file hash.">dataLengthBytes</a>=0;</div>
<div class="line"><a name="l00454"></a><span class="lineno"> 454</span>&#160; n.<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a860a6927d8a14a6c8ce0a45a1019170a" title="File data (may be null if not ready)">data</a>=0;</div>
<div class="line"><a name="l00455"></a><span class="lineno"> 455</span>&#160; }</div>
<div class="line"><a name="l00456"></a><span class="lineno"> 456</span>&#160; </div>
<div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160; b=inBitStream-&gt;<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a59f38126d8d19bfd264a2e2cace7d1db" title="Read any integral type from a bitstream.">Read</a>(fileLenMatchesDataLen);</div>
<div class="line"><a name="l00458"></a><span class="lineno"> 458</span>&#160; <span class="keywordflow">if</span> (fileLenMatchesDataLen)</div>
<div class="line"><a name="l00459"></a><span class="lineno"> 459</span>&#160; n.<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#aee34cd0c3473fff8a6dc67a7bd64f1d0" title="Length of the file.">fileLengthBytes</a>=(unsigned) n.<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a884c5106e91ef25429fdb07e9567db9e" title="Length of data. May be greater than fileLength if prepended with a file hash.">dataLengthBytes</a>;</div>
<div class="line"><a name="l00460"></a><span class="lineno"> 460</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00461"></a><span class="lineno"> 461</span>&#160; b=inBitStream-&gt;<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#ac7fcbda7a05b5c7bd7018205cb1bb7b0" title="Read any integral type from a bitstream.">ReadCompressed</a>(n.<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#aee34cd0c3473fff8a6dc67a7bd64f1d0" title="Length of the file.">fileLengthBytes</a>);</div>
<div class="line"><a name="l00462"></a><span class="lineno"> 462</span>&#160;<span class="preprocessor">#ifdef _DEBUG</span></div>
<div class="line"><a name="l00463"></a><span class="lineno"> 463</span>&#160;<span class="preprocessor"></span> <a class="code" href="../../d8/db0/defines_8h.xhtml#afaa3647d29f5960651eb23fd3d2b5368">RakAssert</a>(b);</div>
<div class="line"><a name="l00464"></a><span class="lineno"> 464</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00465"></a><span class="lineno"> 465</span>&#160;<span class="preprocessor"></span> <span class="keywordflow">if</span> (b==0)</div>
<div class="line"><a name="l00466"></a><span class="lineno"> 466</span>&#160; {</div>
<div class="line"><a name="l00467"></a><span class="lineno"> 467</span>&#160; <a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#a923bc78eedcd71f5279399eb2fc07f3c" title="Deallocate all memory.">Clear</a>();</div>
<div class="line"><a name="l00468"></a><span class="lineno"> 468</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00469"></a><span class="lineno"> 469</span>&#160; }</div>
<div class="line"><a name="l00470"></a><span class="lineno"> 470</span>&#160; n.<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a08657aaaf926faf66dbd4913c4fe56a6" title="Name of the file.">filename</a>=filename;</div>
<div class="line"><a name="l00471"></a><span class="lineno"> 471</span>&#160; n.<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a0c2aed77020a53acbf52ee0294853b98" title="Full path to the file, which may be different than filename.">fullPathToFile</a>=filename;</div>
<div class="line"><a name="l00472"></a><span class="lineno"> 472</span>&#160; <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#a5cb7d8b68d8d020a34f2186ea8d5b1c6" title="Insert an element at position position in the list.">Insert</a>(n, <a class="code" href="../../d8/db0/defines_8h.xhtml#a8661ec2137eef33a8cd0cd618a748871">_FILE_AND_LINE_</a>);</div>
<div class="line"><a name="l00473"></a><span class="lineno"> 473</span>&#160; }</div>
<div class="line"><a name="l00474"></a><span class="lineno"> 474</span>&#160;</div>
<div class="line"><a name="l00475"></a><span class="lineno"> 475</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00476"></a><span class="lineno"> 476</span>&#160;}</div>
<div class="line"><a name="l00477"></a><span class="lineno"> 477</span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aad3afd0c0f5accb17476ab3aed4fb7b5" title="Return the files that need to be written to make input match this current FileList.">FileList::GetDeltaToCurrent</a>(<a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml">FileList</a> *input, <a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml">FileList</a> *output, <span class="keyword">const</span> <span class="keywordtype">char</span> *dirSubset, <span class="keyword">const</span> <span class="keywordtype">char</span> *remoteSubdir)</div>
<div class="line"><a name="l00478"></a><span class="lineno"> 478</span>&#160;{</div>
<div class="line"><a name="l00479"></a><span class="lineno"> 479</span>&#160; <span class="comment">// For all files in this list that do not match the input list, write them to the output list.</span></div>
<div class="line"><a name="l00480"></a><span class="lineno"> 480</span>&#160; <span class="comment">// dirSubset allows checking only a portion of the files in this list.</span></div>
<div class="line"><a name="l00481"></a><span class="lineno"> 481</span>&#160; <span class="keywordtype">unsigned</span> thisIndex, inputIndex;</div>
<div class="line"><a name="l00482"></a><span class="lineno"> 482</span>&#160; <span class="keywordtype">unsigned</span> dirSubsetLen, localPathLen, remoteSubdirLen;</div>
<div class="line"><a name="l00483"></a><span class="lineno"> 483</span>&#160; <span class="keywordtype">bool</span> match;</div>
<div class="line"><a name="l00484"></a><span class="lineno"> 484</span>&#160; <span class="keywordflow">if</span> (dirSubset)</div>
<div class="line"><a name="l00485"></a><span class="lineno"> 485</span>&#160; dirSubsetLen = (<span class="keywordtype">unsigned</span> int) strlen(dirSubset);</div>
<div class="line"><a name="l00486"></a><span class="lineno"> 486</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00487"></a><span class="lineno"> 487</span>&#160; dirSubsetLen = 0;</div>
<div class="line"><a name="l00488"></a><span class="lineno"> 488</span>&#160; <span class="keywordflow">if</span> (remoteSubdir &amp;&amp; remoteSubdir[0])</div>
<div class="line"><a name="l00489"></a><span class="lineno"> 489</span>&#160; {</div>
<div class="line"><a name="l00490"></a><span class="lineno"> 490</span>&#160; remoteSubdirLen=(<span class="keywordtype">unsigned</span> int) strlen(remoteSubdir);</div>
<div class="line"><a name="l00491"></a><span class="lineno"> 491</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="../../d8/da5/_file_operations_8h.xhtml#ad30d0fb7f4df6608342496e2cb2d3c2e">IsSlash</a>(remoteSubdir[remoteSubdirLen-1]))</div>
<div class="line"><a name="l00492"></a><span class="lineno"> 492</span>&#160; remoteSubdirLen--;</div>
<div class="line"><a name="l00493"></a><span class="lineno"> 493</span>&#160; }</div>
<div class="line"><a name="l00494"></a><span class="lineno"> 494</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00495"></a><span class="lineno"> 495</span>&#160; remoteSubdirLen=0;</div>
<div class="line"><a name="l00496"></a><span class="lineno"> 496</span>&#160;</div>
<div class="line"><a name="l00497"></a><span class="lineno"> 497</span>&#160; <span class="keywordflow">for</span> (thisIndex=0; thisIndex &lt; <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>(); thisIndex++)</div>
<div class="line"><a name="l00498"></a><span class="lineno"> 498</span>&#160; {</div>
<div class="line"><a name="l00499"></a><span class="lineno"> 499</span>&#160; localPathLen = (<span class="keywordtype">unsigned</span> int) <a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aba78be96dad9e9014e2392cae3d731eb">fileList</a>[thisIndex].filename.GetLength();</div>
<div class="line"><a name="l00500"></a><span class="lineno"> 500</span>&#160; <span class="keywordflow">while</span> (localPathLen&gt;0)</div>
<div class="line"><a name="l00501"></a><span class="lineno"> 501</span>&#160; {</div>
<div class="line"><a name="l00502"></a><span class="lineno"> 502</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="../../d8/da5/_file_operations_8h.xhtml#ad30d0fb7f4df6608342496e2cb2d3c2e">IsSlash</a>(<a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aba78be96dad9e9014e2392cae3d731eb">fileList</a>[thisIndex].filename[localPathLen-1]))</div>
<div class="line"><a name="l00503"></a><span class="lineno"> 503</span>&#160; {</div>
<div class="line"><a name="l00504"></a><span class="lineno"> 504</span>&#160; localPathLen--;</div>
<div class="line"><a name="l00505"></a><span class="lineno"> 505</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00506"></a><span class="lineno"> 506</span>&#160; }</div>
<div class="line"><a name="l00507"></a><span class="lineno"> 507</span>&#160; localPathLen--;</div>
<div class="line"><a name="l00508"></a><span class="lineno"> 508</span>&#160; }</div>
<div class="line"><a name="l00509"></a><span class="lineno"> 509</span>&#160;</div>
<div class="line"><a name="l00510"></a><span class="lineno"> 510</span>&#160; <span class="comment">// fileList[thisIndex].filename has to match dirSubset and be shorter or equal to it in length.</span></div>
<div class="line"><a name="l00511"></a><span class="lineno"> 511</span>&#160; <span class="keywordflow">if</span> (dirSubsetLen&gt;0 &amp;&amp;</div>
<div class="line"><a name="l00512"></a><span class="lineno"> 512</span>&#160; (localPathLen&lt;dirSubsetLen ||</div>
<div class="line"><a name="l00513"></a><span class="lineno"> 513</span>&#160; _strnicmp(<a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aba78be96dad9e9014e2392cae3d731eb">fileList</a>[thisIndex].filename.C_String(), dirSubset, dirSubsetLen)!=0 ||</div>
<div class="line"><a name="l00514"></a><span class="lineno"> 514</span>&#160; (localPathLen&gt;dirSubsetLen &amp;&amp; <a class="code" href="../../d8/da5/_file_operations_8h.xhtml#ad30d0fb7f4df6608342496e2cb2d3c2e">IsSlash</a>(<a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aba78be96dad9e9014e2392cae3d731eb">fileList</a>[thisIndex].filename[dirSubsetLen])==<span class="keyword">false</span>)))</div>
<div class="line"><a name="l00515"></a><span class="lineno"> 515</span>&#160; <span class="keywordflow">continue</span>;</div>
<div class="line"><a name="l00516"></a><span class="lineno"> 516</span>&#160;</div>
<div class="line"><a name="l00517"></a><span class="lineno"> 517</span>&#160; match=<span class="keyword">false</span>;</div>
<div class="line"><a name="l00518"></a><span class="lineno"> 518</span>&#160; <span class="keywordflow">for</span> (inputIndex=0; inputIndex &lt; input-&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>(); inputIndex++)</div>
<div class="line"><a name="l00519"></a><span class="lineno"> 519</span>&#160; {</div>
<div class="line"><a name="l00520"></a><span class="lineno"> 520</span>&#160; <span class="comment">// If the filenames, hashes, and lengths match then skip this element in fileList. Otherwise write it to output</span></div>
<div class="line"><a name="l00521"></a><span class="lineno"> 521</span>&#160; <span class="keywordflow">if</span> (_stricmp(input-&gt;<a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aba78be96dad9e9014e2392cae3d731eb">fileList</a>[inputIndex].filename.C_String()+remoteSubdirLen,<a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aba78be96dad9e9014e2392cae3d731eb">fileList</a>[thisIndex].filename.C_String()+dirSubsetLen)==0)</div>
<div class="line"><a name="l00522"></a><span class="lineno"> 522</span>&#160; {</div>
<div class="line"><a name="l00523"></a><span class="lineno"> 523</span>&#160; match=<span class="keyword">true</span>;</div>
<div class="line"><a name="l00524"></a><span class="lineno"> 524</span>&#160; <span class="keywordflow">if</span> (input-&gt;<a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aba78be96dad9e9014e2392cae3d731eb">fileList</a>[inputIndex].fileLengthBytes==<a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aba78be96dad9e9014e2392cae3d731eb">fileList</a>[thisIndex].fileLengthBytes &amp;&amp;</div>
<div class="line"><a name="l00525"></a><span class="lineno"> 525</span>&#160; input-&gt;<a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aba78be96dad9e9014e2392cae3d731eb">fileList</a>[inputIndex].dataLengthBytes==<a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aba78be96dad9e9014e2392cae3d731eb">fileList</a>[thisIndex].dataLengthBytes &amp;&amp;</div>
<div class="line"><a name="l00526"></a><span class="lineno"> 526</span>&#160; memcmp(input-&gt;<a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aba78be96dad9e9014e2392cae3d731eb">fileList</a>[inputIndex].data,<a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aba78be96dad9e9014e2392cae3d731eb">fileList</a>[thisIndex].data,(<span class="keywordtype">size_t</span>) <a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aba78be96dad9e9014e2392cae3d731eb">fileList</a>[thisIndex].dataLengthBytes)==0)</div>
<div class="line"><a name="l00527"></a><span class="lineno"> 527</span>&#160; {</div>
<div class="line"><a name="l00528"></a><span class="lineno"> 528</span>&#160; <span class="comment">// File exists on both machines and is the same.</span></div>
<div class="line"><a name="l00529"></a><span class="lineno"> 529</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00530"></a><span class="lineno"> 530</span>&#160; }</div>
<div class="line"><a name="l00531"></a><span class="lineno"> 531</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00532"></a><span class="lineno"> 532</span>&#160; {</div>
<div class="line"><a name="l00533"></a><span class="lineno"> 533</span>&#160; <span class="comment">// File exists on both machines and is not the same.</span></div>
<div class="line"><a name="l00534"></a><span class="lineno"> 534</span>&#160; output-&gt;<a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#a9917e711caf02c3ce7ebbfd09cef6868" title="Add a file, given data already in memory.">AddFile</a>(<a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aba78be96dad9e9014e2392cae3d731eb">fileList</a>[thisIndex].filename, <a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aba78be96dad9e9014e2392cae3d731eb">fileList</a>[thisIndex].fullPathToFile, 0,0, <a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aba78be96dad9e9014e2392cae3d731eb">fileList</a>[thisIndex].fileLengthBytes, <a class="code" href="../../d6/dff/struct_file_list_node_context.xhtml">FileListNodeContext</a>(0,0,0,0), <span class="keyword">false</span>);</div>
<div class="line"><a name="l00535"></a><span class="lineno"> 535</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00536"></a><span class="lineno"> 536</span>&#160; }</div>
<div class="line"><a name="l00537"></a><span class="lineno"> 537</span>&#160; }</div>
<div class="line"><a name="l00538"></a><span class="lineno"> 538</span>&#160; }</div>
<div class="line"><a name="l00539"></a><span class="lineno"> 539</span>&#160; <span class="keywordflow">if</span> (match==<span class="keyword">false</span>)</div>
<div class="line"><a name="l00540"></a><span class="lineno"> 540</span>&#160; {</div>
<div class="line"><a name="l00541"></a><span class="lineno"> 541</span>&#160; <span class="comment">// Other system does not have the file at all</span></div>
<div class="line"><a name="l00542"></a><span class="lineno"> 542</span>&#160; output-&gt;<a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#a9917e711caf02c3ce7ebbfd09cef6868" title="Add a file, given data already in memory.">AddFile</a>(<a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aba78be96dad9e9014e2392cae3d731eb">fileList</a>[thisIndex].filename, <a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aba78be96dad9e9014e2392cae3d731eb">fileList</a>[thisIndex].fullPathToFile, 0,0, <a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aba78be96dad9e9014e2392cae3d731eb">fileList</a>[thisIndex].fileLengthBytes, <a class="code" href="../../d6/dff/struct_file_list_node_context.xhtml">FileListNodeContext</a>(0,0,0,0), <span class="keyword">false</span>);</div>
<div class="line"><a name="l00543"></a><span class="lineno"> 543</span>&#160; }</div>
<div class="line"><a name="l00544"></a><span class="lineno"> 544</span>&#160; }</div>
<div class="line"><a name="l00545"></a><span class="lineno"> 545</span>&#160;}</div>
<div class="line"><a name="l00546"></a><span class="lineno"> 546</span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#a846fb0d2eb9eff53f5103f2d9e962242" title="Given the existing set of files, search applicationDirectory for the same files.">FileList::ListMissingOrChangedFiles</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *applicationDirectory, <a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml">FileList</a> *missingOrChangedFiles, <span class="keywordtype">bool</span> alwaysWriteHash, <span class="keywordtype">bool</span> neverWriteHash)</div>
<div class="line"><a name="l00547"></a><span class="lineno"> 547</span>&#160;{</div>
<div class="line"><a name="l00548"></a><span class="lineno"> 548</span>&#160; <span class="keywordtype">unsigned</span> fileLength;</div>
<div class="line"><a name="l00549"></a><span class="lineno"> 549</span>&#160;<span class="comment">// CSHA1 sha1;</span></div>
<div class="line"><a name="l00550"></a><span class="lineno"> 550</span>&#160; FILE *fp;</div>
<div class="line"><a name="l00551"></a><span class="lineno"> 551</span>&#160; <span class="keywordtype">char</span> fullPath[512];</div>
<div class="line"><a name="l00552"></a><span class="lineno"> 552</span>&#160; <span class="keywordtype">unsigned</span> i;</div>
<div class="line"><a name="l00553"></a><span class="lineno"> 553</span>&#160;<span class="comment">// char *fileData;</span></div>
<div class="line"><a name="l00554"></a><span class="lineno"> 554</span>&#160;</div>
<div class="line"><a name="l00555"></a><span class="lineno"> 555</span>&#160; <span class="keywordflow">for</span> (i=0; i &lt; <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="l00556"></a><span class="lineno"> 556</span>&#160; {</div>
<div class="line"><a name="l00557"></a><span class="lineno"> 557</span>&#160; strcpy_s(fullPath, applicationDirectory);</div>
<div class="line"><a name="l00558"></a><span class="lineno"> 558</span>&#160; <a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#a65dc316d9f3e4ad6a6a22a0b0649b1f9">FixEndingSlash</a>(fullPath, 512);</div>
<div class="line"><a name="l00559"></a><span class="lineno"> 559</span>&#160; strcat_s(fullPath,<a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aba78be96dad9e9014e2392cae3d731eb">fileList</a>[i].filename);</div>
<div class="line"><a name="l00560"></a><span class="lineno"> 560</span>&#160; <span class="keywordflow">if</span> (fopen_s(&amp;fp, fullPath, <span class="stringliteral">&quot;rb&quot;</span>) != 0)</div>
<div class="line"><a name="l00561"></a><span class="lineno"> 561</span>&#160; {</div>
<div class="line"><a name="l00562"></a><span class="lineno"> 562</span>&#160; missingOrChangedFiles-&gt;<a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#a9917e711caf02c3ce7ebbfd09cef6868" title="Add a file, given data already in memory.">AddFile</a>(<a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aba78be96dad9e9014e2392cae3d731eb">fileList</a>[i].filename, <a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aba78be96dad9e9014e2392cae3d731eb">fileList</a>[i].fullPathToFile, 0, 0, 0, <a class="code" href="../../d6/dff/struct_file_list_node_context.xhtml">FileListNodeContext</a>(0,0,0,0), <span class="keyword">false</span>);</div>
<div class="line"><a name="l00563"></a><span class="lineno"> 563</span>&#160; }</div>
<div class="line"><a name="l00564"></a><span class="lineno"> 564</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00565"></a><span class="lineno"> 565</span>&#160; {</div>
<div class="line"><a name="l00566"></a><span class="lineno"> 566</span>&#160; fseek(fp, 0, SEEK_END);</div>
<div class="line"><a name="l00567"></a><span class="lineno"> 567</span>&#160; fileLength = ftell(fp);</div>
<div class="line"><a name="l00568"></a><span class="lineno"> 568</span>&#160; fseek(fp, 0, SEEK_SET);</div>
<div class="line"><a name="l00569"></a><span class="lineno"> 569</span>&#160;</div>
<div class="line"><a name="l00570"></a><span class="lineno"> 570</span>&#160; <span class="keywordflow">if</span> (fileLength != <a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aba78be96dad9e9014e2392cae3d731eb">fileList</a>[i].fileLengthBytes &amp;&amp; alwaysWriteHash==<span class="keyword">false</span>)</div>
<div class="line"><a name="l00571"></a><span class="lineno"> 571</span>&#160; {</div>
<div class="line"><a name="l00572"></a><span class="lineno"> 572</span>&#160; missingOrChangedFiles-&gt;<a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#a9917e711caf02c3ce7ebbfd09cef6868" title="Add a file, given data already in memory.">AddFile</a>(<a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aba78be96dad9e9014e2392cae3d731eb">fileList</a>[i].filename, <a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aba78be96dad9e9014e2392cae3d731eb">fileList</a>[i].fullPathToFile, 0, 0, fileLength, <a class="code" href="../../d6/dff/struct_file_list_node_context.xhtml">FileListNodeContext</a>(0,0,0,0), <span class="keyword">false</span>);</div>
<div class="line"><a name="l00573"></a><span class="lineno"> 573</span>&#160; }</div>
<div class="line"><a name="l00574"></a><span class="lineno"> 574</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00575"></a><span class="lineno"> 575</span>&#160; {</div>
<div class="line"><a name="l00576"></a><span class="lineno"> 576</span>&#160;</div>
<div class="line"><a name="l00577"></a><span class="lineno"> 577</span>&#160;<span class="comment">// fileData= (char*) rakMalloc_Ex( fileLength, _FILE_AND_LINE_ );</span></div>
<div class="line"><a name="l00578"></a><span class="lineno"> 578</span>&#160;<span class="comment">// fread(fileData, fileLength, 1, fp);</span></div>
<div class="line"><a name="l00579"></a><span class="lineno"> 579</span>&#160;</div>
<div class="line"><a name="l00580"></a><span class="lineno"> 580</span>&#160;<span class="comment">// sha1.Reset();</span></div>
<div class="line"><a name="l00581"></a><span class="lineno"> 581</span>&#160;<span class="comment">// sha1.Update( ( unsigned char* ) fileData, fileLength );</span></div>
<div class="line"><a name="l00582"></a><span class="lineno"> 582</span>&#160;<span class="comment">// sha1.Final();</span></div>
<div class="line"><a name="l00583"></a><span class="lineno"> 583</span>&#160;</div>
<div class="line"><a name="l00584"></a><span class="lineno"> 584</span>&#160;<span class="comment">// rakFree_Ex(fileData, _FILE_AND_LINE_ );</span></div>
<div class="line"><a name="l00585"></a><span class="lineno"> 585</span>&#160;</div>
<div class="line"><a name="l00586"></a><span class="lineno"> 586</span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> hash = <a class="code" href="../../d4/dcf/_super_fast_hash_8cpp.xhtml#ab806f0deca2ad62cdb41d01e4ed53e71">SuperFastHashFilePtr</a>(fp);</div>
<div class="line"><a name="l00587"></a><span class="lineno"> 587</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#adc5a85144836608947830e902cca005f" title="-— Member function template specialization declarations -—">SLNet::BitStream::DoEndianSwap</a>())</div>
<div class="line"><a name="l00588"></a><span class="lineno"> 588</span>&#160; <a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a3ba4c1a60776e63dcf17396b536d3fe8">SLNet::BitStream::ReverseBytesInPlace</a>((<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>*) &amp;hash, <span class="keyword">sizeof</span>(hash));</div>
<div class="line"><a name="l00589"></a><span class="lineno"> 589</span>&#160;</div>
<div class="line"><a name="l00590"></a><span class="lineno"> 590</span>&#160; <span class="comment">//if (fileLength != fileList[i].fileLength || memcmp( sha1.GetHash(), fileList[i].data, HASH_LENGTH)!=0)</span></div>
<div class="line"><a name="l00591"></a><span class="lineno"> 591</span>&#160; <span class="keywordflow">if</span> (fileLength != <a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aba78be96dad9e9014e2392cae3d731eb">fileList</a>[i].fileLengthBytes || memcmp( &amp;hash, <a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aba78be96dad9e9014e2392cae3d731eb">fileList</a>[i].data, HASH_LENGTH)!=0)</div>
<div class="line"><a name="l00592"></a><span class="lineno"> 592</span>&#160; {</div>
<div class="line"><a name="l00593"></a><span class="lineno"> 593</span>&#160; <span class="keywordflow">if</span> (neverWriteHash==<span class="keyword">false</span>)</div>
<div class="line"><a name="l00594"></a><span class="lineno"> 594</span>&#160; <span class="comment">// missingOrChangedFiles-&gt;AddFile((const char*)fileList[i].filename, (const char*)sha1.GetHash(), HASH_LENGTH, fileLength, 0);</span></div>
<div class="line"><a name="l00595"></a><span class="lineno"> 595</span>&#160; missingOrChangedFiles-&gt;<a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#a9917e711caf02c3ce7ebbfd09cef6868" title="Add a file, given data already in memory.">AddFile</a>((<span class="keyword">const</span> <span class="keywordtype">char</span>*)<a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aba78be96dad9e9014e2392cae3d731eb">fileList</a>[i].filename, (<span class="keyword">const</span> <span class="keywordtype">char</span>*)<a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aba78be96dad9e9014e2392cae3d731eb">fileList</a>[i].fullPathToFile, (<span class="keyword">const</span> <span class="keywordtype">char</span> *) &amp;hash, HASH_LENGTH, fileLength, <a class="code" href="../../d6/dff/struct_file_list_node_context.xhtml">FileListNodeContext</a>(0,0,0,0), <span class="keyword">false</span>);</div>
<div class="line"><a name="l00596"></a><span class="lineno"> 596</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00597"></a><span class="lineno"> 597</span>&#160; missingOrChangedFiles-&gt;<a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#a9917e711caf02c3ce7ebbfd09cef6868" title="Add a file, given data already in memory.">AddFile</a>((<span class="keyword">const</span> <span class="keywordtype">char</span>*)<a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aba78be96dad9e9014e2392cae3d731eb">fileList</a>[i].filename, (<span class="keyword">const</span> <span class="keywordtype">char</span>*)<a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aba78be96dad9e9014e2392cae3d731eb">fileList</a>[i].fullPathToFile, 0, 0, fileLength, <a class="code" href="../../d6/dff/struct_file_list_node_context.xhtml">FileListNodeContext</a>(0,0,0,0), <span class="keyword">false</span>);</div>
<div class="line"><a name="l00598"></a><span class="lineno"> 598</span>&#160; }</div>
<div class="line"><a name="l00599"></a><span class="lineno"> 599</span>&#160; }</div>
<div class="line"><a name="l00600"></a><span class="lineno"> 600</span>&#160; fclose(fp);</div>
<div class="line"><a name="l00601"></a><span class="lineno"> 601</span>&#160; }</div>
<div class="line"><a name="l00602"></a><span class="lineno"> 602</span>&#160; }</div>
<div class="line"><a name="l00603"></a><span class="lineno"> 603</span>&#160;}</div>
<div class="line"><a name="l00604"></a><span class="lineno"> 604</span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#ac2e392c9949c56e41cd7036cf14f5419" title="Assuming FileList contains a list of filenames presumably without data, read the data for these filen...">FileList::PopulateDataFromDisk</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *applicationDirectory, <span class="keywordtype">bool</span> writeFileData, <span class="keywordtype">bool</span> writeFileHash, <span class="keywordtype">bool</span> removeUnknownFiles)</div>
<div class="line"><a name="l00605"></a><span class="lineno"> 605</span>&#160;{</div>
<div class="line"><a name="l00606"></a><span class="lineno"> 606</span>&#160; FILE *fp;</div>
<div class="line"><a name="l00607"></a><span class="lineno"> 607</span>&#160; <span class="keywordtype">char</span> fullPath[512];</div>
<div class="line"><a name="l00608"></a><span class="lineno"> 608</span>&#160; <span class="keywordtype">unsigned</span> i;</div>
<div class="line"><a name="l00609"></a><span class="lineno"> 609</span>&#160;<span class="comment">// CSHA1 sha1;</span></div>
<div class="line"><a name="l00610"></a><span class="lineno"> 610</span>&#160;</div>
<div class="line"><a name="l00611"></a><span class="lineno"> 611</span>&#160; i=0;</div>
<div class="line"><a name="l00612"></a><span class="lineno"> 612</span>&#160; <span class="keywordflow">while</span> (i &lt; <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="l00613"></a><span class="lineno"> 613</span>&#160; {</div>
<div class="line"><a name="l00614"></a><span class="lineno"> 614</span>&#160; <a class="code" href="../../d9/d4c/_rak_memory_override_8cpp.xhtml#ab91fbe0570bf501cd97a53c6cffcef8f">rakFree_Ex</a>(<a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aba78be96dad9e9014e2392cae3d731eb">fileList</a>[i].data, <a class="code" href="../../d8/db0/defines_8h.xhtml#a8661ec2137eef33a8cd0cd618a748871">_FILE_AND_LINE_</a> );</div>
<div class="line"><a name="l00615"></a><span class="lineno"> 615</span>&#160; strcpy_s(fullPath, applicationDirectory);</div>
<div class="line"><a name="l00616"></a><span class="lineno"> 616</span>&#160; <a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#a65dc316d9f3e4ad6a6a22a0b0649b1f9">FixEndingSlash</a>(fullPath, 512);</div>
<div class="line"><a name="l00617"></a><span class="lineno"> 617</span>&#160; strcat_s(fullPath,<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="l00618"></a><span class="lineno"> 618</span>&#160; <span class="keywordflow">if</span> (fopen_s(&amp;fp, fullPath, <span class="stringliteral">&quot;rb&quot;</span>) == 0)</div>
<div class="line"><a name="l00619"></a><span class="lineno"> 619</span>&#160; {</div>
<div class="line"><a name="l00620"></a><span class="lineno"> 620</span>&#160; <span class="keywordflow">if</span> (writeFileHash || writeFileData)</div>
<div class="line"><a name="l00621"></a><span class="lineno"> 621</span>&#160; {</div>
<div class="line"><a name="l00622"></a><span class="lineno"> 622</span>&#160; fseek(fp, 0, SEEK_END);</div>
<div class="line"><a name="l00623"></a><span class="lineno"> 623</span>&#160; <a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aba78be96dad9e9014e2392cae3d731eb">fileList</a>[i].fileLengthBytes = ftell(fp);</div>
<div class="line"><a name="l00624"></a><span class="lineno"> 624</span>&#160; fseek(fp, 0, SEEK_SET);</div>
<div class="line"><a name="l00625"></a><span class="lineno"> 625</span>&#160; <span class="keywordflow">if</span> (writeFileHash)</div>
<div class="line"><a name="l00626"></a><span class="lineno"> 626</span>&#160; {</div>
<div class="line"><a name="l00627"></a><span class="lineno"> 627</span>&#160; <span class="keywordflow">if</span> (writeFileData)</div>
<div class="line"><a name="l00628"></a><span class="lineno"> 628</span>&#160; {</div>
<div class="line"><a name="l00629"></a><span class="lineno"> 629</span>&#160; <span class="comment">// Hash + data so offset the data by HASH_LENGTH</span></div>
<div class="line"><a name="l00630"></a><span class="lineno"> 630</span>&#160; <a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aba78be96dad9e9014e2392cae3d731eb">fileList</a>[i].data=(<span class="keywordtype">char</span>*) <a class="code" href="../../d9/d4c/_rak_memory_override_8cpp.xhtml#aebeb2e4754399ea3e2c7af3dd9bbe8c3">rakMalloc_Ex</a>( <a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aba78be96dad9e9014e2392cae3d731eb">fileList</a>[i].fileLengthBytes+HASH_LENGTH, <a class="code" href="../../d8/db0/defines_8h.xhtml#a8661ec2137eef33a8cd0cd618a748871">_FILE_AND_LINE_</a> );</div>
<div class="line"><a name="l00631"></a><span class="lineno"> 631</span>&#160; <a class="code" href="../../d8/db0/defines_8h.xhtml#afaa3647d29f5960651eb23fd3d2b5368">RakAssert</a>(<a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aba78be96dad9e9014e2392cae3d731eb">fileList</a>[i].data);</div>
<div class="line"><a name="l00632"></a><span class="lineno"> 632</span>&#160; fread(<a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aba78be96dad9e9014e2392cae3d731eb">fileList</a>[i].data+HASH_LENGTH, <a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aba78be96dad9e9014e2392cae3d731eb">fileList</a>[i].fileLengthBytes, 1, fp);</div>
<div class="line"><a name="l00633"></a><span class="lineno"> 633</span>&#160;<span class="comment">// sha1.Reset();</span></div>
<div class="line"><a name="l00634"></a><span class="lineno"> 634</span>&#160;<span class="comment">// sha1.Update((unsigned char*)fileList[i].data+HASH_LENGTH, fileList[i].fileLength);</span></div>
<div class="line"><a name="l00635"></a><span class="lineno"> 635</span>&#160;<span class="comment">// sha1.Final();</span></div>
<div class="line"><a name="l00636"></a><span class="lineno"> 636</span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> hash = <a class="code" href="../../d4/dcf/_super_fast_hash_8cpp.xhtml#ae1d6670c44d102bfe359bed5b529bdf6">SuperFastHash</a>(<a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aba78be96dad9e9014e2392cae3d731eb">fileList</a>[i].data+HASH_LENGTH, <a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aba78be96dad9e9014e2392cae3d731eb">fileList</a>[i].fileLengthBytes);</div>
<div class="line"><a name="l00637"></a><span class="lineno"> 637</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#adc5a85144836608947830e902cca005f" title="-— Member function template specialization declarations -—">SLNet::BitStream::DoEndianSwap</a>())</div>
<div class="line"><a name="l00638"></a><span class="lineno"> 638</span>&#160; <a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a3ba4c1a60776e63dcf17396b536d3fe8">SLNet::BitStream::ReverseBytesInPlace</a>((<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>*) &amp;hash, <span class="keyword">sizeof</span>(hash));</div>
<div class="line"><a name="l00639"></a><span class="lineno"> 639</span>&#160;<span class="comment">// memcpy(fileList[i].data, sha1.GetHash(), HASH_LENGTH);</span></div>
<div class="line"><a name="l00640"></a><span class="lineno"> 640</span>&#160; memcpy(<a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aba78be96dad9e9014e2392cae3d731eb">fileList</a>[i].data, &amp;hash, HASH_LENGTH);</div>
<div class="line"><a name="l00641"></a><span class="lineno"> 641</span>&#160; }</div>
<div class="line"><a name="l00642"></a><span class="lineno"> 642</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00643"></a><span class="lineno"> 643</span>&#160; {</div>
<div class="line"><a name="l00644"></a><span class="lineno"> 644</span>&#160; <span class="comment">// Hash only</span></div>
<div class="line"><a name="l00645"></a><span class="lineno"> 645</span>&#160; <a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aba78be96dad9e9014e2392cae3d731eb">fileList</a>[i].dataLengthBytes=HASH_LENGTH;</div>
<div class="line"><a name="l00646"></a><span class="lineno"> 646</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aba78be96dad9e9014e2392cae3d731eb">fileList</a>[i].fileLengthBytes &lt; HASH_LENGTH)</div>
<div class="line"><a name="l00647"></a><span class="lineno"> 647</span>&#160; <a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aba78be96dad9e9014e2392cae3d731eb">fileList</a>[i].data=(<span class="keywordtype">char</span>*) <a class="code" href="../../d9/d4c/_rak_memory_override_8cpp.xhtml#aebeb2e4754399ea3e2c7af3dd9bbe8c3">rakMalloc_Ex</a>( HASH_LENGTH, <a class="code" href="../../d8/db0/defines_8h.xhtml#a8661ec2137eef33a8cd0cd618a748871">_FILE_AND_LINE_</a> );</div>
<div class="line"><a name="l00648"></a><span class="lineno"> 648</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00649"></a><span class="lineno"> 649</span>&#160; <a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aba78be96dad9e9014e2392cae3d731eb">fileList</a>[i].data=(<span class="keywordtype">char</span>*) <a class="code" href="../../d9/d4c/_rak_memory_override_8cpp.xhtml#aebeb2e4754399ea3e2c7af3dd9bbe8c3">rakMalloc_Ex</a>( <a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aba78be96dad9e9014e2392cae3d731eb">fileList</a>[i].fileLengthBytes, <a class="code" href="../../d8/db0/defines_8h.xhtml#a8661ec2137eef33a8cd0cd618a748871">_FILE_AND_LINE_</a> );</div>
<div class="line"><a name="l00650"></a><span class="lineno"> 650</span>&#160; <a class="code" href="../../d8/db0/defines_8h.xhtml#afaa3647d29f5960651eb23fd3d2b5368">RakAssert</a>(<a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aba78be96dad9e9014e2392cae3d731eb">fileList</a>[i].data);</div>
<div class="line"><a name="l00651"></a><span class="lineno"> 651</span>&#160; fread(<a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aba78be96dad9e9014e2392cae3d731eb">fileList</a>[i].data, <a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aba78be96dad9e9014e2392cae3d731eb">fileList</a>[i].fileLengthBytes, 1, fp);</div>
<div class="line"><a name="l00652"></a><span class="lineno"> 652</span>&#160; <span class="comment">// sha1.Reset();</span></div>
<div class="line"><a name="l00653"></a><span class="lineno"> 653</span>&#160; <span class="comment">// sha1.Update((unsigned char*)fileList[i].data, fileList[i].fileLength);</span></div>
<div class="line"><a name="l00654"></a><span class="lineno"> 654</span>&#160; <span class="comment">// sha1.Final();</span></div>
<div class="line"><a name="l00655"></a><span class="lineno"> 655</span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> hash = <a class="code" href="../../d4/dcf/_super_fast_hash_8cpp.xhtml#ae1d6670c44d102bfe359bed5b529bdf6">SuperFastHash</a>(<a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aba78be96dad9e9014e2392cae3d731eb">fileList</a>[i].data, <a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aba78be96dad9e9014e2392cae3d731eb">fileList</a>[i].fileLengthBytes);</div>
<div class="line"><a name="l00656"></a><span class="lineno"> 656</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#adc5a85144836608947830e902cca005f" title="-— Member function template specialization declarations -—">SLNet::BitStream::DoEndianSwap</a>())</div>
<div class="line"><a name="l00657"></a><span class="lineno"> 657</span>&#160; <a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a3ba4c1a60776e63dcf17396b536d3fe8">SLNet::BitStream::ReverseBytesInPlace</a>((<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>*) &amp;hash, <span class="keyword">sizeof</span>(hash));</div>
<div class="line"><a name="l00658"></a><span class="lineno"> 658</span>&#160; <span class="comment">// memcpy(fileList[i].data, sha1.GetHash(), HASH_LENGTH);</span></div>
<div class="line"><a name="l00659"></a><span class="lineno"> 659</span>&#160; memcpy(<a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aba78be96dad9e9014e2392cae3d731eb">fileList</a>[i].data, &amp;hash, HASH_LENGTH);</div>
<div class="line"><a name="l00660"></a><span class="lineno"> 660</span>&#160; }</div>
<div class="line"><a name="l00661"></a><span class="lineno"> 661</span>&#160; }</div>
<div class="line"><a name="l00662"></a><span class="lineno"> 662</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00663"></a><span class="lineno"> 663</span>&#160; {</div>
<div class="line"><a name="l00664"></a><span class="lineno"> 664</span>&#160; <span class="comment">// Data only</span></div>
<div class="line"><a name="l00665"></a><span class="lineno"> 665</span>&#160; <a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aba78be96dad9e9014e2392cae3d731eb">fileList</a>[i].dataLengthBytes=<a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aba78be96dad9e9014e2392cae3d731eb">fileList</a>[i].fileLengthBytes;</div>
<div class="line"><a name="l00666"></a><span class="lineno"> 666</span>&#160; <a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aba78be96dad9e9014e2392cae3d731eb">fileList</a>[i].data=(<span class="keywordtype">char</span>*) <a class="code" href="../../d9/d4c/_rak_memory_override_8cpp.xhtml#aebeb2e4754399ea3e2c7af3dd9bbe8c3">rakMalloc_Ex</a>( <a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aba78be96dad9e9014e2392cae3d731eb">fileList</a>[i].fileLengthBytes, <a class="code" href="../../d8/db0/defines_8h.xhtml#a8661ec2137eef33a8cd0cd618a748871">_FILE_AND_LINE_</a> );</div>
<div class="line"><a name="l00667"></a><span class="lineno"> 667</span>&#160; <a class="code" href="../../d8/db0/defines_8h.xhtml#afaa3647d29f5960651eb23fd3d2b5368">RakAssert</a>(<a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aba78be96dad9e9014e2392cae3d731eb">fileList</a>[i].data);</div>
<div class="line"><a name="l00668"></a><span class="lineno"> 668</span>&#160; fread(<a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aba78be96dad9e9014e2392cae3d731eb">fileList</a>[i].data, <a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aba78be96dad9e9014e2392cae3d731eb">fileList</a>[i].fileLengthBytes, 1, fp);</div>
<div class="line"><a name="l00669"></a><span class="lineno"> 669</span>&#160; }</div>
<div class="line"><a name="l00670"></a><span class="lineno"> 670</span>&#160;</div>
<div class="line"><a name="l00671"></a><span class="lineno"> 671</span>&#160; fclose(fp);</div>
<div class="line"><a name="l00672"></a><span class="lineno"> 672</span>&#160; i++;</div>
<div class="line"><a name="l00673"></a><span class="lineno"> 673</span>&#160; }</div>
<div class="line"><a name="l00674"></a><span class="lineno"> 674</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00675"></a><span class="lineno"> 675</span>&#160; {</div>
<div class="line"><a name="l00676"></a><span class="lineno"> 676</span>&#160; <a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aba78be96dad9e9014e2392cae3d731eb">fileList</a>[i].data=0;</div>
<div class="line"><a name="l00677"></a><span class="lineno"> 677</span>&#160; <a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aba78be96dad9e9014e2392cae3d731eb">fileList</a>[i].dataLengthBytes=0;</div>
<div class="line"><a name="l00678"></a><span class="lineno"> 678</span>&#160; }</div>
<div class="line"><a name="l00679"></a><span class="lineno"> 679</span>&#160; }</div>
<div class="line"><a name="l00680"></a><span class="lineno"> 680</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00681"></a><span class="lineno"> 681</span>&#160; {</div>
<div class="line"><a name="l00682"></a><span class="lineno"> 682</span>&#160; <span class="keywordflow">if</span> (removeUnknownFiles)</div>
<div class="line"><a name="l00683"></a><span class="lineno"> 683</span>&#160; {</div>
<div class="line"><a name="l00684"></a><span class="lineno"> 684</span>&#160; <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#a79621376e92b605c4dbdb77aafbb6b60" title="Delete the element at position position.">RemoveAtIndex</a>(i);</div>
<div class="line"><a name="l00685"></a><span class="lineno"> 685</span>&#160; }</div>
<div class="line"><a name="l00686"></a><span class="lineno"> 686</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00687"></a><span class="lineno"> 687</span>&#160; i++; </div>
<div class="line"><a name="l00688"></a><span class="lineno"> 688</span>&#160; }</div>
<div class="line"><a name="l00689"></a><span class="lineno"> 689</span>&#160; }</div>
<div class="line"><a name="l00690"></a><span class="lineno"> 690</span>&#160;}</div>
<div class="line"><a name="l00691"></a><span class="lineno"> 691</span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#a9ac96052c10248bd8fce56a78f9fdcca">FileList::FlagFilesAsReferences</a>(<span class="keywordtype">void</span>)</div>
<div class="line"><a name="l00692"></a><span class="lineno"> 692</span>&#160;{</div>
<div class="line"><a name="l00693"></a><span class="lineno"> 693</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i=0; i &lt; <a class="code" href="../../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="l00694"></a><span class="lineno"> 694</span>&#160; {</div>
<div class="line"><a name="l00695"></a><span class="lineno"> 695</span>&#160; <a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aba78be96dad9e9014e2392cae3d731eb">fileList</a>[i].isAReference=<span class="keyword">true</span>;</div>
<div class="line"><a name="l00696"></a><span class="lineno"> 696</span>&#160; <a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aba78be96dad9e9014e2392cae3d731eb">fileList</a>[i].dataLengthBytes=<a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aba78be96dad9e9014e2392cae3d731eb">fileList</a>[i].fileLengthBytes;</div>
<div class="line"><a name="l00697"></a><span class="lineno"> 697</span>&#160; }</div>
<div class="line"><a name="l00698"></a><span class="lineno"> 698</span>&#160;}</div>
<div class="line"><a name="l00699"></a><span class="lineno"> 699</span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#a1fa59189fddf396376b25f38d09dc943" title="Write all files to disk, prefixing the paths with applicationDirectory.">FileList::WriteDataToDisk</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *applicationDirectory)</div>
<div class="line"><a name="l00700"></a><span class="lineno"> 700</span>&#160;{</div>
<div class="line"><a name="l00701"></a><span class="lineno"> 701</span>&#160; <span class="keywordtype">char</span> fullPath[512];</div>
<div class="line"><a name="l00702"></a><span class="lineno"> 702</span>&#160; <span class="keywordtype">unsigned</span> i,j;</div>
<div class="line"><a name="l00703"></a><span class="lineno"> 703</span>&#160;</div>
<div class="line"><a name="l00704"></a><span class="lineno"> 704</span>&#160; <span class="keywordflow">for</span> (i=0; i &lt; <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="l00705"></a><span class="lineno"> 705</span>&#160; {</div>
<div class="line"><a name="l00706"></a><span class="lineno"> 706</span>&#160; strcpy_s(fullPath, applicationDirectory);</div>
<div class="line"><a name="l00707"></a><span class="lineno"> 707</span>&#160; <a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#a65dc316d9f3e4ad6a6a22a0b0649b1f9">FixEndingSlash</a>(fullPath, 512);</div>
<div class="line"><a name="l00708"></a><span class="lineno"> 708</span>&#160; strcat_s(fullPath,<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="l00709"></a><span class="lineno"> 709</span>&#160; </div>
<div class="line"><a name="l00710"></a><span class="lineno"> 710</span>&#160; <span class="comment">// Security - Don&#39;t allow .. in the filename anywhere so you can&#39;t write outside of the root directory</span></div>
<div class="line"><a name="l00711"></a><span class="lineno"> 711</span>&#160; <span class="keywordflow">for</span> (j=1; j &lt; <a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aba78be96dad9e9014e2392cae3d731eb">fileList</a>[i].filename.GetLength(); j++)</div>
<div class="line"><a name="l00712"></a><span class="lineno"> 712</span>&#160; {</div>
<div class="line"><a name="l00713"></a><span class="lineno"> 713</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aba78be96dad9e9014e2392cae3d731eb">fileList</a>[i].filename[j]==<span class="charliteral">&#39;.&#39;</span> &amp;&amp; <a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aba78be96dad9e9014e2392cae3d731eb">fileList</a>[i].filename[j-1]==<span class="charliteral">&#39;.&#39;</span>)</div>
<div class="line"><a name="l00714"></a><span class="lineno"> 714</span>&#160; {</div>
<div class="line"><a name="l00715"></a><span class="lineno"> 715</span>&#160;<span class="preprocessor">#ifdef _DEBUG</span></div>
<div class="line"><a name="l00716"></a><span class="lineno"> 716</span>&#160;<span class="preprocessor"></span> <a class="code" href="../../d8/db0/defines_8h.xhtml#afaa3647d29f5960651eb23fd3d2b5368">RakAssert</a>(0);</div>
<div class="line"><a name="l00717"></a><span class="lineno"> 717</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00718"></a><span class="lineno"> 718</span>&#160;<span class="preprocessor"></span> <span class="comment">// Just cancel the write entirely</span></div>
<div class="line"><a name="l00719"></a><span class="lineno"> 719</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00720"></a><span class="lineno"> 720</span>&#160; }</div>
<div class="line"><a name="l00721"></a><span class="lineno"> 721</span>&#160; }</div>
<div class="line"><a name="l00722"></a><span class="lineno"> 722</span>&#160;</div>
<div class="line"><a name="l00723"></a><span class="lineno"> 723</span>&#160; <a class="code" href="../../d8/da5/_file_operations_8h.xhtml#ab48fb4f1571bbe40c17356e75c8ecade">WriteFileWithDirectories</a>(fullPath, <a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aba78be96dad9e9014e2392cae3d731eb">fileList</a>[i].data, (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>) <a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aba78be96dad9e9014e2392cae3d731eb">fileList</a>[i].dataLengthBytes);</div>
<div class="line"><a name="l00724"></a><span class="lineno"> 724</span>&#160; }</div>
<div class="line"><a name="l00725"></a><span class="lineno"> 725</span>&#160;}</div>
<div class="line"><a name="l00726"></a><span class="lineno"> 726</span>&#160;</div>
<div class="line"><a name="l00727"></a><span class="lineno"> 727</span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#a6fd1833f922daaa1b079dbea6ed7ead8" title="Delete all files stored in the file list.">FileList::DeleteFiles</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *applicationDirectory)</div>
<div class="line"><a name="l00728"></a><span class="lineno"> 728</span>&#160;{</div>
<div class="line"><a name="l00729"></a><span class="lineno"> 729</span>&#160;</div>
<div class="line"><a name="l00730"></a><span class="lineno"> 730</span>&#160;</div>
<div class="line"><a name="l00731"></a><span class="lineno"> 731</span>&#160;</div>
<div class="line"><a name="l00732"></a><span class="lineno"> 732</span>&#160; <span class="keywordtype">char</span> fullPath[512];</div>
<div class="line"><a name="l00733"></a><span class="lineno"> 733</span>&#160; <span class="keywordtype">unsigned</span> i,j;</div>
<div class="line"><a name="l00734"></a><span class="lineno"> 734</span>&#160;</div>
<div class="line"><a name="l00735"></a><span class="lineno"> 735</span>&#160; <span class="keywordflow">for</span> (i=0; i &lt; <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="l00736"></a><span class="lineno"> 736</span>&#160; {</div>
<div class="line"><a name="l00737"></a><span class="lineno"> 737</span>&#160; <span class="comment">// The filename should not have .. in the path - if it does ignore it</span></div>
<div class="line"><a name="l00738"></a><span class="lineno"> 738</span>&#160; <span class="keywordflow">for</span> (j=1; j &lt; <a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aba78be96dad9e9014e2392cae3d731eb">fileList</a>[i].filename.GetLength(); j++)</div>
<div class="line"><a name="l00739"></a><span class="lineno"> 739</span>&#160; {</div>
<div class="line"><a name="l00740"></a><span class="lineno"> 740</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aba78be96dad9e9014e2392cae3d731eb">fileList</a>[i].filename[j]==<span class="charliteral">&#39;.&#39;</span> &amp;&amp; <a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aba78be96dad9e9014e2392cae3d731eb">fileList</a>[i].filename[j-1]==<span class="charliteral">&#39;.&#39;</span>)</div>
<div class="line"><a name="l00741"></a><span class="lineno"> 741</span>&#160; {</div>
<div class="line"><a name="l00742"></a><span class="lineno"> 742</span>&#160;<span class="preprocessor">#ifdef _DEBUG</span></div>
<div class="line"><a name="l00743"></a><span class="lineno"> 743</span>&#160;<span class="preprocessor"></span> <a class="code" href="../../d8/db0/defines_8h.xhtml#afaa3647d29f5960651eb23fd3d2b5368">RakAssert</a>(0);</div>
<div class="line"><a name="l00744"></a><span class="lineno"> 744</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00745"></a><span class="lineno"> 745</span>&#160;<span class="preprocessor"></span> <span class="comment">// Just cancel the deletion entirely</span></div>
<div class="line"><a name="l00746"></a><span class="lineno"> 746</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00747"></a><span class="lineno"> 747</span>&#160; }</div>
<div class="line"><a name="l00748"></a><span class="lineno"> 748</span>&#160; }</div>
<div class="line"><a name="l00749"></a><span class="lineno"> 749</span>&#160;</div>
<div class="line"><a name="l00750"></a><span class="lineno"> 750</span>&#160; strcpy_s(fullPath, applicationDirectory);</div>
<div class="line"><a name="l00751"></a><span class="lineno"> 751</span>&#160; <a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#a65dc316d9f3e4ad6a6a22a0b0649b1f9">FixEndingSlash</a>(fullPath, 512);</div>
<div class="line"><a name="l00752"></a><span class="lineno"> 752</span>&#160; strcat_s(fullPath, <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="l00753"></a><span class="lineno"> 753</span>&#160; </div>
<div class="line"><a name="l00754"></a><span class="lineno"> 754</span>&#160; <span class="comment">// Do not rename to _unlink as linux uses unlink</span></div>
<div class="line"><a name="l00755"></a><span class="lineno"> 755</span>&#160;<span class="preprocessor">#if defined(_WIN32)</span></div>
<div class="line"><a name="l00756"></a><span class="lineno"> 756</span>&#160;<span class="preprocessor"></span> <span class="keywordtype">int</span> result = _unlink(fullPath);</div>
<div class="line"><a name="l00757"></a><span class="lineno"> 757</span>&#160;<span class="preprocessor">#else</span></div>
<div class="line"><a name="l00758"></a><span class="lineno"> 758</span>&#160;<span class="preprocessor"></span> <span class="keywordtype">int</span> result = unlink(fullPath);</div>
<div class="line"><a name="l00759"></a><span class="lineno"> 759</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00760"></a><span class="lineno"> 760</span>&#160;<span class="preprocessor"></span> <span class="keywordflow">if</span> (result!=0)</div>
<div class="line"><a name="l00761"></a><span class="lineno"> 761</span>&#160; {</div>
<div class="line"><a name="l00762"></a><span class="lineno"> 762</span>&#160; <a class="code" href="../../d8/db0/defines_8h.xhtml#a2a5d867f7ae6521f217847a78f17ab4a">RAKNET_DEBUG_PRINTF</a>(<span class="stringliteral">&quot;FileList::DeleteFiles: unlink (%s) failed.\n&quot;</span>, fullPath);</div>
<div class="line"><a name="l00763"></a><span class="lineno"> 763</span>&#160; }</div>
<div class="line"><a name="l00764"></a><span class="lineno"> 764</span>&#160; }</div>
<div class="line"><a name="l00765"></a><span class="lineno"> 765</span>&#160;</div>
<div class="line"><a name="l00766"></a><span class="lineno"> 766</span>&#160;}</div>
<div class="line"><a name="l00767"></a><span class="lineno"> 767</span>&#160;</div>
<div class="line"><a name="l00768"></a><span class="lineno"> 768</span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#abdbf501cbb0ff9da8b7b1f8ba82d871a" title="Adds a callback to get progress reports about what the file list instances do.">FileList::AddCallback</a>(<a class="code" href="../../d5/d7b/class_s_l_net_1_1_file_list_progress.xhtml" title="Callback interface set with FileList::SetCallback() in case you want progress notifications when File...">FileListProgress</a> *cb)</div>
<div class="line"><a name="l00769"></a><span class="lineno"> 769</span>&#160;{</div>
<div class="line"><a name="l00770"></a><span class="lineno"> 770</span>&#160; <span class="keywordflow">if</span> (cb==0)</div>
<div class="line"><a name="l00771"></a><span class="lineno"> 771</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00772"></a><span class="lineno"> 772</span>&#160;</div>
<div class="line"><a name="l00773"></a><span class="lineno"> 773</span>&#160; <span class="keywordflow">if</span> ((<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>) <a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aee849214ab2bea4516ebc91f3af56dbb">fileListProgressCallbacks</a>.<a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml#aae4e608a6f4cc3560ee3b3b20eda67fe" title="Returns the index of the specified item or MAX_UNSIGNED_LONG if not found.">GetIndexOf</a>(cb)==(<span class="keywordtype">unsigned</span> int)-1)</div>
<div class="line"><a name="l00774"></a><span class="lineno"> 774</span>&#160; <a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aee849214ab2bea4516ebc91f3af56dbb">fileListProgressCallbacks</a>.<a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml#a771fc63e3b0d892fbb605a379a78bacb" title="Push an element at the end of the stack.">Push</a>(cb, <a class="code" href="../../d8/db0/defines_8h.xhtml#a8661ec2137eef33a8cd0cd618a748871">_FILE_AND_LINE_</a>);</div>
<div class="line"><a name="l00775"></a><span class="lineno"> 775</span>&#160;}</div>
<div class="line"><a name="l00776"></a><span class="lineno"> 776</span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aca0443f0d4771dba26fdba7eed4be7d0" title="Removes a callback.">FileList::RemoveCallback</a>(<a class="code" href="../../d5/d7b/class_s_l_net_1_1_file_list_progress.xhtml" title="Callback interface set with FileList::SetCallback() in case you want progress notifications when File...">FileListProgress</a> *cb)</div>
<div class="line"><a name="l00777"></a><span class="lineno"> 777</span>&#160;{</div>
<div class="line"><a name="l00778"></a><span class="lineno"> 778</span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> idx = <a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aee849214ab2bea4516ebc91f3af56dbb">fileListProgressCallbacks</a>.<a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml#aae4e608a6f4cc3560ee3b3b20eda67fe" title="Returns the index of the specified item or MAX_UNSIGNED_LONG if not found.">GetIndexOf</a>(cb);</div>
<div class="line"><a name="l00779"></a><span class="lineno"> 779</span>&#160; <span class="keywordflow">if</span> (idx!=(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>) -1)</div>
<div class="line"><a name="l00780"></a><span class="lineno"> 780</span>&#160; <a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aee849214ab2bea4516ebc91f3af56dbb">fileListProgressCallbacks</a>.<a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml#a79621376e92b605c4dbdb77aafbb6b60" title="Delete the element at position position.">RemoveAtIndex</a>(idx);</div>
<div class="line"><a name="l00781"></a><span class="lineno"> 781</span>&#160;}</div>
<div class="line"><a name="l00782"></a><span class="lineno"> 782</span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#a2455084df77821aa4e5f2b01f2ea2b73" title="Removes all callbacks.">FileList::ClearCallbacks</a>(<span class="keywordtype">void</span>)</div>
<div class="line"><a name="l00783"></a><span class="lineno"> 783</span>&#160;{</div>
<div class="line"><a name="l00784"></a><span class="lineno"> 784</span>&#160; <a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aee849214ab2bea4516ebc91f3af56dbb">fileListProgressCallbacks</a>.<a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml#a34219a5ce92981102d06fb1da7842a6b" title="Clear the list.">Clear</a>(<span class="keyword">true</span>, <a class="code" href="../../d8/db0/defines_8h.xhtml#a8661ec2137eef33a8cd0cd618a748871">_FILE_AND_LINE_</a>);</div>
<div class="line"><a name="l00785"></a><span class="lineno"> 785</span>&#160;}</div>
<div class="line"><a name="l00786"></a><span class="lineno"> 786</span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#af59721be7f19d6bbb3baa14061d926b9">FileList::GetCallbacks</a>(<a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml">DataStructures::List&lt;FileListProgress*&gt;</a> &amp;callbacks)</div>
<div class="line"><a name="l00787"></a><span class="lineno"> 787</span>&#160;{</div>
<div class="line"><a name="l00788"></a><span class="lineno"> 788</span>&#160; callbacks = <a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aee849214ab2bea4516ebc91f3af56dbb">fileListProgressCallbacks</a>;</div>
<div class="line"><a name="l00789"></a><span class="lineno"> 789</span>&#160;}</div>
<div class="line"><a name="l00790"></a><span class="lineno"> 790</span>&#160;</div>
<div class="line"><a name="l00791"></a><span class="lineno"> 791</span>&#160;<span class="keywordtype">bool</span> <a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#a65dc316d9f3e4ad6a6a22a0b0649b1f9">FileList::FixEndingSlash</a>(<span class="keywordtype">char</span> *str)</div>
<div class="line"><a name="l00792"></a><span class="lineno"> 792</span>&#160;{</div>
<div class="line"><a name="l00793"></a><span class="lineno"> 793</span>&#160;<span class="preprocessor">#ifdef _WIN32</span></div>
<div class="line"><a name="l00794"></a><span class="lineno"> 794</span>&#160;<span class="preprocessor"></span> <span class="keywordflow">if</span> (str[strlen(str) - 1] != <span class="charliteral">&#39;/&#39;</span> &amp;&amp; str[strlen(str) - 1] != <span class="charliteral">&#39;\\&#39;</span>)</div>
<div class="line"><a name="l00795"></a><span class="lineno"> 795</span>&#160; {</div>
<div class="line"><a name="l00796"></a><span class="lineno"> 796</span>&#160;<span class="preprocessor">#pragma warning(push)</span></div>
<div class="line"><a name="l00797"></a><span class="lineno"> 797</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#pragma warning(disable:4996)</span></div>
<div class="line"><a name="l00798"></a><span class="lineno"> 798</span>&#160;<span class="preprocessor"></span> strcat(str, <span class="stringliteral">&quot;\\&quot;</span>); <span class="comment">// Only \ works with system commands, used by AutopatcherClient</span></div>
<div class="line"><a name="l00799"></a><span class="lineno"> 799</span>&#160;<span class="preprocessor">#pragma warning(pop)</span></div>
<div class="line"><a name="l00800"></a><span class="lineno"> 800</span>&#160;<span class="preprocessor"></span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00801"></a><span class="lineno"> 801</span>&#160; }</div>
<div class="line"><a name="l00802"></a><span class="lineno"> 802</span>&#160;<span class="preprocessor">#else</span></div>
<div class="line"><a name="l00803"></a><span class="lineno"> 803</span>&#160;<span class="preprocessor"></span> <span class="keywordflow">if</span> (str[strlen(str) - 1] != <span class="charliteral">&#39;\\&#39;</span> &amp;&amp; str[strlen(str) - 1] != <span class="charliteral">&#39;/&#39;</span>)</div>
<div class="line"><a name="l00804"></a><span class="lineno"> 804</span>&#160; {</div>
<div class="line"><a name="l00805"></a><span class="lineno"> 805</span>&#160; strcat(str, <span class="stringliteral">&quot;/&quot;</span>); <span class="comment">// Only / works with Linux</span></div>
<div class="line"><a name="l00806"></a><span class="lineno"> 806</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00807"></a><span class="lineno"> 807</span>&#160; }</div>
<div class="line"><a name="l00808"></a><span class="lineno"> 808</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00809"></a><span class="lineno"> 809</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00810"></a><span class="lineno"> 810</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00811"></a><span class="lineno"> 811</span>&#160;}</div>
<div class="line"><a name="l00812"></a><span class="lineno"> 812</span>&#160;</div>
<div class="line"><a name="l00813"></a><span class="lineno"> 813</span>&#160;<span class="keywordtype">bool</span> <a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#a65dc316d9f3e4ad6a6a22a0b0649b1f9">FileList::FixEndingSlash</a>(<span class="keywordtype">char</span> *str, <span class="keywordtype">size_t</span> strLength)</div>
<div class="line"><a name="l00814"></a><span class="lineno"> 814</span>&#160;{</div>
<div class="line"><a name="l00815"></a><span class="lineno"> 815</span>&#160;<span class="preprocessor">#ifdef _WIN32</span></div>
<div class="line"><a name="l00816"></a><span class="lineno"> 816</span>&#160;<span class="preprocessor"></span> <span class="keywordflow">if</span> (str[strlen(str)-1]!=<span class="charliteral">&#39;/&#39;</span> &amp;&amp; str[strlen(str)-1]!=<span class="charliteral">&#39;\\&#39;</span>)</div>
<div class="line"><a name="l00817"></a><span class="lineno"> 817</span>&#160; {</div>
<div class="line"><a name="l00818"></a><span class="lineno"> 818</span>&#160; strcat_s(str, strLength, <span class="stringliteral">&quot;\\&quot;</span>); <span class="comment">// Only \ works with system commands, used by AutopatcherClient</span></div>
<div class="line"><a name="l00819"></a><span class="lineno"> 819</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00820"></a><span class="lineno"> 820</span>&#160; }</div>
<div class="line"><a name="l00821"></a><span class="lineno"> 821</span>&#160;<span class="preprocessor">#else</span></div>
<div class="line"><a name="l00822"></a><span class="lineno"> 822</span>&#160;<span class="preprocessor"></span> <span class="keywordflow">if</span> (str[strlen(str)-1]!=<span class="charliteral">&#39;\\&#39;</span> &amp;&amp; str[strlen(str)-1]!=<span class="charliteral">&#39;/&#39;</span>)</div>
<div class="line"><a name="l00823"></a><span class="lineno"> 823</span>&#160; {</div>
<div class="line"><a name="l00824"></a><span class="lineno"> 824</span>&#160; strcat_s(str, strLength, <span class="stringliteral">&quot;/&quot;</span>); <span class="comment">// Only / works with Linux</span></div>
<div class="line"><a name="l00825"></a><span class="lineno"> 825</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00826"></a><span class="lineno"> 826</span>&#160; }</div>
<div class="line"><a name="l00827"></a><span class="lineno"> 827</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00828"></a><span class="lineno"> 828</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00829"></a><span class="lineno"> 829</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00830"></a><span class="lineno"> 830</span>&#160;}</div>
<div class="line"><a name="l00831"></a><span class="lineno"> 831</span>&#160;</div>
<div class="line"><a name="l00832"></a><span class="lineno"> 832</span>&#160;<span class="preprocessor">#endif // _RAKNET_SUPPORT_FileOperations</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="../../dd/d9c/_file_list_8cpp.xhtml">FileList.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,134 @@
<!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: RNS2_Windows_Linux_360 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('dd/d9e/class_r_n_s2___windows___linux__360.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">RNS2_Windows_Linux_360 Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<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 RNS2_Windows_Linux_360:</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="../../d4/dba/class_r_n_s2___windows___linux__360__inherit__graph.svg" width="194" height="272"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>Source/include/slikenet/<a class="el" href="../../df/ded/socket2_8h_source.xhtml">socket2.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/d9e/class_r_n_s2___windows___linux__360.xhtml">RNS2_Windows_Linux_360</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,4 @@
var _cloud_server_8h =
[
[ "CLOUD_SERVER_DATA_STACK_SIZE", "dd/d9f/_cloud_server_8h.xhtml#a799128390c6c2ded097cf529c752969a", null ]
];

View File

@ -0,0 +1,198 @@
<!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/CloudServer.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('dd/d9f/_cloud_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> &#124;
<a href="#define-members">Macros</a> </div>
<div class="headertitle">
<div class="title">CloudServer.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>Stores client data, and allows cross-server communication to retrieve this data.
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="../../de/ddb/_native_feature_includes_8h_source.xhtml">NativeFeatureIncludes.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../d7/ddd/_plugin_interface2_8h_source.xhtml">PluginInterface2.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../dd/dc5/memoryoverride_8h_source.xhtml">memoryoverride.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../df/df2/_native_types_8h_source.xhtml">NativeTypes.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../da/d66/string_8h_source.xhtml">string.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../d2/d77/_d_s___hash_8h_source.xhtml">DS_Hash.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../d7/d6d/_cloud_common_8h_source.xhtml">CloudCommon.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../d6/d4d/_d_s___ordered_list_8h_source.xhtml">DS_OrderedList.h</a>&quot;</code><br/>
</div>
<p><a href="../../dd/d9f/_cloud_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:d8/d0a/class_s_l_net_1_1_cloud_server_query_filter"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#d8/d0a/class_s_l_net_1_1_cloud_server_query_filter">SLNet::CloudServerQueryFilter</a></td></tr>
<tr class="memdesc:d8/d0a/class_s_l_net_1_1_cloud_server_query_filter"><td class="mdescLeft">&#160;</td><td class="mdescRight">Zero or more instances of <a class="el" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#d8/d0a/class_s_l_net_1_1_cloud_server_query_filter" title="Zero or more instances of CloudServerQueryFilter can be attached to CloudServer to restrict client qu...">CloudServerQueryFilter</a> can be attached to <a class="el" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#db/d6e/class_s_l_net_1_1_cloud_server" title="Stores client data, and allows cross-server communication to retrieve this data.">CloudServer</a> to restrict client queries All attached instances of <a class="el" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#d8/d0a/class_s_l_net_1_1_cloud_server_query_filter" title="Zero or more instances of CloudServerQueryFilter can be attached to CloudServer to restrict client qu...">CloudServerQueryFilter</a> on each corresponding operation, from all directly connected clients If any attached instance returns false for a given operation, that operation is silently rejected. <a href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#d8/d0a/class_s_l_net_1_1_cloud_server_query_filter">More...</a><br/></td></tr>
<tr class="separator:d8/d0a/class_s_l_net_1_1_cloud_server_query_filter"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:db/d6e/class_s_l_net_1_1_cloud_server"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#db/d6e/class_s_l_net_1_1_cloud_server">SLNet::CloudServer</a></td></tr>
<tr class="memdesc:db/d6e/class_s_l_net_1_1_cloud_server"><td class="mdescLeft">&#160;</td><td class="mdescRight">Stores client data, and allows cross-server communication to retrieve this data. <a href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#db/d6e/class_s_l_net_1_1_cloud_server">More...</a><br/></td></tr>
<tr class="separator:db/d6e/class_s_l_net_1_1_cloud_server"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:df/d02/struct_s_l_net_1_1_cloud_server_1_1_cloud_data"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#df/d02/struct_s_l_net_1_1_cloud_server_1_1_cloud_data">SLNet::CloudServer::CloudData</a></td></tr>
<tr class="separator:df/d02/struct_s_l_net_1_1_cloud_server_1_1_cloud_data"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:d4/d61/struct_s_l_net_1_1_cloud_server_1_1_cloud_data_list"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#d4/d61/struct_s_l_net_1_1_cloud_server_1_1_cloud_data_list">SLNet::CloudServer::CloudDataList</a></td></tr>
<tr class="separator:d4/d61/struct_s_l_net_1_1_cloud_server_1_1_cloud_data_list"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:d9/d5a/struct_s_l_net_1_1_cloud_server_1_1_key_subscriber_i_d"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#d9/d5a/struct_s_l_net_1_1_cloud_server_1_1_key_subscriber_i_d">SLNet::CloudServer::KeySubscriberID</a></td></tr>
<tr class="separator:d9/d5a/struct_s_l_net_1_1_cloud_server_1_1_key_subscriber_i_d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:d1/d31/struct_s_l_net_1_1_cloud_server_1_1_remote_cloud_client"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#d1/d31/struct_s_l_net_1_1_cloud_server_1_1_remote_cloud_client">SLNet::CloudServer::RemoteCloudClient</a></td></tr>
<tr class="separator:d1/d31/struct_s_l_net_1_1_cloud_server_1_1_remote_cloud_client"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:d9/d6f/struct_s_l_net_1_1_cloud_server_1_1_remote_server"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#d9/d6f/struct_s_l_net_1_1_cloud_server_1_1_remote_server">SLNet::CloudServer::RemoteServer</a></td></tr>
<tr class="separator:d9/d6f/struct_s_l_net_1_1_cloud_server_1_1_remote_server"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:df/dd3/struct_s_l_net_1_1_cloud_server_1_1_buffered_get_response_from_server"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#df/dd3/struct_s_l_net_1_1_cloud_server_1_1_buffered_get_response_from_server">SLNet::CloudServer::BufferedGetResponseFromServer</a></td></tr>
<tr class="separator:df/dd3/struct_s_l_net_1_1_cloud_server_1_1_buffered_get_response_from_server"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:d4/dad/struct_s_l_net_1_1_cloud_server_1_1_cloud_query_with_addresses"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#d4/dad/struct_s_l_net_1_1_cloud_server_1_1_cloud_query_with_addresses">SLNet::CloudServer::CloudQueryWithAddresses</a></td></tr>
<tr class="separator:d4/dad/struct_s_l_net_1_1_cloud_server_1_1_cloud_query_with_addresses"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:da/dd1/struct_s_l_net_1_1_cloud_server_1_1_get_request"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#da/dd1/struct_s_l_net_1_1_cloud_server_1_1_get_request">SLNet::CloudServer::GetRequest</a></td></tr>
<tr class="separator:da/dd1/struct_s_l_net_1_1_cloud_server_1_1_get_request"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:dd/d30/namespace_s_l_net"><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d30/namespace_s_l_net.xhtml">SLNet</a></td></tr>
<tr class="memdesc:dd/d30/namespace_s_l_net"><td class="mdescLeft">&#160;</td><td class="mdescRight">Simple class to send changes between directories. In essence, a simple autopatcher that can be used for transmitting levels, skins, etc. <br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:a799128390c6c2ded097cf529c752969a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d9f/_cloud_server_8h.xhtml#a799128390c6c2ded097cf529c752969a">CLOUD_SERVER_DATA_STACK_SIZE</a>&#160;&#160;&#160;32</td></tr>
<tr class="memdesc:a799128390c6c2ded097cf529c752969a"><td class="mdescLeft">&#160;</td><td class="mdescRight">If the data is smaller than this value, an allocation is avoid. However, this value exists for every row. <a href="#a799128390c6c2ded097cf529c752969a"></a><br/></td></tr>
<tr class="separator:a799128390c6c2ded097cf529c752969a"><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>Stores client data, and allows cross-server communication to retrieve this data. </p>
<p>TODO </p>
<p>Definition in file <a class="el" href="../../dd/d9f/_cloud_server_8h_source.xhtml">CloudServer.h</a>.</p>
</div><h2 class="groupheader">Macro Definition Documentation</h2>
<a class="anchor" id="a799128390c6c2ded097cf529c752969a"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define CLOUD_SERVER_DATA_STACK_SIZE&#160;&#160;&#160;32</td>
</tr>
</table>
</div><div class="memdoc">
<p>If the data is smaller than this value, an allocation is avoid. However, this value exists for every row. </p>
<p>Definition at line <a class="el" href="../../dd/d9f/_cloud_server_8h_source.xhtml#l00037">37</a> of file <a class="el" href="../../dd/d9f/_cloud_server_8h_source.xhtml">CloudServer.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="../../dd/d9f/_cloud_server_8h.xhtml">CloudServer.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,450 @@
<!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/CloudServer.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('dd/d9f/_cloud_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">CloudServer.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="../../dd/d9f/_cloud_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="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">#include &quot;<a class="code" href="../../de/ddb/_native_feature_includes_8h.xhtml">NativeFeatureIncludes.h</a>&quot;</span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="preprocessor">#if _RAKNET_SUPPORT_CloudServer==1</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">#ifndef __CLOUD_SERVER_H</span></div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define __CLOUD_SERVER_H</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">#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="../../dd/dc5/memoryoverride_8h.xhtml" title="If _USE_RAK_MEMORY_OVERRIDE is defined, memory allocations go through rakMalloc, rakRealloc, and rakFree.">memoryoverride.h</a>&quot;</span></div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../df/df2/_native_types_8h.xhtml">NativeTypes.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="../../da/d66/string_8h.xhtml">string.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="../../d2/d77/_d_s___hash_8h.xhtml">DS_Hash.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="../../d7/d6d/_cloud_common_8h.xhtml">CloudCommon.h</a>&quot;</span></div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</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="l00035"></a><span class="lineno"> 35</span>&#160;</div>
<div class="line"><a name="l00037"></a><span class="lineno"><a class="code" href="../../dd/d9f/_cloud_server_8h.xhtml#a799128390c6c2ded097cf529c752969a"> 37</a></span>&#160;<span class="preprocessor">#define CLOUD_SERVER_DATA_STACK_SIZE 32</span></div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;<span class="keyword">namespace </span>SLNet</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;{</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;<span class="keyword">class </span>RakPeerInterface;</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;</div>
<div class="line"><a name="l00048"></a><span class="lineno"><a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml"> 48</a></span>&#160;<span class="keyword">class </span><a class="code" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#d8/d0a/class_s_l_net_1_1_cloud_server_query_filter" title="Zero or more instances of CloudServerQueryFilter can be attached to CloudServer to restrict client qu...">CloudServerQueryFilter</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="keyword">public</span>:</div>
<div class="line"><a name="l00051"></a><span class="lineno"><a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#a5a9e3e0f82d728ab5d4145b83b1b8e9f"> 51</a></span>&#160; <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#a5a9e3e0f82d728ab5d4145b83b1b8e9f">CloudServerQueryFilter</a>() {}</div>
<div class="line"><a name="l00052"></a><span class="lineno"><a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#aaa6270fa5bd901aaa41f8d96556d489d"> 52</a></span>&#160; <span class="keyword">virtual</span> <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#aaa6270fa5bd901aaa41f8d96556d489d">~CloudServerQueryFilter</a>() {}</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> OnPostRequest(<a class="code" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml">RakNetGUID</a> clientGuid, <a class="code" href="../../d8/dbe/struct_s_l_net_1_1_system_address.xhtml" title="Network address for a system.">SystemAddress</a> clientAddress, <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#d9/d8c/struct_s_l_net_1_1_cloud_key">CloudKey</a> key, <a class="code" href="../../df/df2/_native_types_8h.xhtml#a6eb1e68cc391dd753bc8ce896dbb8315">uint32_t</a> dataLength, <span class="keyword">const</span> <span class="keywordtype">char</span> *data)=0;</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> OnReleaseRequest(<a class="code" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml">RakNetGUID</a> clientGuid, <a class="code" href="../../d8/dbe/struct_s_l_net_1_1_system_address.xhtml" title="Network address for a system.">SystemAddress</a> clientAddress, <a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml">DataStructures::List&lt;CloudKey&gt;</a> &amp;cloudKeys)=0;</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> OnGetRequest(<a class="code" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml">RakNetGUID</a> clientGuid, <a class="code" href="../../d8/dbe/struct_s_l_net_1_1_system_address.xhtml" title="Network address for a system.">SystemAddress</a> clientAddress, <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#da/d88/struct_s_l_net_1_1_cloud_query">CloudQuery</a> &amp;query, <a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml">DataStructures::List&lt;RakNetGUID&gt;</a> &amp;specificSystems)=0;</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> OnUnsubscribeRequest(<a class="code" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml">RakNetGUID</a> clientGuid, <a class="code" href="../../d8/dbe/struct_s_l_net_1_1_system_address.xhtml" title="Network address for a system.">SystemAddress</a> clientAddress, <a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml">DataStructures::List&lt;CloudKey&gt;</a> &amp;cloudKeys, <a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml">DataStructures::List&lt;RakNetGUID&gt;</a> &amp;specificSystems)=0;</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;};</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;</div>
<div class="line"><a name="l00075"></a><span class="lineno"><a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml"> 75</a></span>&#160;<span class="keyword">class </span><a class="code" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#db/d6e/class_s_l_net_1_1_cloud_server" title="Stores client data, and allows cross-server communication to retrieve this data.">CloudServer</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>, <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#db/de6/class_s_l_net_1_1_cloud_allocator">CloudAllocator</a></div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160;{</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <span class="comment">// GetInstance() and DestroyInstance(instance*)</span></div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <a class="code" href="../../db/dbd/_export_8h.xhtml#af3e49377f340027d211b2814949efc48">STATIC_FACTORY_DECLARATIONS</a>(<a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#db/d6e/class_s_l_net_1_1_cloud_server" title="Stores client data, and allows cross-server communication to retrieve this data.">CloudServer</a>)</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; <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#db/d6e/class_s_l_net_1_1_cloud_server" title="Stores client data, and allows cross-server communication to retrieve this data.">CloudServer</a>();</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; <span class="keyword">virtual</span> ~<a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#db/d6e/class_s_l_net_1_1_cloud_server" title="Stores client data, and allows cross-server communication to retrieve this data.">CloudServer</a>();</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160;</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <span class="keywordtype">void</span> SetMaxUploadBytesPerClient(<a class="code" href="../../df/df2/_native_types_8h.xhtml#ad27ed092432b64ff558d2254c278720f">uint64_t</a> bytes);</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <span class="keywordtype">void</span> SetMaxBytesPerDownload(<a class="code" href="../../df/df2/_native_types_8h.xhtml#ad27ed092432b64ff558d2254c278720f">uint64_t</a> bytes);</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160;</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <span class="keywordtype">void</span> AddServer(<a class="code" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml">RakNetGUID</a> systemIdentifier);</div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;</div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; <span class="keywordtype">void</span> RemoveServer(<a class="code" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml">RakNetGUID</a> systemIdentifier);</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;</div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <span class="keywordtype">void</span> GetRemoteServers(<a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml">DataStructures::List&lt;RakNetGUID&gt;</a> &amp;remoteServersOut);</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160;</div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <span class="keywordtype">void</span> Clear(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;</div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; <span class="keywordtype">void</span> ForceExternalSystemAddress(<a class="code" href="../../d8/dbe/struct_s_l_net_1_1_system_address.xhtml" title="Network address for a system.">SystemAddress</a> forcedAddress);</div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;</div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; <span class="keywordtype">void</span> AddQueryFilter(<a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#d8/d0a/class_s_l_net_1_1_cloud_server_query_filter" title="Zero or more instances of CloudServerQueryFilter can be attached to CloudServer to restrict client qu...">CloudServerQueryFilter</a>* filter);</div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;</div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <span class="keywordtype">void</span> RemoveQueryFilter(<a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#d8/d0a/class_s_l_net_1_1_cloud_server_query_filter" title="Zero or more instances of CloudServerQueryFilter can be attached to CloudServer to restrict client qu...">CloudServerQueryFilter</a>* filter);</div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160;</div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; <span class="keywordtype">void</span> RemoveAllQueryFilters(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;</div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;<span class="keyword">protected</span>:</div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> Update(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</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="l00136"></a><span class="lineno"> 136</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="l00137"></a><span class="lineno"> 137</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> OnRakPeerShutdown(<span class="keywordtype">void</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;</div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> OnPostRequest(<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="l00141"></a><span class="lineno"> 141</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> OnReleaseRequest(<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="l00142"></a><span class="lineno"> 142</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> OnGetRequest(<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="l00143"></a><span class="lineno"> 143</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> OnUnsubscribeRequest(<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="l00144"></a><span class="lineno"> 144</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> OnServerToServerGetRequest(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#d8/d23/struct_s_l_net_1_1_packet" title="This represents a user message from another system.">Packet</a> *packet);</div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> OnServerToServerGetResponse(<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="l00146"></a><span class="lineno"> 146</span>&#160;</div>
<div class="line"><a name="l00147"></a><span class="lineno"><a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#a451ce0b6c4eafb417dc71ef2851384d0"> 147</a></span>&#160; <a class="code" href="../../df/df2/_native_types_8h.xhtml#ad27ed092432b64ff558d2254c278720f">uint64_t</a> <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#a451ce0b6c4eafb417dc71ef2851384d0">maxUploadBytesPerClient</a>, maxBytesPerDowload;</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">// ----------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; <span class="comment">// For a given data key, quickly look up one or all systems that have uploaded</span></div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; <span class="comment">// ----------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00152"></a><span class="lineno"><a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml"> 152</a></span>&#160; <span class="keyword">struct </span><a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#df/d02/struct_s_l_net_1_1_cloud_server_1_1_cloud_data">CloudData</a></div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; {</div>
<div class="line"><a name="l00154"></a><span class="lineno"><a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#aa7db89b1110e1cb06ddf6439c703b601"> 154</a></span>&#160; <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#aa7db89b1110e1cb06ddf6439c703b601">CloudData</a>() {}</div>
<div class="line"><a name="l00155"></a><span class="lineno"><a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#a2da7d30c7bbc805cf3a0f0a26656d5fa"> 155</a></span>&#160; <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#a2da7d30c7bbc805cf3a0f0a26656d5fa">~CloudData</a>() {<span class="keywordflow">if</span> (allocatedData) <a class="code" href="../../d9/d4c/_rak_memory_override_8cpp.xhtml#ab91fbe0570bf501cd97a53c6cffcef8f">rakFree_Ex</a>(allocatedData, <a class="code" href="../../d8/db0/defines_8h.xhtml#a8661ec2137eef33a8cd0cd618a748871">_FILE_AND_LINE_</a>);}</div>
<div class="line"><a name="l00156"></a><span class="lineno"><a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#aff15de50fc7e6c60dfcb3594ed9eac6c"> 156</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#aff15de50fc7e6c60dfcb3594ed9eac6c">IsUnused</a>(<span class="keywordtype">void</span>)<span class="keyword"> const </span>{<span class="keywordflow">return</span> isUploaded==<span class="keyword">false</span> &amp;&amp; specificSubscribers.Size()==0;}</div>
<div class="line"><a name="l00157"></a><span class="lineno"><a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#aa7880c4ecb94fc5fb3d788bb96f03048"> 157</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#aa7880c4ecb94fc5fb3d788bb96f03048">Clear</a>(<span class="keywordtype">void</span>) {<span class="keywordflow">if</span> (dataPtr==allocatedData) <a class="code" href="../../d9/d4c/_rak_memory_override_8cpp.xhtml#ab91fbe0570bf501cd97a53c6cffcef8f">rakFree_Ex</a>(allocatedData, <a class="code" href="../../d8/db0/defines_8h.xhtml#a8661ec2137eef33a8cd0cd618a748871">_FILE_AND_LINE_</a>); allocatedData=0; dataPtr=0; dataLengthBytes=0; isUploaded=<span class="keyword">false</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"><a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#a9277999b8483c42e45dd851a7f9f4870"> 159</a></span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> stackData[<a class="code" href="../../dd/d9f/_cloud_server_8h.xhtml#a799128390c6c2ded097cf529c752969a" title="If the data is smaller than this value, an allocation is avoid. However, this value exists for every ...">CLOUD_SERVER_DATA_STACK_SIZE</a>];</div>
<div class="line"><a name="l00160"></a><span class="lineno"><a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#aee8bfd2959b6b63fe12b89658b68bddc"> 160</a></span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *<a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#aee8bfd2959b6b63fe12b89658b68bddc">allocatedData</a>; <span class="comment">// Uses allocatedData instead of stackData if length of data exceeds CLOUD_SERVER_DATA_STACK_SIZE</span></div>
<div class="line"><a name="l00161"></a><span class="lineno"><a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#a641611d73cc90c7d19fad351d01fe71a"> 161</a></span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *<a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#a641611d73cc90c7d19fad351d01fe71a">dataPtr</a>; <span class="comment">// Points to either stackData or allocatedData</span></div>
<div class="line"><a name="l00162"></a><span class="lineno"><a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#adaaaeaae337f69c7cd66c96032b1fdca"> 162</a></span>&#160; <a class="code" href="../../df/df2/_native_types_8h.xhtml#a6eb1e68cc391dd753bc8ce896dbb8315">uint32_t</a> <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#adaaaeaae337f69c7cd66c96032b1fdca">dataLengthBytes</a>;</div>
<div class="line"><a name="l00163"></a><span class="lineno"><a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#a08adcfc39da0e0ddb797073a1193a535"> 163</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#a08adcfc39da0e0ddb797073a1193a535">isUploaded</a>;</div>
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160;</div>
<div class="line"><a name="l00166"></a><span class="lineno"><a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#a3cadd51f5b040f98d94d82265bd63db3"> 166</a></span>&#160; <a class="code" href="../../d8/dbe/struct_s_l_net_1_1_system_address.xhtml" title="Network address for a system.">SystemAddress</a> <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#a3cadd51f5b040f98d94d82265bd63db3" title="System address of server that is holding this data, and the client is connected to.">serverSystemAddress</a>;</div>
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160;</div>
<div class="line"><a name="l00169"></a><span class="lineno"><a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#ac4d6f477202bb717805db284e5f05c89"> 169</a></span>&#160; <a class="code" href="../../d8/dbe/struct_s_l_net_1_1_system_address.xhtml" title="Network address for a system.">SystemAddress</a> <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#ac4d6f477202bb717805db284e5f05c89" title="System address of client that uploaded this data.">clientSystemAddress</a>;</div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160;</div>
<div class="line"><a name="l00172"></a><span class="lineno"><a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#a67c99ef247882fbfb16867b3398d2cca"> 172</a></span>&#160; <a class="code" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml">RakNetGUID</a> <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#a67c99ef247882fbfb16867b3398d2cca" title="RakNetGUID of server that is holding this data, and the client is connected to.">serverGUID</a>;</div>
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160;</div>
<div class="line"><a name="l00175"></a><span class="lineno"><a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#abbe7395b98d64c1f14cbb10300c04f4d"> 175</a></span>&#160; <a class="code" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml">RakNetGUID</a> <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#abbe7395b98d64c1f14cbb10300c04f4d" title="RakNetGUID of client that uploaded this data.">clientGUID</a>;</div>
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160;</div>
<div class="line"><a name="l00179"></a><span class="lineno"><a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#aebea8ddcbccbfad60be41ee7aa31c814"> 179</a></span>&#160; <a class="code" href="../../da/dfc/class_data_structures_1_1_ordered_list.xhtml">DataStructures::OrderedList&lt;RakNetGUID, RakNetGUID&gt;</a> <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#aebea8ddcbccbfad60be41ee7aa31c814">specificSubscribers</a>;</div>
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; };</div>
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; <span class="keywordtype">void</span> WriteCloudQueryRowFromResultList(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i, <a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml">DataStructures::List&lt;CloudData*&gt;</a> &amp;cloudDataResultList, <a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml">DataStructures::List&lt;CloudKey&gt;</a> &amp;cloudKeyResultList, <a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">BitStream</a> *bsOut);</div>
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; <span class="keywordtype">void</span> WriteCloudQueryRowFromResultList(<a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml">DataStructures::List&lt;CloudData*&gt;</a> &amp;cloudDataResultList, <a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml">DataStructures::List&lt;CloudKey&gt;</a> &amp;cloudKeyResultList, <a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">BitStream</a> *bsOut);</div>
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160;</div>
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; <span class="keyword">static</span> <span class="keywordtype">int</span> KeyDataPtrComp( <span class="keyword">const</span> <a class="code" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml">RakNetGUID</a> &amp;key, <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#df/d02/struct_s_l_net_1_1_cloud_server_1_1_cloud_data">CloudData</a>* <span class="keyword">const</span> &amp;data );</div>
<div class="line"><a name="l00185"></a><span class="lineno"><a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml"> 185</a></span>&#160; <span class="keyword">struct </span><a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#d4/d61/struct_s_l_net_1_1_cloud_server_1_1_cloud_data_list">CloudDataList</a></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"><a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#acf62342a88ab24c82e0830e6bee81ba4"> 187</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#acf62342a88ab24c82e0830e6bee81ba4">IsUnused</a>(<span class="keywordtype">void</span>)<span class="keyword"> const </span>{<span class="keywordflow">return</span> keyData.Size()==0 &amp;&amp; nonSpecificSubscribers.Size()==0;}</div>
<div class="line"><a name="l00188"></a><span class="lineno"><a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#a85756e43371a1ae5033ac660a09b7b24"> 188</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#a85756e43371a1ae5033ac660a09b7b24">IsNotUploaded</a>(<span class="keywordtype">void</span>)<span class="keyword"> const </span>{<span class="keywordflow">return</span> uploaderCount==0;}</div>
<div class="line"><a name="l00189"></a><span class="lineno"><a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#a750aad9410ab1e402e314d4462bde85b"> 189</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#a750aad9410ab1e402e314d4462bde85b">RemoveSubscriber</a>(<a class="code" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml">RakNetGUID</a> g) {</div>
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; <span class="keywordtype">bool</span> objectExists;</div>
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> index;</div>
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; index = nonSpecificSubscribers.GetIndexFromKey(g, &amp;objectExists);</div>
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; <span class="keywordflow">if</span> (objectExists)</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; subscriberCount--;</div>
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; nonSpecificSubscribers.RemoveAtIndex(index);</div>
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; }</div>
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</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;</div>
<div class="line"><a name="l00202"></a><span class="lineno"><a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#a89bb52729c263d29e95dd2996243c642"> 202</a></span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#a89bb52729c263d29e95dd2996243c642">uploaderCount</a>, subscriberCount;</div>
<div class="line"><a name="l00203"></a><span class="lineno"><a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#a941cf50199c2dae6c61a7132312e22c6"> 203</a></span>&#160; <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#d9/d8c/struct_s_l_net_1_1_cloud_key">CloudKey</a> <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#a941cf50199c2dae6c61a7132312e22c6">key</a>;</div>
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160;</div>
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; <span class="comment">// Data uploaded from or subscribed to for various systems</span></div>
<div class="line"><a name="l00206"></a><span class="lineno"><a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#ac72c1c8b01346c2b43812cf0e0258f41"> 206</a></span>&#160; <a class="code" href="../../da/dfc/class_data_structures_1_1_ordered_list.xhtml">DataStructures::OrderedList&lt;RakNetGUID, CloudData*, CloudServer::KeyDataPtrComp&gt;</a> <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#ac72c1c8b01346c2b43812cf0e0258f41">keyData</a>;</div>
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160;</div>
<div class="line"><a name="l00210"></a><span class="lineno"><a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#a2d76f81b1c4f7a856952683058cc90d8"> 210</a></span>&#160; <a class="code" href="../../da/dfc/class_data_structures_1_1_ordered_list.xhtml">DataStructures::OrderedList&lt;RakNetGUID, RakNetGUID&gt;</a> <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#a2d76f81b1c4f7a856952683058cc90d8">nonSpecificSubscribers</a>;</div>
<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; };</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="keyword">static</span> <span class="keywordtype">int</span> KeyDataListComp( <span class="keyword">const</span> <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#d9/d8c/struct_s_l_net_1_1_cloud_key">CloudKey</a> &amp;key, <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#d4/d61/struct_s_l_net_1_1_cloud_server_1_1_cloud_data_list">CloudDataList</a> * <span class="keyword">const</span> &amp;data );</div>
<div class="line"><a name="l00214"></a><span class="lineno"><a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#abd9a9cf5b4704c6edc34cef815e428c0"> 214</a></span>&#160; <a class="code" href="../../da/dfc/class_data_structures_1_1_ordered_list.xhtml">DataStructures::OrderedList&lt;CloudKey, CloudDataList*, CloudServer::KeyDataListComp&gt;</a> <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#abd9a9cf5b4704c6edc34cef815e428c0">dataRepository</a>;</div>
<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160;</div>
<div class="line"><a name="l00216"></a><span class="lineno"><a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml"> 216</a></span>&#160; <span class="keyword">struct </span><a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#d9/d5a/struct_s_l_net_1_1_cloud_server_1_1_key_subscriber_i_d">KeySubscriberID</a></div>
<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; {</div>
<div class="line"><a name="l00218"></a><span class="lineno"><a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#ac64476140985100e63b7d5a2a851270f"> 218</a></span>&#160; <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#d9/d8c/struct_s_l_net_1_1_cloud_key">CloudKey</a> <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#ac64476140985100e63b7d5a2a851270f">key</a>;</div>
<div class="line"><a name="l00219"></a><span class="lineno"><a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#a03c99199f30eb0202856f12bef0f0455"> 219</a></span>&#160; <a class="code" href="../../da/dfc/class_data_structures_1_1_ordered_list.xhtml">DataStructures::OrderedList&lt;RakNetGUID, RakNetGUID&gt;</a> <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#a03c99199f30eb0202856f12bef0f0455">specificSystemsSubscribedTo</a>;</div>
<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; };</div>
<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; <span class="keyword">static</span> <span class="keywordtype">int</span> KeySubscriberIDComp(<span class="keyword">const</span> <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#d9/d8c/struct_s_l_net_1_1_cloud_key">CloudKey</a> &amp;key, <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#d9/d5a/struct_s_l_net_1_1_cloud_server_1_1_key_subscriber_i_d">KeySubscriberID</a> * <span class="keyword">const</span> &amp;data );</div>
<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160;</div>
<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; <span class="comment">// Remote systems</span></div>
<div class="line"><a name="l00224"></a><span class="lineno"><a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml"> 224</a></span>&#160; <span class="keyword">struct </span><a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#d1/d31/struct_s_l_net_1_1_cloud_server_1_1_remote_cloud_client">RemoteCloudClient</a></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"><a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#abd5de8116fc1799e36aa4890d3eb3ab9"> 226</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#abd5de8116fc1799e36aa4890d3eb3ab9">IsUnused</a>(<span class="keywordtype">void</span>)<span class="keyword"> const </span>{<span class="keywordflow">return</span> uploadedKeys.Size()==0 &amp;&amp; subscribedKeys.Size()==0;}</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"><a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#ad77f29503cea427c50fa18aef65a5468"> 228</a></span>&#160; <a class="code" href="../../da/dfc/class_data_structures_1_1_ordered_list.xhtml">DataStructures::OrderedList&lt;CloudKey,CloudKey,CloudKeyComp&gt;</a> <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#ad77f29503cea427c50fa18aef65a5468">uploadedKeys</a>;</div>
<div class="line"><a name="l00229"></a><span class="lineno"><a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#aa51d5bdfb87693c34cfacd2f66e2481b"> 229</a></span>&#160; <a class="code" href="../../da/dfc/class_data_structures_1_1_ordered_list.xhtml">DataStructures::OrderedList&lt;CloudKey,KeySubscriberID*,CloudServer::KeySubscriberIDComp&gt;</a> <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#aa51d5bdfb87693c34cfacd2f66e2481b">subscribedKeys</a>;</div>
<div class="line"><a name="l00230"></a><span class="lineno"><a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#ab22de88374c75ee74221e7d557e4f303"> 230</a></span>&#160; <a class="code" href="../../df/df2/_native_types_8h.xhtml#ad27ed092432b64ff558d2254c278720f">uint64_t</a> <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#ab22de88374c75ee74221e7d557e4f303">uploadedBytes</a>;</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"><a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#a13a1c33adc880b61926ed9d4965f6f86"> 232</a></span>&#160; <a class="code" href="../../d6/d83/class_data_structures_1_1_hash.xhtml">DataStructures::Hash&lt;RakNetGUID, RemoteCloudClient*, 2048, RakNetGUID::ToUint32&gt;</a> <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#a13a1c33adc880b61926ed9d4965f6f86">remoteSystems</a>;</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="comment">// For a given user, release all subscribed and uploaded keys</span></div>
<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; <span class="keywordtype">void</span> ReleaseSystem(<a class="code" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml">RakNetGUID</a> clientAddress );</div>
<div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160;</div>
<div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; <span class="comment">// For a given user, release a set of keys</span></div>
<div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; <span class="keywordtype">void</span> ReleaseKeys(<a class="code" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml">RakNetGUID</a> clientAddress, <a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml">DataStructures::List&lt;CloudKey&gt;</a> &amp;keys );</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; <span class="keywordtype">void</span> NotifyClientSubscribersOfDataChange( <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#df/d02/struct_s_l_net_1_1_cloud_server_1_1_cloud_data">CloudData</a> *cloudData, <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#d9/d8c/struct_s_l_net_1_1_cloud_key">CloudKey</a> &amp;key, <a class="code" href="../../da/dfc/class_data_structures_1_1_ordered_list.xhtml">DataStructures::OrderedList&lt;RakNetGUID, RakNetGUID&gt;</a> &amp;subscribers, <span class="keywordtype">bool</span> wasUpdated );</div>
<div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; <span class="keywordtype">void</span> NotifyClientSubscribersOfDataChange( <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#de/dfa/struct_s_l_net_1_1_cloud_query_row">CloudQueryRow</a> *row, <a class="code" href="../../da/dfc/class_data_structures_1_1_ordered_list.xhtml">DataStructures::OrderedList&lt;RakNetGUID, RakNetGUID&gt;</a> &amp;subscribers, <span class="keywordtype">bool</span> wasUpdated );</div>
<div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; <span class="keywordtype">void</span> NotifyServerSubscribersOfDataChange( <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#df/d02/struct_s_l_net_1_1_cloud_server_1_1_cloud_data">CloudData</a> *cloudData, <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#d9/d8c/struct_s_l_net_1_1_cloud_key">CloudKey</a> &amp;key, <span class="keywordtype">bool</span> wasUpdated );</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"><a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml"> 244</a></span>&#160; <span class="keyword">struct </span><a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#d9/d6f/struct_s_l_net_1_1_cloud_server_1_1_remote_server">RemoteServer</a></div>
<div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; {</div>
<div class="line"><a name="l00246"></a><span class="lineno"><a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#a933573b24c93a003fb0c9a3fd89549ad"> 246</a></span>&#160; <a class="code" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml">RakNetGUID</a> <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#a933573b24c93a003fb0c9a3fd89549ad">serverAddress</a>;</div>
<div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; <span class="comment">// This server needs to know about these keys when they are updated or deleted</span></div>
<div class="line"><a name="l00248"></a><span class="lineno"><a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#ab9ada164c0ca448438b06a9eb669631f"> 248</a></span>&#160; <a class="code" href="../../da/dfc/class_data_structures_1_1_ordered_list.xhtml">DataStructures::OrderedList&lt;CloudKey,CloudKey,CloudKeyComp&gt;</a> <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#ab9ada164c0ca448438b06a9eb669631f">subscribedKeys</a>;</div>
<div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; <span class="comment">// This server has uploaded these keys, and needs to know about Get() requests</span></div>
<div class="line"><a name="l00250"></a><span class="lineno"><a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#ab6198528d4bbfd4736c4150756ea0b81"> 250</a></span>&#160; <a class="code" href="../../da/dfc/class_data_structures_1_1_ordered_list.xhtml">DataStructures::OrderedList&lt;CloudKey,CloudKey,CloudKeyComp&gt;</a> <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#ab6198528d4bbfd4736c4150756ea0b81">uploadedKeys</a>;</div>
<div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160;</div>
<div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; <span class="comment">// Just for processing</span></div>
<div class="line"><a name="l00253"></a><span class="lineno"><a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#a39d9618b04dcf72cf64566574398853d"> 253</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#a39d9618b04dcf72cf64566574398853d">workingFlag</a>;</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; <span class="comment">// If false, we don&#39;t know what keys they have yet, so send everything</span></div>
<div class="line"><a name="l00256"></a><span class="lineno"><a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#a7a57c9a64199722d28616b2303c8d175"> 256</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#a7a57c9a64199722d28616b2303c8d175">gotSubscribedAndUploadedKeys</a>;</div>
<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; };</div>
<div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160;</div>
<div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; <span class="keyword">static</span> <span class="keywordtype">int</span> RemoteServerComp(<span class="keyword">const</span> <a class="code" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml">RakNetGUID</a> &amp;key, <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#d9/d6f/struct_s_l_net_1_1_cloud_server_1_1_remote_server">RemoteServer</a>* <span class="keyword">const</span> &amp;data );</div>
<div class="line"><a name="l00260"></a><span class="lineno"><a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#ab02da0ac79ccd9d9e1aac98e81091100"> 260</a></span>&#160; <a class="code" href="../../da/dfc/class_data_structures_1_1_ordered_list.xhtml">DataStructures::OrderedList&lt;RakNetGUID, RemoteServer*, CloudServer::RemoteServerComp&gt;</a> <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#ab02da0ac79ccd9d9e1aac98e81091100">remoteServers</a>;</div>
<div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160;</div>
<div class="line"><a name="l00262"></a><span class="lineno"><a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml"> 262</a></span>&#160; <span class="keyword">struct </span><a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#df/dd3/struct_s_l_net_1_1_cloud_server_1_1_buffered_get_response_from_server">BufferedGetResponseFromServer</a></div>
<div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160; {</div>
<div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; <span class="keywordtype">void</span> Clear(<a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#db/de6/class_s_l_net_1_1_cloud_allocator">CloudAllocator</a> *allocator);</div>
<div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160;</div>
<div class="line"><a name="l00266"></a><span class="lineno"><a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#a4fb19c0fd822cec8c6e88380f2e9d6a9"> 266</a></span>&#160; <a class="code" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml">RakNetGUID</a> <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#a4fb19c0fd822cec8c6e88380f2e9d6a9">serverAddress</a>;</div>
<div class="line"><a name="l00267"></a><span class="lineno"><a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#affe2e3912c96178576c53d0cc32428c6"> 267</a></span>&#160; <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#d0/d6e/struct_s_l_net_1_1_cloud_query_result">CloudQueryResult</a> <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#affe2e3912c96178576c53d0cc32428c6">queryResult</a>;</div>
<div class="line"><a name="l00268"></a><span class="lineno"><a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#ab426f5122bd8e7a93bd48f130e1a2875"> 268</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#ab426f5122bd8e7a93bd48f130e1a2875">gotResult</a>;</div>
<div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; };</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"><a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml"> 271</a></span>&#160; <span class="keyword">struct </span><a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#d4/dad/struct_s_l_net_1_1_cloud_server_1_1_cloud_query_with_addresses">CloudQueryWithAddresses</a></div>
<div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; {</div>
<div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; <span class="comment">// Inputs</span></div>
<div class="line"><a name="l00274"></a><span class="lineno"><a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#a9eb1db70173a0d7e6fac426bcb66fd51"> 274</a></span>&#160; <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#da/d88/struct_s_l_net_1_1_cloud_query">CloudQuery</a> <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#a9eb1db70173a0d7e6fac426bcb66fd51">cloudQuery</a>;</div>
<div class="line"><a name="l00275"></a><span class="lineno"><a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#a472f4737197ffc9141e9e0d06d42f694"> 275</a></span>&#160; <a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml">DataStructures::List&lt;RakNetGUID&gt;</a> <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#a472f4737197ffc9141e9e0d06d42f694">specificSystems</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="keywordtype">void</span> Serialize(<span class="keywordtype">bool</span> writeToBitstream, <a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">BitStream</a> *bitStream);</div>
<div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; };</div>
<div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160;</div>
<div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160; <span class="keyword">static</span> <span class="keywordtype">int</span> BufferedGetResponseFromServerComp(<span class="keyword">const</span> <a class="code" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml">RakNetGUID</a> &amp;key, <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#df/dd3/struct_s_l_net_1_1_cloud_server_1_1_buffered_get_response_from_server">BufferedGetResponseFromServer</a>* <span class="keyword">const</span> &amp;data );</div>
<div class="line"><a name="l00281"></a><span class="lineno"><a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml"> 281</a></span>&#160; <span class="keyword">struct </span><a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#da/dd1/struct_s_l_net_1_1_cloud_server_1_1_get_request">GetRequest</a></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="keywordtype">void</span> Clear(<a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#db/de6/class_s_l_net_1_1_cloud_allocator">CloudAllocator</a> *allocator);</div>
<div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; <span class="keywordtype">bool</span> AllRemoteServersHaveResponded(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00285"></a><span class="lineno"><a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#aee738175786b499d1137cc6c48fdbbd9"> 285</a></span>&#160; <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#d4/dad/struct_s_l_net_1_1_cloud_server_1_1_cloud_query_with_addresses">CloudQueryWithAddresses</a> <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#aee738175786b499d1137cc6c48fdbbd9">cloudQueryWithAddresses</a>;</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="comment">// When request started. If takes too long for a response from another system, can abort remaining systems</span></div>
<div class="line"><a name="l00288"></a><span class="lineno"><a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#a196df2bc751b73abf25edf8247e33ea5"> 288</a></span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a7223b62c1b67121db1d975f2ab9b74c7">SLNet::Time</a> <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#a196df2bc751b73abf25edf8247e33ea5">requestStartTime</a>;</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">// Assigned by server that gets the request to identify response. See nextGetRequestId</span></div>
<div class="line"><a name="l00291"></a><span class="lineno"><a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#af3094dc676015e95093c0e17d9030e82"> 291</a></span>&#160; <a class="code" href="../../df/df2/_native_types_8h.xhtml#a6eb1e68cc391dd753bc8ce896dbb8315">uint32_t</a> <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#af3094dc676015e95093c0e17d9030e82">requestId</a>;</div>
<div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160;</div>
<div class="line"><a name="l00293"></a><span class="lineno"><a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#a36e10e1b9496c680a087b73cb15d60a6"> 293</a></span>&#160; <a class="code" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml">RakNetGUID</a> <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#a36e10e1b9496c680a087b73cb15d60a6">requestingClient</a>;</div>
<div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160;</div>
<div class="line"><a name="l00295"></a><span class="lineno"><a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#a0075897569da6f46ef3932bf66b52494"> 295</a></span>&#160; <a class="code" href="../../da/dfc/class_data_structures_1_1_ordered_list.xhtml">DataStructures::OrderedList&lt;RakNetGUID, BufferedGetResponseFromServer*, CloudServer::BufferedGetResponseFromServerComp&gt;</a> <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#a0075897569da6f46ef3932bf66b52494">remoteServerResponses</a>;</div>
<div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160; };</div>
<div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; <span class="keyword">static</span> <span class="keywordtype">int</span> GetRequestComp(<span class="keyword">const</span> <a class="code" href="../../df/df2/_native_types_8h.xhtml#a6eb1e68cc391dd753bc8ce896dbb8315">uint32_t</a> &amp;key, <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#da/dd1/struct_s_l_net_1_1_cloud_server_1_1_get_request">GetRequest</a>* <span class="keyword">const</span> &amp;data );</div>
<div class="line"><a name="l00298"></a><span class="lineno"><a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#a2b91804d97e3190084e28095333c7674"> 298</a></span>&#160; <a class="code" href="../../da/dfc/class_data_structures_1_1_ordered_list.xhtml">DataStructures::OrderedList&lt;uint32_t, GetRequest*, CloudServer::GetRequestComp&gt;</a> <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#a2b91804d97e3190084e28095333c7674">getRequests</a>;</div>
<div class="line"><a name="l00299"></a><span class="lineno"><a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#a7f62561d0a4acde06ca2ad8ebe51c051"> 299</a></span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a7223b62c1b67121db1d975f2ab9b74c7">SLNet::Time</a> <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#a7f62561d0a4acde06ca2ad8ebe51c051">nextGetRequestsCheck</a>;</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"><a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#a3d1030da046f265e5ef6cdc9c4b0fe7a"> 301</a></span>&#160; <a class="code" href="../../df/df2/_native_types_8h.xhtml#a6eb1e68cc391dd753bc8ce896dbb8315">uint32_t</a> <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#a3d1030da046f265e5ef6cdc9c4b0fe7a">nextGetRequestId</a>;</div>
<div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160;</div>
<div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160; <span class="keywordtype">void</span> ProcessAndTransmitGetRequest(<a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#da/dd1/struct_s_l_net_1_1_cloud_server_1_1_get_request">GetRequest</a> *getRequest);</div>
<div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160;</div>
<div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; <span class="keywordtype">void</span> ProcessCloudQueryWithAddresses(</div>
<div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160; <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#d4/dad/struct_s_l_net_1_1_cloud_server_1_1_cloud_query_with_addresses">CloudServer::CloudQueryWithAddresses</a> &amp;cloudQueryWithAddresses,</div>
<div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160; <a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml">DataStructures::List&lt;CloudData*&gt;</a> &amp;cloudDataResultList,</div>
<div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160; <a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml">DataStructures::List&lt;CloudKey&gt;</a> &amp;cloudKeyResultList</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;</div>
<div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160; <span class="keywordtype">void</span> SendUploadedAndSubscribedKeysToServer( <a class="code" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml">RakNetGUID</a> systemAddress );</div>
<div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; <span class="keywordtype">void</span> SendUploadedKeyToServers( <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#d9/d8c/struct_s_l_net_1_1_cloud_key">CloudKey</a> &amp;cloudKey );</div>
<div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160; <span class="keywordtype">void</span> SendSubscribedKeyToServers( <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#d9/d8c/struct_s_l_net_1_1_cloud_key">CloudKey</a> &amp;cloudKey );</div>
<div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160; <span class="keywordtype">void</span> RemoveUploadedKeyFromServers( <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#d9/d8c/struct_s_l_net_1_1_cloud_key">CloudKey</a> &amp;cloudKey );</div>
<div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; <span class="keywordtype">void</span> RemoveSubscribedKeyFromServers( <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#d9/d8c/struct_s_l_net_1_1_cloud_key">CloudKey</a> &amp;cloudKey );</div>
<div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160;</div>
<div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; <span class="keywordtype">void</span> OnSendUploadedAndSubscribedKeysToServer( <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="l00318"></a><span class="lineno"> 318</span>&#160; <span class="keywordtype">void</span> OnSendUploadedKeyToServers( <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="l00319"></a><span class="lineno"> 319</span>&#160; <span class="keywordtype">void</span> OnSendSubscribedKeyToServers( <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="l00320"></a><span class="lineno"> 320</span>&#160; <span class="keywordtype">void</span> OnRemoveUploadedKeyFromServers( <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="l00321"></a><span class="lineno"> 321</span>&#160; <span class="keywordtype">void</span> OnRemoveSubscribedKeyFromServers( <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="l00322"></a><span class="lineno"> 322</span>&#160; <span class="keywordtype">void</span> OnServerDataChanged( <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="l00323"></a><span class="lineno"> 323</span>&#160;</div>
<div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160; <span class="keywordtype">void</span> GetServersWithUploadedKeys(</div>
<div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160; <a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml">DataStructures::List&lt;CloudKey&gt;</a> &amp;keys,</div>
<div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160; <a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml">DataStructures::List&lt;RemoteServer*&gt;</a> &amp;remoteServersWithData</div>
<div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160; );</div>
<div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160;</div>
<div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160; <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#d4/d61/struct_s_l_net_1_1_cloud_server_1_1_cloud_data_list">CloudServer::CloudDataList</a> *GetOrAllocateCloudDataList(<a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#d9/d8c/struct_s_l_net_1_1_cloud_key">CloudKey</a> key, <span class="keywordtype">bool</span> *dataRepositoryExists, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> &amp;dataRepositoryIndex);</div>
<div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160;</div>
<div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160; <span class="keywordtype">void</span> UnsubscribeFromKey(<a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#d1/d31/struct_s_l_net_1_1_cloud_server_1_1_remote_cloud_client">RemoteCloudClient</a> *remoteCloudClient, <a class="code" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml">RakNetGUID</a> remoteCloudClientGuid, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> keySubscriberIndex, <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#d9/d8c/struct_s_l_net_1_1_cloud_key">CloudKey</a> &amp;cloudKey, <a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml">DataStructures::List&lt;RakNetGUID&gt;</a> &amp;specificSystems);</div>
<div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160; <span class="keywordtype">void</span> RemoveSpecificSubscriber(<a class="code" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml">RakNetGUID</a> specificSubscriber, <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#d4/d61/struct_s_l_net_1_1_cloud_server_1_1_cloud_data_list">CloudDataList</a> *cloudDataList, <a class="code" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml">RakNetGUID</a> remoteCloudClientGuid);</div>
<div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160;</div>
<div class="line"><a name="l00334"></a><span class="lineno"><a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#a4a9a8dee12df4e8082fbf34929d49c62"> 334</a></span>&#160; <a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml">DataStructures::List&lt;CloudServerQueryFilter*&gt;</a> <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#a4a9a8dee12df4e8082fbf34929d49c62">queryFilters</a>;</div>
<div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160;</div>
<div class="line"><a name="l00336"></a><span class="lineno"><a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#a80a9b8d48adf55ea3a4d5aed3f0bb2eb"> 336</a></span>&#160; <a class="code" href="../../d8/dbe/struct_s_l_net_1_1_system_address.xhtml" title="Network address for a system.">SystemAddress</a> <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#a80a9b8d48adf55ea3a4d5aed3f0bb2eb">forceAddress</a>;</div>
<div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160;};</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;</div>
<div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160;} <span class="comment">// namespace SLNet</span></div>
<div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160;</div>
<div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160;</div>
<div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160;<span class="comment">// Key subscription</span></div>
<div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160;<span class="comment">//</span></div>
<div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160;<span class="comment">// A given system can subscribe to one or more keys.</span></div>
<div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160;<span class="comment">// The subscription can be further be defined as only subscribing to keys uploaded by or changed by a given system.</span></div>
<div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160;<span class="comment">// It is possible to subscribe to keys not yet uploaded, or uploaded to another system</span></div>
<div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160;<span class="comment">//</span></div>
<div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160;<span class="comment">// Operations:</span></div>
<div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160;<span class="comment">//</span></div>
<div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160;<span class="comment">// 1. SubscribeToKey() - Get() operation with subscription</span></div>
<div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160;<span class="comment">// A. Add to key subscription list for the client, which contains a keyId / specificUploaderList pair</span></div>
<div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160;<span class="comment">// B. Send to remote servers that for this key, they should send us updates</span></div>
<div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160;<span class="comment">// C. (Done, get operation returns current values)</span></div>
<div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160;<span class="comment">//</span></div>
<div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160;<span class="comment">// 2. UpdateData() - Post() operation</span></div>
<div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160;<span class="comment">// A. Find all subscribers to this data, for the uploading system.</span></div>
<div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160;<span class="comment">// B. Send them the uploaded data</span></div>
<div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160;<span class="comment">// C. Find all servers that subscribe to this data</span></div>
<div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160;<span class="comment">// D. Send them the uploaded data</span></div>
<div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160;<span class="comment">//</span></div>
<div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160;<span class="comment">// 3. DeleteData() - Release() operation</span></div>
<div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160;<span class="comment">// A. Find all subscribers to this data, for the deleting system.</span></div>
<div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160;<span class="comment">// B. Inform them of the deletion</span></div>
<div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160;<span class="comment">// C. Find all servers that subscribe to this data</span></div>
<div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160;<span class="comment">// D. Inform them of the deletion</span></div>
<div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160;<span class="comment">//</span></div>
<div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160;<span class="comment">// 4. Unsubscribe()</span></div>
<div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160;<span class="comment">// A. Find this subscriber, and remove their subscription</span></div>
<div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160;<span class="comment">// B. If no one else is subscribing to this key for any system, notify remote servers we no longer need subscription updates</span></div>
<div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160;<span class="comment">//</span></div>
<div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160;<span class="comment">// Internal operations:</span></div>
<div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160;<span class="comment">//</span></div>
<div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160;<span class="comment">// 1. Find if any connected client has subscribed to a given key</span></div>
<div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160;<span class="comment">// A. This is used add and remove our subscription for this key to remote servers</span></div>
<div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160;<span class="comment">//</span></div>
<div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160;<span class="comment">// 2. For a given key and updating address, find all connected clients that care</span></div>
<div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160;<span class="comment">// A. First find connected clients that have subscribed to this key, regardless of address</span></div>
<div class="line"><a name="l00381"></a><span class="lineno"> 381</span>&#160;<span class="comment">// B. Then find connected clients that have subscribed to this key for this particular address</span></div>
<div class="line"><a name="l00382"></a><span class="lineno"> 382</span>&#160;<span class="comment">//</span></div>
<div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160;<span class="comment">// 3. Find all remote servers that have subscribed to a given key</span></div>
<div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160;<span class="comment">// A. This is so when the key is updated or deleted, we know who to send it to</span></div>
<div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160;<span class="comment">//</span></div>
<div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160;<span class="comment">// 4. For a given client (such as on disconnect), remove all records of their subscriptions</span></div>
<div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160;</div>
<div class="line"><a name="l00388"></a><span class="lineno"> 388</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="../../dd/d9f/_cloud_server_8h.xhtml">CloudServer.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,33 @@
var class_data_structures_1_1_weighted_graph =
[
[ "NodeAndParent", "dd/d9f/class_data_structures_1_1_weighted_graph.xhtml#d2/d49/struct_data_structures_1_1_weighted_graph_1_1_node_and_parent", [
[ "node", "dd/d9f/class_data_structures_1_1_weighted_graph.xhtml#a29bb0785f3cb3448280b17fe457e7ad1", null ],
[ "parent", "dd/d9f/class_data_structures_1_1_weighted_graph.xhtml#ac09b09f98e636f289ac435f0c9c46bc0", null ]
] ],
[ "WeightedGraph", "dd/d9f/class_data_structures_1_1_weighted_graph.xhtml#a9f070c4eeb822ea4747d312170aa6bae", null ],
[ "~WeightedGraph", "dd/d9f/class_data_structures_1_1_weighted_graph.xhtml#aa4e5739e4643b62a847f262032db51c1", null ],
[ "WeightedGraph", "dd/d9f/class_data_structures_1_1_weighted_graph.xhtml#ab697e42de015f040beafe130da1b76b5", null ],
[ "AddConnection", "dd/d9f/class_data_structures_1_1_weighted_graph.xhtml#adc378f34b57faf0885d7edacea35d9d8", null ],
[ "AddNode", "dd/d9f/class_data_structures_1_1_weighted_graph.xhtml#ac2f5ba3910a6cfd634e6a33e8c68f89d", null ],
[ "Clear", "dd/d9f/class_data_structures_1_1_weighted_graph.xhtml#ae728c1f41989d531588829916f7b28ae", null ],
[ "ClearDijkstra", "dd/d9f/class_data_structures_1_1_weighted_graph.xhtml#abb95a374208eb9c62101aae4c00f9072", null ],
[ "GenerateDisjktraMatrix", "dd/d9f/class_data_structures_1_1_weighted_graph.xhtml#ac1f514b3abe06d47cb5991d592f16e17", null ],
[ "GetConnectionAtIndex", "dd/d9f/class_data_structures_1_1_weighted_graph.xhtml#a3a2958a36405b1c4e441c5560e660813", null ],
[ "GetConnectionCount", "dd/d9f/class_data_structures_1_1_weighted_graph.xhtml#a67427257d69b16e530f8e9bdfed7e6bb", null ],
[ "GetNodeAtIndex", "dd/d9f/class_data_structures_1_1_weighted_graph.xhtml#ad53ce73bf226c91905d0d81c97c1a4db", null ],
[ "GetNodeCount", "dd/d9f/class_data_structures_1_1_weighted_graph.xhtml#a66f4034521b47d5e331b0f08a37afc36", null ],
[ "GetShortestPath", "dd/d9f/class_data_structures_1_1_weighted_graph.xhtml#ae7fcebbbd48228744e31a6c4d1750e9e", null ],
[ "GetSpanningTree", "dd/d9f/class_data_structures_1_1_weighted_graph.xhtml#af6ae09481c0c13f41def60dc4ed6a9f1", null ],
[ "HasConnection", "dd/d9f/class_data_structures_1_1_weighted_graph.xhtml#a7b598441f4ed3ff1ffbda47d5e6f3153", null ],
[ "IMPLEMENT_DEFAULT_COMPARISON", "dd/d9f/class_data_structures_1_1_weighted_graph.xhtml#a6b27537b51fc124f107b1ab44ad81f76", null ],
[ "operator=", "dd/d9f/class_data_structures_1_1_weighted_graph.xhtml#acbae80df6e3d282616e24b47b6fb10de", null ],
[ "Print", "dd/d9f/class_data_structures_1_1_weighted_graph.xhtml#ae3903323e2315b7cb2850a8ff1fcbf76", null ],
[ "RemoveConnection", "dd/d9f/class_data_structures_1_1_weighted_graph.xhtml#a3e6a2a94aa9cf4c3c46922e51a9e8cc8", null ],
[ "RemoveNode", "dd/d9f/class_data_structures_1_1_weighted_graph.xhtml#abf55d60605fb5ad3deca6fb7a1cf38ac", null ],
[ "adjacencyLists", "dd/d9f/class_data_structures_1_1_weighted_graph.xhtml#a9b7213f0f01a226cd7033d4a84b7cdf8", null ],
[ "costMatrix", "dd/d9f/class_data_structures_1_1_weighted_graph.xhtml#a121ddaacaed31a2ad5e3f5313f3561d0", null ],
[ "costMatrixIndices", "dd/d9f/class_data_structures_1_1_weighted_graph.xhtml#ac034f7d08bcf8f4c63fe4f5e7d888cd9", null ],
[ "isValidPath", "dd/d9f/class_data_structures_1_1_weighted_graph.xhtml#ac48608c2c44bfa4f9655c05eddd56940", null ],
[ "leastNodeArray", "dd/d9f/class_data_structures_1_1_weighted_graph.xhtml#a685964d9ffea0f84739693b569db80fa", null ],
[ "rootNode", "dd/d9f/class_data_structures_1_1_weighted_graph.xhtml#a2f42d391d260dabc17b2c6096753839a", null ]
];

View File

@ -0,0 +1,962 @@
<!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::WeightedGraph&lt; node_type, weight_type, allow_unlinkedNodes &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('dd/d9f/class_data_structures_1_1_weighted_graph.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-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="../../d3/d43/class_data_structures_1_1_weighted_graph-members.xhtml">List of all members</a> </div>
<div class="headertitle">
<div class="title">DataStructures::WeightedGraph&lt; node_type, weight_type, allow_unlinkedNodes &gt; Class Template Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><code>#include &lt;<a class="el" href="../../d8/deb/_d_s___weighted_graph_8h_source.xhtml">slikenet/DS_WeightedGraph.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:d2/d49/struct_data_structures_1_1_weighted_graph_1_1_node_and_parent"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d9f/class_data_structures_1_1_weighted_graph.xhtml#d2/d49/struct_data_structures_1_1_weighted_graph_1_1_node_and_parent">NodeAndParent</a></td></tr>
<tr class="separator:d2/d49/struct_data_structures_1_1_weighted_graph_1_1_node_and_parent"><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:a9f070c4eeb822ea4747d312170aa6bae"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d9f/class_data_structures_1_1_weighted_graph.xhtml#a9f070c4eeb822ea4747d312170aa6bae">WeightedGraph</a> ()</td></tr>
<tr class="separator:a9f070c4eeb822ea4747d312170aa6bae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa4e5739e4643b62a847f262032db51c1"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d9f/class_data_structures_1_1_weighted_graph.xhtml#aa4e5739e4643b62a847f262032db51c1">~WeightedGraph</a> ()</td></tr>
<tr class="separator:aa4e5739e4643b62a847f262032db51c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab697e42de015f040beafe130da1b76b5"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d9f/class_data_structures_1_1_weighted_graph.xhtml#ab697e42de015f040beafe130da1b76b5">WeightedGraph</a> (const <a class="el" href="../../dd/d9f/class_data_structures_1_1_weighted_graph.xhtml">WeightedGraph</a> &amp;original_copy)</td></tr>
<tr class="separator:ab697e42de015f040beafe130da1b76b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acbae80df6e3d282616e24b47b6fb10de"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../dd/d9f/class_data_structures_1_1_weighted_graph.xhtml">WeightedGraph</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d9f/class_data_structures_1_1_weighted_graph.xhtml#acbae80df6e3d282616e24b47b6fb10de">operator=</a> (const <a class="el" href="../../dd/d9f/class_data_structures_1_1_weighted_graph.xhtml">WeightedGraph</a> &amp;original_copy)</td></tr>
<tr class="separator:acbae80df6e3d282616e24b47b6fb10de"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac2f5ba3910a6cfd634e6a33e8c68f89d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d9f/class_data_structures_1_1_weighted_graph.xhtml#ac2f5ba3910a6cfd634e6a33e8c68f89d">AddNode</a> (const node_type &amp;node)</td></tr>
<tr class="separator:ac2f5ba3910a6cfd634e6a33e8c68f89d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abf55d60605fb5ad3deca6fb7a1cf38ac"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d9f/class_data_structures_1_1_weighted_graph.xhtml#abf55d60605fb5ad3deca6fb7a1cf38ac">RemoveNode</a> (const node_type &amp;node)</td></tr>
<tr class="separator:abf55d60605fb5ad3deca6fb7a1cf38ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adc378f34b57faf0885d7edacea35d9d8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d9f/class_data_structures_1_1_weighted_graph.xhtml#adc378f34b57faf0885d7edacea35d9d8">AddConnection</a> (const node_type &amp;node1, const node_type &amp;node2, weight_type weight)</td></tr>
<tr class="separator:adc378f34b57faf0885d7edacea35d9d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3e6a2a94aa9cf4c3c46922e51a9e8cc8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d9f/class_data_structures_1_1_weighted_graph.xhtml#a3e6a2a94aa9cf4c3c46922e51a9e8cc8">RemoveConnection</a> (const node_type &amp;node1, const node_type &amp;node2)</td></tr>
<tr class="separator:a3e6a2a94aa9cf4c3c46922e51a9e8cc8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7b598441f4ed3ff1ffbda47d5e6f3153"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d9f/class_data_structures_1_1_weighted_graph.xhtml#a7b598441f4ed3ff1ffbda47d5e6f3153">HasConnection</a> (const node_type &amp;node1, const node_type &amp;node2)</td></tr>
<tr class="separator:a7b598441f4ed3ff1ffbda47d5e6f3153"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae3903323e2315b7cb2850a8ff1fcbf76"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d9f/class_data_structures_1_1_weighted_graph.xhtml#ae3903323e2315b7cb2850a8ff1fcbf76">Print</a> (void)</td></tr>
<tr class="separator:ae3903323e2315b7cb2850a8ff1fcbf76"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae728c1f41989d531588829916f7b28ae"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d9f/class_data_structures_1_1_weighted_graph.xhtml#ae728c1f41989d531588829916f7b28ae">Clear</a> (void)</td></tr>
<tr class="separator:ae728c1f41989d531588829916f7b28ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae7fcebbbd48228744e31a6c4d1750e9e"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d9f/class_data_structures_1_1_weighted_graph.xhtml#ae7fcebbbd48228744e31a6c4d1750e9e">GetShortestPath</a> (<a class="el" href="../../d4/d78/class_data_structures_1_1_list.xhtml">DataStructures::List</a>&lt; node_type &gt; &amp;path, node_type startNode, node_type endNode, weight_type INFINITE_WEIGHT)</td></tr>
<tr class="separator:ae7fcebbbd48228744e31a6c4d1750e9e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af6ae09481c0c13f41def60dc4ed6a9f1"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d9f/class_data_structures_1_1_weighted_graph.xhtml#af6ae09481c0c13f41def60dc4ed6a9f1">GetSpanningTree</a> (<a class="el" href="../../de/d2c/class_data_structures_1_1_tree.xhtml">DataStructures::Tree</a>&lt; node_type &gt; &amp;outTree, <a class="el" href="../../d4/d78/class_data_structures_1_1_list.xhtml">DataStructures::List</a>&lt; node_type &gt; *inputNodes, node_type startNode, weight_type INFINITE_WEIGHT)</td></tr>
<tr class="separator:af6ae09481c0c13f41def60dc4ed6a9f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a66f4034521b47d5e331b0f08a37afc36"><td class="memItemLeft" align="right" valign="top">unsigned&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d9f/class_data_structures_1_1_weighted_graph.xhtml#a66f4034521b47d5e331b0f08a37afc36">GetNodeCount</a> (void) const </td></tr>
<tr class="separator:a66f4034521b47d5e331b0f08a37afc36"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a67427257d69b16e530f8e9bdfed7e6bb"><td class="memItemLeft" align="right" valign="top">unsigned&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d9f/class_data_structures_1_1_weighted_graph.xhtml#a67427257d69b16e530f8e9bdfed7e6bb">GetConnectionCount</a> (unsigned nodeIndex) const </td></tr>
<tr class="separator:a67427257d69b16e530f8e9bdfed7e6bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3a2958a36405b1c4e441c5560e660813"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d9f/class_data_structures_1_1_weighted_graph.xhtml#a3a2958a36405b1c4e441c5560e660813">GetConnectionAtIndex</a> (unsigned nodeIndex, unsigned connectionIndex, node_type &amp;outNode, weight_type &amp;outWeight) const </td></tr>
<tr class="separator:a3a2958a36405b1c4e441c5560e660813"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad53ce73bf226c91905d0d81c97c1a4db"><td class="memItemLeft" align="right" valign="top">node_type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d9f/class_data_structures_1_1_weighted_graph.xhtml#ad53ce73bf226c91905d0d81c97c1a4db">GetNodeAtIndex</a> (unsigned nodeIndex) const </td></tr>
<tr class="separator:ad53ce73bf226c91905d0d81c97c1a4db"><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:a6b27537b51fc124f107b1ab44ad81f76"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d9f/class_data_structures_1_1_weighted_graph.xhtml#a6b27537b51fc124f107b1ab44ad81f76">IMPLEMENT_DEFAULT_COMPARISON</a> (void)</td></tr>
<tr class="separator:a6b27537b51fc124f107b1ab44ad81f76"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:abb95a374208eb9c62101aae4c00f9072"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d9f/class_data_structures_1_1_weighted_graph.xhtml#abb95a374208eb9c62101aae4c00f9072">ClearDijkstra</a> (void)</td></tr>
<tr class="separator:abb95a374208eb9c62101aae4c00f9072"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac1f514b3abe06d47cb5991d592f16e17"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d9f/class_data_structures_1_1_weighted_graph.xhtml#ac1f514b3abe06d47cb5991d592f16e17">GenerateDisjktraMatrix</a> (node_type startNode, weight_type INFINITE_WEIGHT)</td></tr>
<tr class="separator:ac1f514b3abe06d47cb5991d592f16e17"><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:a9b7213f0f01a226cd7033d4a84b7cdf8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../dc/da9/class_data_structures_1_1_map.xhtml">DataStructures::Map</a>&lt; node_type, <br class="typebreak"/>
<a class="el" href="../../dc/da9/class_data_structures_1_1_map.xhtml">DataStructures::Map</a>&lt; node_type, <br class="typebreak"/>
weight_type &gt; * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d9f/class_data_structures_1_1_weighted_graph.xhtml#a9b7213f0f01a226cd7033d4a84b7cdf8">adjacencyLists</a></td></tr>
<tr class="separator:a9b7213f0f01a226cd7033d4a84b7cdf8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac48608c2c44bfa4f9655c05eddd56940"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d9f/class_data_structures_1_1_weighted_graph.xhtml#ac48608c2c44bfa4f9655c05eddd56940">isValidPath</a></td></tr>
<tr class="separator:ac48608c2c44bfa4f9655c05eddd56940"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2f42d391d260dabc17b2c6096753839a"><td class="memItemLeft" align="right" valign="top">node_type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d9f/class_data_structures_1_1_weighted_graph.xhtml#a2f42d391d260dabc17b2c6096753839a">rootNode</a></td></tr>
<tr class="separator:a2f42d391d260dabc17b2c6096753839a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac034f7d08bcf8f4c63fe4f5e7d888cd9"><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; node_type, node_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d9f/class_data_structures_1_1_weighted_graph.xhtml#ac034f7d08bcf8f4c63fe4f5e7d888cd9">costMatrixIndices</a></td></tr>
<tr class="separator:ac034f7d08bcf8f4c63fe4f5e7d888cd9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a121ddaacaed31a2ad5e3f5313f3561d0"><td class="memItemLeft" align="right" valign="top">weight_type *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d9f/class_data_structures_1_1_weighted_graph.xhtml#a121ddaacaed31a2ad5e3f5313f3561d0">costMatrix</a></td></tr>
<tr class="separator:a121ddaacaed31a2ad5e3f5313f3561d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a685964d9ffea0f84739693b569db80fa"><td class="memItemLeft" align="right" valign="top">node_type *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d9f/class_data_structures_1_1_weighted_graph.xhtml#a685964d9ffea0f84739693b569db80fa">leastNodeArray</a></td></tr>
<tr class="separator:a685964d9ffea0f84739693b569db80fa"><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 node_type, class weight_type, bool allow_unlinkedNodes&gt;<br/>
class DataStructures::WeightedGraph&lt; node_type, weight_type, allow_unlinkedNodes &gt;</h3>
<p>Definition at line <a class="el" href="../../d8/deb/_d_s___weighted_graph_8h_source.xhtml#l00046">46</a> of file <a class="el" href="../../d8/deb/_d_s___weighted_graph_8h_source.xhtml">DS_WeightedGraph.h</a>.</p>
</div><hr/><h2 class="groupheader">Class Documentation</h2>
<a name="d2/d49/struct_data_structures_1_1_weighted_graph_1_1_node_and_parent" id="d2/d49/struct_data_structures_1_1_weighted_graph_1_1_node_and_parent"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct DataStructures::WeightedGraph::NodeAndParent</td>
</tr>
</table>
</div><div class="memdoc">
<div class="textblock"><h3>template&lt;class node_type, class weight_type, bool allow_unlinkedNodes&gt;<br/>
struct DataStructures::WeightedGraph&lt; node_type, weight_type, allow_unlinkedNodes &gt;::NodeAndParent</h3>
<p>Definition at line <a class="el" href="../../d8/deb/_d_s___weighted_graph_8h_source.xhtml#l00086">86</a> of file <a class="el" href="../../d8/deb/_d_s___weighted_graph_8h_source.xhtml">DS_WeightedGraph.h</a>.</p>
</div><table class="fieldtable">
<tr><th colspan="3">Class Members</th></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a29bb0785f3cb3448280b17fe457e7ad1"></a><a class="el" href="../../de/d2c/class_data_structures_1_1_tree.xhtml">Tree</a>&lt; node_type &gt; *</td>
<td class="fieldname">
node</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="ac09b09f98e636f289ac435f0c9c46bc0"></a><a class="el" href="../../de/d2c/class_data_structures_1_1_tree.xhtml">Tree</a>&lt; node_type &gt; *</td>
<td class="fieldname">
parent</td>
<td class="fielddoc">
</td></tr>
</table>
</div>
</div>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a9f070c4eeb822ea4747d312170aa6bae"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class node_type , class weight_type , bool allow_unlinkedNodes&gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../dd/d9f/class_data_structures_1_1_weighted_graph.xhtml">DataStructures::WeightedGraph</a>&lt; node_type, weight_type, allow_unlinkedNodes &gt;::<a class="el" href="../../dd/d9f/class_data_structures_1_1_weighted_graph.xhtml">WeightedGraph</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="../../d8/deb/_d_s___weighted_graph_8h_source.xhtml#l00094">94</a> of file <a class="el" href="../../d8/deb/_d_s___weighted_graph_8h_source.xhtml">DS_WeightedGraph.h</a>.</p>
</div>
</div>
<a class="anchor" id="aa4e5739e4643b62a847f262032db51c1"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class node_type , class weight_type , bool allow_unlinkedNodes&gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../dd/d9f/class_data_structures_1_1_weighted_graph.xhtml">DataStructures::WeightedGraph</a>&lt; node_type, weight_type, allow_unlinkedNodes &gt;::~<a class="el" href="../../dd/d9f/class_data_structures_1_1_weighted_graph.xhtml">WeightedGraph</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="../../d8/deb/_d_s___weighted_graph_8h_source.xhtml#l00101">101</a> of file <a class="el" href="../../d8/deb/_d_s___weighted_graph_8h_source.xhtml">DS_WeightedGraph.h</a>.</p>
</div>
</div>
<a class="anchor" id="ab697e42de015f040beafe130da1b76b5"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class node_type , class weight_type , bool allow_unlinkedNodes&gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../dd/d9f/class_data_structures_1_1_weighted_graph.xhtml">DataStructures::WeightedGraph</a>&lt; node_type, weight_type, allow_unlinkedNodes &gt;::<a class="el" href="../../dd/d9f/class_data_structures_1_1_weighted_graph.xhtml">WeightedGraph</a> </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="../../dd/d9f/class_data_structures_1_1_weighted_graph.xhtml">WeightedGraph</a>&lt; node_type, weight_type, allow_unlinkedNodes &gt; &amp;&#160;</td>
<td class="paramname"><em>original_copy</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d8/deb/_d_s___weighted_graph_8h_source.xhtml#l00107">107</a> of file <a class="el" href="../../d8/deb/_d_s___weighted_graph_8h_source.xhtml">DS_WeightedGraph.h</a>.</p>
<p>References <a class="el" href="../../d8/db0/defines_8h_source.xhtml#l00047">_FILE_AND_LINE_</a>, <a class="el" href="../../d8/deb/_d_s___weighted_graph_8h_source.xhtml#l00073">DataStructures::WeightedGraph&lt; node_type, weight_type, allow_unlinkedNodes &gt;::adjacencyLists</a>, <a class="el" href="../../d8/deb/_d_s___weighted_graph_8h_source.xhtml#l00082">DataStructures::WeightedGraph&lt; node_type, weight_type, allow_unlinkedNodes &gt;::costMatrix</a>, <a class="el" href="../../d8/deb/_d_s___weighted_graph_8h_source.xhtml#l00081">DataStructures::WeightedGraph&lt; node_type, weight_type, allow_unlinkedNodes &gt;::costMatrixIndices</a>, <a class="el" href="../../d8/deb/_d_s___weighted_graph_8h_source.xhtml#l00079">DataStructures::WeightedGraph&lt; node_type, weight_type, allow_unlinkedNodes &gt;::isValidPath</a>, <a class="el" href="../../d8/deb/_d_s___weighted_graph_8h_source.xhtml#l00083">DataStructures::WeightedGraph&lt; node_type, weight_type, allow_unlinkedNodes &gt;::leastNodeArray</a>, and <a class="el" href="../../d8/deb/_d_s___weighted_graph_8h_source.xhtml#l00080">DataStructures::WeightedGraph&lt; node_type, weight_type, allow_unlinkedNodes &gt;::rootNode</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="adc378f34b57faf0885d7edacea35d9d8"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class node_type , class weight_type , bool allow_unlinkedNodes&gt; </div>
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="../../dd/d9f/class_data_structures_1_1_weighted_graph.xhtml">DataStructures::WeightedGraph</a>&lt; node_type, weight_type, allow_unlinkedNodes &gt;::AddConnection </td>
<td>(</td>
<td class="paramtype">const node_type &amp;&#160;</td>
<td class="paramname"><em>node1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const node_type &amp;&#160;</td>
<td class="paramname"><em>node2</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">weight_type&#160;</td>
<td class="paramname"><em>weight</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/deb/_d_s___weighted_graph_8h_source.xhtml#l00186">186</a> of file <a class="el" href="../../d8/deb/_d_s___weighted_graph_8h_source.xhtml">DS_WeightedGraph.h</a>.</p>
<p>Referenced by <a class="el" href="../../d8/deb/_d_s___weighted_graph_8h_source.xhtml#l00332">DataStructures::WeightedGraph&lt; node_type, weight_type, allow_unlinkedNodes &gt;::GetSpanningTree()</a>.</p>
</div>
</div>
<a class="anchor" id="ac2f5ba3910a6cfd634e6a33e8c68f89d"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class node_type , class weight_type , bool allow_unlinkedNodes&gt; </div>
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="../../dd/d9f/class_data_structures_1_1_weighted_graph.xhtml">DataStructures::WeightedGraph</a>&lt; node_type, weight_type, allow_unlinkedNodes &gt;::AddNode </td>
<td>(</td>
<td class="paramtype">const node_type &amp;&#160;</td>
<td class="paramname"><em>node</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d8/deb/_d_s___weighted_graph_8h_source.xhtml#l00143">143</a> of file <a class="el" href="../../d8/deb/_d_s___weighted_graph_8h_source.xhtml">DS_WeightedGraph.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="../../dd/dc5/memoryoverride_8h_source.xhtml#l00087">SLNet::OP_NEW()</a>.</p>
</div>
</div>
<a class="anchor" id="ae728c1f41989d531588829916f7b28ae"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class node_type , class weight_type , bool allow_unlinkedNodes&gt; </div>
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="../../dd/d9f/class_data_structures_1_1_weighted_graph.xhtml">DataStructures::WeightedGraph</a>&lt; node_type, weight_type, allow_unlinkedNodes &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="../../d8/deb/_d_s___weighted_graph_8h_source.xhtml#l00220">220</a> of file <a class="el" href="../../d8/deb/_d_s___weighted_graph_8h_source.xhtml">DS_WeightedGraph.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="../../dd/dc5/memoryoverride_8h_source.xhtml#l00182">SLNet::OP_DELETE()</a>.</p>
</div>
</div>
<a class="anchor" id="abb95a374208eb9c62101aae4c00f9072"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class node_type , class weight_type , bool allow_unlinkedNodes&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="../../dd/d9f/class_data_structures_1_1_weighted_graph.xhtml">DataStructures::WeightedGraph</a>&lt; node_type, weight_type, allow_unlinkedNodes &gt;::ClearDijkstra </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d8/deb/_d_s___weighted_graph_8h_source.xhtml#l00506">506</a> of file <a class="el" href="../../d8/deb/_d_s___weighted_graph_8h_source.xhtml">DS_WeightedGraph.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="../../dd/dc5/memoryoverride_8h_source.xhtml#l00197">SLNet::OP_DELETE_ARRAY()</a>.</p>
</div>
</div>
<a class="anchor" id="ac1f514b3abe06d47cb5991d592f16e17"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class node_type , class weight_type , bool allow_unlinkedNodes&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="../../dd/d9f/class_data_structures_1_1_weighted_graph.xhtml">DataStructures::WeightedGraph</a>&lt; node_type, weight_type, allow_unlinkedNodes &gt;::GenerateDisjktraMatrix </td>
<td>(</td>
<td class="paramtype">node_type&#160;</td>
<td class="paramname"><em>startNode</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">weight_type&#160;</td>
<td class="paramname"><em>INFINITE_WEIGHT</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">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d8/deb/_d_s___weighted_graph_8h_source.xhtml#l00398">398</a> of file <a class="el" href="../../d8/deb/_d_s___weighted_graph_8h_source.xhtml">DS_WeightedGraph.h</a>.</p>
<p>References <a class="el" href="../../d8/db0/defines_8h_source.xhtml#l00047">_FILE_AND_LINE_</a>, <a class="el" href="../../da/dcb/_d_s___heap_8h_source.xhtml#l00259">DataStructures::Heap&lt; weight_type, data_type, isMaxHeap &gt;::Clear()</a>, <a class="el" href="../../de/dbe/_d_s___map_8h_source.xhtml#l00259">DataStructures::Map&lt; key_type, data_type, key_comparison_func &gt;::Delete()</a>, <a class="el" href="../../de/dbe/_d_s___map_8h_source.xhtml#l00133">DataStructures::Map&lt; key_type, data_type, key_comparison_func &gt;::Get()</a>, <a class="el" href="../../de/dbe/_d_s___map_8h_source.xhtml#l00147">DataStructures::Map&lt; key_type, data_type, key_comparison_func &gt;::GetIndexAtKey()</a>, <a class="el" href="../../de/dbe/_d_s___map_8h_source.xhtml#l00295">DataStructures::Map&lt; key_type, data_type, key_comparison_func &gt;::GetKeyAtIndex()</a>, <a class="el" href="../../da/dcb/_d_s___heap_8h_source.xhtml#l00253">DataStructures::Heap&lt; weight_type, data_type, isMaxHeap &gt;::PeekWeight()</a>, <a class="el" href="../../da/dcb/_d_s___heap_8h_source.xhtml#l00170">DataStructures::Heap&lt; weight_type, data_type, isMaxHeap &gt;::Pop()</a>, <a class="el" href="../../da/dcb/_d_s___heap_8h_source.xhtml#l00135">DataStructures::Heap&lt; weight_type, data_type, isMaxHeap &gt;::Push()</a>, <a class="el" href="../../de/dbe/_d_s___map_8h_source.xhtml#l00189">DataStructures::Map&lt; key_type, data_type, key_comparison_func &gt;::Set()</a>, <a class="el" href="../../da/dcb/_d_s___heap_8h_source.xhtml#l00270">DataStructures::Heap&lt; weight_type, data_type, isMaxHeap &gt;::Size()</a>, and <a class="el" href="../../de/dbe/_d_s___map_8h_source.xhtml#l00301">DataStructures::Map&lt; key_type, data_type, key_comparison_func &gt;::Size()</a>.</p>
</div>
</div>
<a class="anchor" id="a3a2958a36405b1c4e441c5560e660813"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class node_type , class weight_type , bool allow_unlinkedNodes&gt; </div>
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="../../dd/d9f/class_data_structures_1_1_weighted_graph.xhtml">DataStructures::WeightedGraph</a>&lt; node_type, weight_type, allow_unlinkedNodes &gt;::GetConnectionAtIndex </td>
<td>(</td>
<td class="paramtype">unsigned&#160;</td>
<td class="paramname"><em>nodeIndex</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned&#160;</td>
<td class="paramname"><em>connectionIndex</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">node_type &amp;&#160;</td>
<td class="paramname"><em>outNode</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">weight_type &amp;&#160;</td>
<td class="paramname"><em>outWeight</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d8/deb/_d_s___weighted_graph_8h_source.xhtml#l00325">325</a> of file <a class="el" href="../../d8/deb/_d_s___weighted_graph_8h_source.xhtml">DS_WeightedGraph.h</a>.</p>
</div>
</div>
<a class="anchor" id="a67427257d69b16e530f8e9bdfed7e6bb"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class node_type , class weight_type , bool allow_unlinkedNodes&gt; </div>
<table class="memname">
<tr>
<td class="memname">unsigned <a class="el" href="../../dd/d9f/class_data_structures_1_1_weighted_graph.xhtml">DataStructures::WeightedGraph</a>&lt; node_type, weight_type, allow_unlinkedNodes &gt;::GetConnectionCount </td>
<td>(</td>
<td class="paramtype">unsigned&#160;</td>
<td class="paramname"><em>nodeIndex</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d8/deb/_d_s___weighted_graph_8h_source.xhtml#l00319">319</a> of file <a class="el" href="../../d8/deb/_d_s___weighted_graph_8h_source.xhtml">DS_WeightedGraph.h</a>.</p>
</div>
</div>
<a class="anchor" id="ad53ce73bf226c91905d0d81c97c1a4db"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class node_type , class weight_type , bool allow_unlinkedNodes&gt; </div>
<table class="memname">
<tr>
<td class="memname">node_type <a class="el" href="../../dd/d9f/class_data_structures_1_1_weighted_graph.xhtml">DataStructures::WeightedGraph</a>&lt; node_type, weight_type, allow_unlinkedNodes &gt;::GetNodeAtIndex </td>
<td>(</td>
<td class="paramtype">unsigned&#160;</td>
<td class="paramname"><em>nodeIndex</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d8/deb/_d_s___weighted_graph_8h_source.xhtml#l00307">307</a> of file <a class="el" href="../../d8/deb/_d_s___weighted_graph_8h_source.xhtml">DS_WeightedGraph.h</a>.</p>
</div>
</div>
<a class="anchor" id="a66f4034521b47d5e331b0f08a37afc36"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class node_type , class weight_type , bool allow_unlinkedNodes&gt; </div>
<table class="memname">
<tr>
<td class="memname">unsigned <a class="el" href="../../dd/d9f/class_data_structures_1_1_weighted_graph.xhtml">DataStructures::WeightedGraph</a>&lt; node_type, weight_type, allow_unlinkedNodes &gt;::GetNodeCount </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="../../d8/deb/_d_s___weighted_graph_8h_source.xhtml#l00313">313</a> of file <a class="el" href="../../d8/deb/_d_s___weighted_graph_8h_source.xhtml">DS_WeightedGraph.h</a>.</p>
</div>
</div>
<a class="anchor" id="ae7fcebbbd48228744e31a6c4d1750e9e"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class node_type , class weight_type , bool allow_unlinkedNodes&gt; </div>
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="../../dd/d9f/class_data_structures_1_1_weighted_graph.xhtml">DataStructures::WeightedGraph</a>&lt; node_type, weight_type, allow_unlinkedNodes &gt;::GetShortestPath </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../d4/d78/class_data_structures_1_1_list.xhtml">DataStructures::List</a>&lt; node_type &gt; &amp;&#160;</td>
<td class="paramname"><em>path</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">node_type&#160;</td>
<td class="paramname"><em>startNode</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">node_type&#160;</td>
<td class="paramname"><em>endNode</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">weight_type&#160;</td>
<td class="paramname"><em>INFINITE_WEIGHT</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/deb/_d_s___weighted_graph_8h_source.xhtml#l00231">231</a> of file <a class="el" href="../../d8/deb/_d_s___weighted_graph_8h_source.xhtml">DS_WeightedGraph.h</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="../../d9/d7f/_d_s___list_8h_source.xhtml#l00248">DataStructures::List&lt; list_type &gt;::Insert()</a>, <a class="el" href="../../dc/d8d/_d_s___queue_8h_source.xhtml#l00079">DataStructures::Queue&lt; queue_type &gt;::IsEmpty()</a>, <a class="el" href="../../dc/d8d/_d_s___queue_8h_source.xhtml#l00109">DataStructures::Queue&lt; queue_type &gt;::Pop()</a>, <a class="el" href="../../dc/d8d/_d_s___queue_8h_source.xhtml#l00163">DataStructures::Queue&lt; queue_type &gt;::PushAtHead()</a>, and <a class="el" href="../../dc/d8d/_d_s___queue_8h_source.xhtml#l00070">DataStructures::Queue&lt; queue_type &gt;::Size()</a>.</p>
</div>
</div>
<a class="anchor" id="af6ae09481c0c13f41def60dc4ed6a9f1"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class node_type , class weight_type , bool allow_unlinkedNodes&gt; </div>
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="../../dd/d9f/class_data_structures_1_1_weighted_graph.xhtml">DataStructures::WeightedGraph</a>&lt; node_type, weight_type, allow_unlinkedNodes &gt;::GetSpanningTree </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../de/d2c/class_data_structures_1_1_tree.xhtml">DataStructures::Tree</a>&lt; node_type &gt; &amp;&#160;</td>
<td class="paramname"><em>outTree</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; node_type &gt; *&#160;</td>
<td class="paramname"><em>inputNodes</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">node_type&#160;</td>
<td class="paramname"><em>startNode</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">weight_type&#160;</td>
<td class="paramname"><em>INFINITE_WEIGHT</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/deb/_d_s___weighted_graph_8h_source.xhtml#l00332">332</a> of file <a class="el" href="../../d8/deb/_d_s___weighted_graph_8h_source.xhtml">DS_WeightedGraph.h</a>.</p>
<p>References <a class="el" href="../../d8/db0/defines_8h_source.xhtml#l00047">_FILE_AND_LINE_</a>, <a class="el" href="../../d8/deb/_d_s___weighted_graph_8h_source.xhtml#l00186">DataStructures::WeightedGraph&lt; node_type, weight_type, allow_unlinkedNodes &gt;::AddConnection()</a>, <a class="el" href="../../d8/deb/_d_s___weighted_graph_8h_source.xhtml#l00073">DataStructures::WeightedGraph&lt; node_type, weight_type, allow_unlinkedNodes &gt;::adjacencyLists</a>, <a class="el" href="../../d1/df4/_d_s___tree_8h_source.xhtml#l00047">DataStructures::Tree&lt; TreeType &gt;::children</a>, <a class="el" href="../../d1/df4/_d_s___tree_8h_source.xhtml#l00046">DataStructures::Tree&lt; TreeType &gt;::data</a>, <a class="el" href="../../d1/df4/_d_s___tree_8h_source.xhtml#l00094">DataStructures::Tree&lt; TreeType &gt;::DeleteDecendants()</a>, <a class="el" href="../../de/dbe/_d_s___map_8h_source.xhtml#l00133">DataStructures::Map&lt; key_type, data_type, key_comparison_func &gt;::Get()</a>, <a class="el" href="../../de/dbe/_d_s___map_8h_source.xhtml#l00295">DataStructures::Map&lt; key_type, data_type, key_comparison_func &gt;::GetKeyAtIndex()</a>, <a class="el" href="../../de/dbe/_d_s___map_8h_source.xhtml#l00245">DataStructures::Map&lt; key_type, data_type, key_comparison_func &gt;::Has()</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="../../d8/deb/_d_s___weighted_graph_8h_source.xhtml#l00088">DataStructures::WeightedGraph&lt; node_type, weight_type, allow_unlinkedNodes &gt;::NodeAndParent::node</a>, <a class="el" href="../../d8/deb/_d_s___weighted_graph_8h_source.xhtml#l00089">DataStructures::WeightedGraph&lt; node_type, weight_type, allow_unlinkedNodes &gt;::NodeAndParent::parent</a>, <a class="el" href="../../dc/d8d/_d_s___queue_8h_source.xhtml#l00109">DataStructures::Queue&lt; queue_type &gt;::Pop()</a>, <a class="el" href="../../dc/d8d/_d_s___queue_8h_source.xhtml#l00228">DataStructures::Queue&lt; queue_type &gt;::Push()</a>, <a class="el" href="../../dc/d8d/_d_s___queue_8h_source.xhtml#l00070">DataStructures::Queue&lt; queue_type &gt;::Size()</a>, <a class="el" href="../../de/dbe/_d_s___map_8h_source.xhtml#l00301">DataStructures::Map&lt; key_type, data_type, key_comparison_func &gt;::Size()</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="a7b598441f4ed3ff1ffbda47d5e6f3153"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class node_type , class weight_type , bool allow_unlinkedNodes&gt; </div>
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="../../dd/d9f/class_data_structures_1_1_weighted_graph.xhtml">DataStructures::WeightedGraph</a>&lt; node_type, weight_type, allow_unlinkedNodes &gt;::HasConnection </td>
<td>(</td>
<td class="paramtype">const node_type &amp;&#160;</td>
<td class="paramname"><em>node1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const node_type &amp;&#160;</td>
<td class="paramname"><em>node2</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/deb/_d_s___weighted_graph_8h_source.xhtml#l00176">176</a> of file <a class="el" href="../../d8/deb/_d_s___weighted_graph_8h_source.xhtml">DS_WeightedGraph.h</a>.</p>
</div>
</div>
<a class="anchor" id="a6b27537b51fc124f107b1ab44ad81f76"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class node_type, class weight_type, bool allow_unlinkedNodes&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void <a class="el" href="../../dd/d9f/class_data_structures_1_1_weighted_graph.xhtml">DataStructures::WeightedGraph</a>&lt; node_type, weight_type, allow_unlinkedNodes &gt;::IMPLEMENT_DEFAULT_COMPARISON </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">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d8/deb/_d_s___weighted_graph_8h_source.xhtml#l00049">49</a> of file <a class="el" href="../../d8/deb/_d_s___weighted_graph_8h_source.xhtml">DS_WeightedGraph.h</a>.</p>
</div>
</div>
<a class="anchor" id="acbae80df6e3d282616e24b47b6fb10de"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class node_type , class weight_type , bool allow_unlinkedNodes&gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../dd/d9f/class_data_structures_1_1_weighted_graph.xhtml">WeightedGraph</a>&lt; node_type, weight_type, allow_unlinkedNodes &gt; &amp; <a class="el" href="../../dd/d9f/class_data_structures_1_1_weighted_graph.xhtml">DataStructures::WeightedGraph</a>&lt; node_type, weight_type, allow_unlinkedNodes &gt;::operator= </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="../../dd/d9f/class_data_structures_1_1_weighted_graph.xhtml">WeightedGraph</a>&lt; node_type, weight_type, allow_unlinkedNodes &gt; &amp;&#160;</td>
<td class="paramname"><em>original_copy</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d8/deb/_d_s___weighted_graph_8h_source.xhtml#l00124">124</a> of file <a class="el" href="../../d8/deb/_d_s___weighted_graph_8h_source.xhtml">DS_WeightedGraph.h</a>.</p>
<p>References <a class="el" href="../../d8/db0/defines_8h_source.xhtml#l00047">_FILE_AND_LINE_</a>, <a class="el" href="../../d8/deb/_d_s___weighted_graph_8h_source.xhtml#l00073">DataStructures::WeightedGraph&lt; node_type, weight_type, allow_unlinkedNodes &gt;::adjacencyLists</a>, <a class="el" href="../../d8/deb/_d_s___weighted_graph_8h_source.xhtml#l00082">DataStructures::WeightedGraph&lt; node_type, weight_type, allow_unlinkedNodes &gt;::costMatrix</a>, <a class="el" href="../../d8/deb/_d_s___weighted_graph_8h_source.xhtml#l00081">DataStructures::WeightedGraph&lt; node_type, weight_type, allow_unlinkedNodes &gt;::costMatrixIndices</a>, <a class="el" href="../../d8/deb/_d_s___weighted_graph_8h_source.xhtml#l00079">DataStructures::WeightedGraph&lt; node_type, weight_type, allow_unlinkedNodes &gt;::isValidPath</a>, <a class="el" href="../../d8/deb/_d_s___weighted_graph_8h_source.xhtml#l00083">DataStructures::WeightedGraph&lt; node_type, weight_type, allow_unlinkedNodes &gt;::leastNodeArray</a>, and <a class="el" href="../../d8/deb/_d_s___weighted_graph_8h_source.xhtml#l00080">DataStructures::WeightedGraph&lt; node_type, weight_type, allow_unlinkedNodes &gt;::rootNode</a>.</p>
</div>
</div>
<a class="anchor" id="ae3903323e2315b7cb2850a8ff1fcbf76"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class node_type , class weight_type , bool allow_unlinkedNodes&gt; </div>
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="../../dd/d9f/class_data_structures_1_1_weighted_graph.xhtml">DataStructures::WeightedGraph</a>&lt; node_type, weight_type, allow_unlinkedNodes &gt;::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="../../d8/deb/_d_s___weighted_graph_8h_source.xhtml#l00518">518</a> of file <a class="el" href="../../d8/deb/_d_s___weighted_graph_8h_source.xhtml">DS_WeightedGraph.h</a>.</p>
<p>References <a class="el" href="../../d8/db0/defines_8h_source.xhtml#l00098">RAKNET_DEBUG_PRINTF</a>.</p>
</div>
</div>
<a class="anchor" id="a3e6a2a94aa9cf4c3c46922e51a9e8cc8"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class node_type , class weight_type , bool allow_unlinkedNodes&gt; </div>
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="../../dd/d9f/class_data_structures_1_1_weighted_graph.xhtml">DataStructures::WeightedGraph</a>&lt; node_type, weight_type, allow_unlinkedNodes &gt;::RemoveConnection </td>
<td>(</td>
<td class="paramtype">const node_type &amp;&#160;</td>
<td class="paramname"><em>node1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const node_type &amp;&#160;</td>
<td class="paramname"><em>node2</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/deb/_d_s___weighted_graph_8h_source.xhtml#l00200">200</a> of file <a class="el" href="../../d8/deb/_d_s___weighted_graph_8h_source.xhtml">DS_WeightedGraph.h</a>.</p>
</div>
</div>
<a class="anchor" id="abf55d60605fb5ad3deca6fb7a1cf38ac"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class node_type , class weight_type , bool allow_unlinkedNodes&gt; </div>
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="../../dd/d9f/class_data_structures_1_1_weighted_graph.xhtml">DataStructures::WeightedGraph</a>&lt; node_type, weight_type, allow_unlinkedNodes &gt;::RemoveNode </td>
<td>(</td>
<td class="paramtype">const node_type &amp;&#160;</td>
<td class="paramname"><em>node</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d8/deb/_d_s___weighted_graph_8h_source.xhtml#l00149">149</a> of file <a class="el" href="../../d8/deb/_d_s___weighted_graph_8h_source.xhtml">DS_WeightedGraph.h</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#l00182">SLNet::OP_DELETE()</a>, <a class="el" href="../../dc/d8d/_d_s___queue_8h_source.xhtml#l00109">DataStructures::Queue&lt; queue_type &gt;::Pop()</a>, <a class="el" href="../../dc/d8d/_d_s___queue_8h_source.xhtml#l00228">DataStructures::Queue&lt; queue_type &gt;::Push()</a>, and <a class="el" href="../../dc/d8d/_d_s___queue_8h_source.xhtml#l00070">DataStructures::Queue&lt; queue_type &gt;::Size()</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a class="anchor" id="a9b7213f0f01a226cd7033d4a84b7cdf8"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class node_type, class weight_type, bool allow_unlinkedNodes&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../dc/da9/class_data_structures_1_1_map.xhtml">DataStructures::Map</a>&lt;node_type, <a class="el" href="../../dc/da9/class_data_structures_1_1_map.xhtml">DataStructures::Map</a>&lt;node_type, weight_type&gt; *&gt; <a class="el" href="../../dd/d9f/class_data_structures_1_1_weighted_graph.xhtml">DataStructures::WeightedGraph</a>&lt; node_type, weight_type, allow_unlinkedNodes &gt;::adjacencyLists</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="../../d8/deb/_d_s___weighted_graph_8h_source.xhtml#l00073">73</a> of file <a class="el" href="../../d8/deb/_d_s___weighted_graph_8h_source.xhtml">DS_WeightedGraph.h</a>.</p>
<p>Referenced by <a class="el" href="../../d8/deb/_d_s___weighted_graph_8h_source.xhtml#l00332">DataStructures::WeightedGraph&lt; node_type, weight_type, allow_unlinkedNodes &gt;::GetSpanningTree()</a>, <a class="el" href="../../d8/deb/_d_s___weighted_graph_8h_source.xhtml#l00124">DataStructures::WeightedGraph&lt; node_type, weight_type, allow_unlinkedNodes &gt;::operator=()</a>, and <a class="el" href="../../d8/deb/_d_s___weighted_graph_8h_source.xhtml#l00107">DataStructures::WeightedGraph&lt; node_type, weight_type, allow_unlinkedNodes &gt;::WeightedGraph()</a>.</p>
</div>
</div>
<a class="anchor" id="a121ddaacaed31a2ad5e3f5313f3561d0"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class node_type, class weight_type, bool allow_unlinkedNodes&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">weight_type* <a class="el" href="../../dd/d9f/class_data_structures_1_1_weighted_graph.xhtml">DataStructures::WeightedGraph</a>&lt; node_type, weight_type, allow_unlinkedNodes &gt;::costMatrix</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="../../d8/deb/_d_s___weighted_graph_8h_source.xhtml#l00082">82</a> of file <a class="el" href="../../d8/deb/_d_s___weighted_graph_8h_source.xhtml">DS_WeightedGraph.h</a>.</p>
<p>Referenced by <a class="el" href="../../d8/deb/_d_s___weighted_graph_8h_source.xhtml#l00124">DataStructures::WeightedGraph&lt; node_type, weight_type, allow_unlinkedNodes &gt;::operator=()</a>, and <a class="el" href="../../d8/deb/_d_s___weighted_graph_8h_source.xhtml#l00107">DataStructures::WeightedGraph&lt; node_type, weight_type, allow_unlinkedNodes &gt;::WeightedGraph()</a>.</p>
</div>
</div>
<a class="anchor" id="ac034f7d08bcf8f4c63fe4f5e7d888cd9"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class node_type, class weight_type, bool allow_unlinkedNodes&gt; </div>
<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;node_type, node_type&gt; <a class="el" href="../../dd/d9f/class_data_structures_1_1_weighted_graph.xhtml">DataStructures::WeightedGraph</a>&lt; node_type, weight_type, allow_unlinkedNodes &gt;::costMatrixIndices</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="../../d8/deb/_d_s___weighted_graph_8h_source.xhtml#l00081">81</a> of file <a class="el" href="../../d8/deb/_d_s___weighted_graph_8h_source.xhtml">DS_WeightedGraph.h</a>.</p>
<p>Referenced by <a class="el" href="../../d8/deb/_d_s___weighted_graph_8h_source.xhtml#l00124">DataStructures::WeightedGraph&lt; node_type, weight_type, allow_unlinkedNodes &gt;::operator=()</a>, and <a class="el" href="../../d8/deb/_d_s___weighted_graph_8h_source.xhtml#l00107">DataStructures::WeightedGraph&lt; node_type, weight_type, allow_unlinkedNodes &gt;::WeightedGraph()</a>.</p>
</div>
</div>
<a class="anchor" id="ac48608c2c44bfa4f9655c05eddd56940"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class node_type, class weight_type, bool allow_unlinkedNodes&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="../../dd/d9f/class_data_structures_1_1_weighted_graph.xhtml">DataStructures::WeightedGraph</a>&lt; node_type, weight_type, allow_unlinkedNodes &gt;::isValidPath</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="../../d8/deb/_d_s___weighted_graph_8h_source.xhtml#l00079">79</a> of file <a class="el" href="../../d8/deb/_d_s___weighted_graph_8h_source.xhtml">DS_WeightedGraph.h</a>.</p>
<p>Referenced by <a class="el" href="../../d8/deb/_d_s___weighted_graph_8h_source.xhtml#l00124">DataStructures::WeightedGraph&lt; node_type, weight_type, allow_unlinkedNodes &gt;::operator=()</a>, and <a class="el" href="../../d8/deb/_d_s___weighted_graph_8h_source.xhtml#l00107">DataStructures::WeightedGraph&lt; node_type, weight_type, allow_unlinkedNodes &gt;::WeightedGraph()</a>.</p>
</div>
</div>
<a class="anchor" id="a685964d9ffea0f84739693b569db80fa"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class node_type, class weight_type, bool allow_unlinkedNodes&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">node_type* <a class="el" href="../../dd/d9f/class_data_structures_1_1_weighted_graph.xhtml">DataStructures::WeightedGraph</a>&lt; node_type, weight_type, allow_unlinkedNodes &gt;::leastNodeArray</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="../../d8/deb/_d_s___weighted_graph_8h_source.xhtml#l00083">83</a> of file <a class="el" href="../../d8/deb/_d_s___weighted_graph_8h_source.xhtml">DS_WeightedGraph.h</a>.</p>
<p>Referenced by <a class="el" href="../../d8/deb/_d_s___weighted_graph_8h_source.xhtml#l00124">DataStructures::WeightedGraph&lt; node_type, weight_type, allow_unlinkedNodes &gt;::operator=()</a>, and <a class="el" href="../../d8/deb/_d_s___weighted_graph_8h_source.xhtml#l00107">DataStructures::WeightedGraph&lt; node_type, weight_type, allow_unlinkedNodes &gt;::WeightedGraph()</a>.</p>
</div>
</div>
<a class="anchor" id="a2f42d391d260dabc17b2c6096753839a"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class node_type, class weight_type, bool allow_unlinkedNodes&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">node_type <a class="el" href="../../dd/d9f/class_data_structures_1_1_weighted_graph.xhtml">DataStructures::WeightedGraph</a>&lt; node_type, weight_type, allow_unlinkedNodes &gt;::rootNode</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="../../d8/deb/_d_s___weighted_graph_8h_source.xhtml#l00080">80</a> of file <a class="el" href="../../d8/deb/_d_s___weighted_graph_8h_source.xhtml">DS_WeightedGraph.h</a>.</p>
<p>Referenced by <a class="el" href="../../d8/deb/_d_s___weighted_graph_8h_source.xhtml#l00124">DataStructures::WeightedGraph&lt; node_type, weight_type, allow_unlinkedNodes &gt;::operator=()</a>, and <a class="el" href="../../d8/deb/_d_s___weighted_graph_8h_source.xhtml#l00107">DataStructures::WeightedGraph&lt; node_type, weight_type, allow_unlinkedNodes &gt;::WeightedGraph()</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="../../d8/deb/_d_s___weighted_graph_8h_source.xhtml">DS_WeightedGraph.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="../../dd/d9f/class_data_structures_1_1_weighted_graph.xhtml">WeightedGraph</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,4 @@
var group___d_i_r_e_c_t_o_r_y___d_e_l_t_a___t_r_a_n_s_f_e_r___g_r_o_u_p =
[
[ "SLNet", "dd/d30/namespace_s_l_net.xhtml", null ]
];

View File

@ -0,0 +1,128 @@
<!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: DirectoryDeltaTransfer</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><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><!-- 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/d9f/group___d_i_r_e_c_t_o_r_y___d_e_l_t_a___t_r_a_n_s_f_e_r___g_r_o_u_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="summary">
<a href="#namespaces">Namespaces</a> </div>
<div class="headertitle">
<div class="title">DirectoryDeltaTransfer</div> </div>
<div class="ingroups"><a class="el" href="../../df/db6/group___p_l_u_g_i_n_s___g_r_o_u_p.xhtml">Plugins</a></div></div><!--header-->
<div class="contents">
<p>Simple class to send changes between directories.
<a href="#details">More...</a></p>
<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>
<p>Simple class to send changes between directories. </p>
</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: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,19 @@
var struct_s_l_net_1_1_rak_peer_1_1_requested_connection_struct =
[
[ "CONNECT", "dd/d9f/struct_s_l_net_1_1_rak_peer_1_1_requested_connection_struct.xhtml#a88e713318705d54ebdc502ddde977497aacba564b90938bd259399c78aa1af3b1", null ],
[ "actionToTake", "dd/d9f/struct_s_l_net_1_1_rak_peer_1_1_requested_connection_struct.xhtml#afeed335c2c0cb0959867454c88005883", null ],
[ "data", "dd/d9f/struct_s_l_net_1_1_rak_peer_1_1_requested_connection_struct.xhtml#abc09ef34c18e8392435b765918719f88", null ],
[ "dataLength", "dd/d9f/struct_s_l_net_1_1_rak_peer_1_1_requested_connection_struct.xhtml#aa8052692f6f2028824fd07fa73dfb816", null ],
[ "extraData", "dd/d9f/struct_s_l_net_1_1_rak_peer_1_1_requested_connection_struct.xhtml#a346b091801772692ca284e543f5b835d", null ],
[ "nextRequestTime", "dd/d9f/struct_s_l_net_1_1_rak_peer_1_1_requested_connection_struct.xhtml#a69c920b5c29fd47be2983c7085f7ae97", null ],
[ "outgoingPassword", "dd/d9f/struct_s_l_net_1_1_rak_peer_1_1_requested_connection_struct.xhtml#aeca8c43876bfa7e1d48c8666f670e52b", null ],
[ "outgoingPasswordLength", "dd/d9f/struct_s_l_net_1_1_rak_peer_1_1_requested_connection_struct.xhtml#a22d597496cbad49ca972d7affd4e203f", null ],
[ "publicKeyMode", "dd/d9f/struct_s_l_net_1_1_rak_peer_1_1_requested_connection_struct.xhtml#abcf5a787b9a0d2a115a65675682d1c91", null ],
[ "requestsMade", "dd/d9f/struct_s_l_net_1_1_rak_peer_1_1_requested_connection_struct.xhtml#a634986f20b72ca702d488f1e52c99cd2", null ],
[ "sendConnectionAttemptCount", "dd/d9f/struct_s_l_net_1_1_rak_peer_1_1_requested_connection_struct.xhtml#a7fbe571c0153e6ab6672f4f83fa6fc86", null ],
[ "socket", "dd/d9f/struct_s_l_net_1_1_rak_peer_1_1_requested_connection_struct.xhtml#a1495dfc950d0819fddf1aed148e7cb2d", null ],
[ "socketIndex", "dd/d9f/struct_s_l_net_1_1_rak_peer_1_1_requested_connection_struct.xhtml#a289662f5011cad7efab244af18fecb60", null ],
[ "systemAddress", "dd/d9f/struct_s_l_net_1_1_rak_peer_1_1_requested_connection_struct.xhtml#ab5c97b9bd57ef8afdf44be5658d56c9f", null ],
[ "timeBetweenSendConnectionAttemptsMS", "dd/d9f/struct_s_l_net_1_1_rak_peer_1_1_requested_connection_struct.xhtml#a3bd6cadad9dc734293ceb8544a83b00c", null ],
[ "timeoutTime", "dd/d9f/struct_s_l_net_1_1_rak_peer_1_1_requested_connection_struct.xhtml#a6ece6e5171327a59002ff3d4581a7032", null ]
];

View File

@ -0,0 +1,434 @@
<!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::RakPeer::RequestedConnectionStruct 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('dd/d9f/struct_s_l_net_1_1_rak_peer_1_1_requested_connection_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="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="../../de/d7d/struct_s_l_net_1_1_rak_peer_1_1_requested_connection_struct-members.xhtml">List of all members</a> </div>
<div class="headertitle">
<div class="title">SLNet::RakPeer::RequestedConnectionStruct Struct Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><code>#include &lt;<a class="el" href="../../de/d12/peer_8h_source.xhtml">slikenet/peer.h</a>&gt;</code></p>
<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:a88e713318705d54ebdc502ddde977497"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="../../dd/d9f/struct_s_l_net_1_1_rak_peer_1_1_requested_connection_struct.xhtml#a88e713318705d54ebdc502ddde977497aacba564b90938bd259399c78aa1af3b1">CONNECT</a> =1
}</td></tr>
<tr class="separator:a88e713318705d54ebdc502ddde977497"><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:ab5c97b9bd57ef8afdf44be5658d56c9f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d8/dbe/struct_s_l_net_1_1_system_address.xhtml">SystemAddress</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d9f/struct_s_l_net_1_1_rak_peer_1_1_requested_connection_struct.xhtml#ab5c97b9bd57ef8afdf44be5658d56c9f">systemAddress</a></td></tr>
<tr class="separator:ab5c97b9bd57ef8afdf44be5658d56c9f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a69c920b5c29fd47be2983c7085f7ae97"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#a7223b62c1b67121db1d975f2ab9b74c7">SLNet::Time</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d9f/struct_s_l_net_1_1_rak_peer_1_1_requested_connection_struct.xhtml#a69c920b5c29fd47be2983c7085f7ae97">nextRequestTime</a></td></tr>
<tr class="separator:a69c920b5c29fd47be2983c7085f7ae97"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a634986f20b72ca702d488f1e52c99cd2"><td class="memItemLeft" align="right" valign="top">unsigned char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d9f/struct_s_l_net_1_1_rak_peer_1_1_requested_connection_struct.xhtml#a634986f20b72ca702d488f1e52c99cd2">requestsMade</a></td></tr>
<tr class="separator:a634986f20b72ca702d488f1e52c99cd2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abc09ef34c18e8392435b765918719f88"><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d9f/struct_s_l_net_1_1_rak_peer_1_1_requested_connection_struct.xhtml#abc09ef34c18e8392435b765918719f88">data</a></td></tr>
<tr class="separator:abc09ef34c18e8392435b765918719f88"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa8052692f6f2028824fd07fa73dfb816"><td class="memItemLeft" align="right" valign="top">unsigned short&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d9f/struct_s_l_net_1_1_rak_peer_1_1_requested_connection_struct.xhtml#aa8052692f6f2028824fd07fa73dfb816">dataLength</a></td></tr>
<tr class="separator:aa8052692f6f2028824fd07fa73dfb816"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeca8c43876bfa7e1d48c8666f670e52b"><td class="memItemLeft" align="right" valign="top">char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d9f/struct_s_l_net_1_1_rak_peer_1_1_requested_connection_struct.xhtml#aeca8c43876bfa7e1d48c8666f670e52b">outgoingPassword</a> [256]</td></tr>
<tr class="separator:aeca8c43876bfa7e1d48c8666f670e52b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a22d597496cbad49ca972d7affd4e203f"><td class="memItemLeft" align="right" valign="top">unsigned char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d9f/struct_s_l_net_1_1_rak_peer_1_1_requested_connection_struct.xhtml#a22d597496cbad49ca972d7affd4e203f">outgoingPasswordLength</a></td></tr>
<tr class="separator:a22d597496cbad49ca972d7affd4e203f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a289662f5011cad7efab244af18fecb60"><td class="memItemLeft" align="right" valign="top">unsigned&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d9f/struct_s_l_net_1_1_rak_peer_1_1_requested_connection_struct.xhtml#a289662f5011cad7efab244af18fecb60">socketIndex</a></td></tr>
<tr class="separator:a289662f5011cad7efab244af18fecb60"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a346b091801772692ca284e543f5b835d"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d9f/struct_s_l_net_1_1_rak_peer_1_1_requested_connection_struct.xhtml#a346b091801772692ca284e543f5b835d">extraData</a></td></tr>
<tr class="separator:a346b091801772692ca284e543f5b835d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7fbe571c0153e6ab6672f4f83fa6fc86"><td class="memItemLeft" align="right" valign="top">unsigned&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d9f/struct_s_l_net_1_1_rak_peer_1_1_requested_connection_struct.xhtml#a7fbe571c0153e6ab6672f4f83fa6fc86">sendConnectionAttemptCount</a></td></tr>
<tr class="separator:a7fbe571c0153e6ab6672f4f83fa6fc86"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3bd6cadad9dc734293ceb8544a83b00c"><td class="memItemLeft" align="right" valign="top">unsigned&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d9f/struct_s_l_net_1_1_rak_peer_1_1_requested_connection_struct.xhtml#a3bd6cadad9dc734293ceb8544a83b00c">timeBetweenSendConnectionAttemptsMS</a></td></tr>
<tr class="separator:a3bd6cadad9dc734293ceb8544a83b00c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6ece6e5171327a59002ff3d4581a7032"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#a26b4eb1be8467562f791e3c5af4a67ae">SLNet::TimeMS</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d9f/struct_s_l_net_1_1_rak_peer_1_1_requested_connection_struct.xhtml#a6ece6e5171327a59002ff3d4581a7032">timeoutTime</a></td></tr>
<tr class="separator:a6ece6e5171327a59002ff3d4581a7032"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abcf5a787b9a0d2a115a65675682d1c91"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#aafa9b6b66fe9c879734011fe8abade6a">PublicKeyMode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d9f/struct_s_l_net_1_1_rak_peer_1_1_requested_connection_struct.xhtml#abcf5a787b9a0d2a115a65675682d1c91">publicKeyMode</a></td></tr>
<tr class="separator:abcf5a787b9a0d2a115a65675682d1c91"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1495dfc950d0819fddf1aed148e7cb2d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d1/dde/class_s_l_net_1_1_rak_net_socket2.xhtml">RakNetSocket2</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d9f/struct_s_l_net_1_1_rak_peer_1_1_requested_connection_struct.xhtml#a1495dfc950d0819fddf1aed148e7cb2d">socket</a></td></tr>
<tr class="separator:a1495dfc950d0819fddf1aed148e7cb2d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afeed335c2c0cb0959867454c88005883"><td class="memItemLeft" align="right" valign="top">enum <br class="typebreak"/>
SLNet::RakPeer::RequestedConnectionStruct:: { ... } &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d9f/struct_s_l_net_1_1_rak_peer_1_1_requested_connection_struct.xhtml#afeed335c2c0cb0959867454c88005883">actionToTake</a></td></tr>
<tr class="separator:afeed335c2c0cb0959867454c88005883"><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="../../de/d12/peer_8h_source.xhtml#l00836">836</a> of file <a class="el" href="../../de/d12/peer_8h_source.xhtml">peer.h</a>.</p>
</div><h2 class="groupheader">Member Enumeration Documentation</h2>
<a class="anchor" id="a88e713318705d54ebdc502ddde977497"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">anonymous enum</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="a88e713318705d54ebdc502ddde977497aacba564b90938bd259399c78aa1af3b1"></a>CONNECT</em>&nbsp;</td><td>
</td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="../../de/d12/peer_8h_source.xhtml#l00852">852</a> of file <a class="el" href="../../de/d12/peer_8h_source.xhtml">peer.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a class="anchor" id="afeed335c2c0cb0959867454c88005883"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum { ... } SLNet::RakPeer::RequestedConnectionStruct::actionToTake</td>
</tr>
</table>
</div><div class="memdoc">
<p>Referenced by <a class="el" href="../../d5/d55/_rak_peer_8cpp_source.xhtml#l04524">SLNet::ProcessOfflineNetworkPacket()</a>, <a class="el" href="../../d5/d55/_rak_peer_8cpp_source.xhtml#l05540">SLNet::RakPeer::RunUpdateCycle()</a>, and <a class="el" href="../../d5/d55/_rak_peer_8cpp_source.xhtml#l03250">SLNet::RakPeer::SendConnectionRequest()</a>.</p>
</div>
</div>
<a class="anchor" id="abc09ef34c18e8392435b765918719f88"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">char* SLNet::RakPeer::RequestedConnectionStruct::data</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../de/d12/peer_8h_source.xhtml#l00841">841</a> of file <a class="el" href="../../de/d12/peer_8h_source.xhtml">peer.h</a>.</p>
<p>Referenced by <a class="el" href="../../d5/d55/_rak_peer_8cpp_source.xhtml#l05540">SLNet::RakPeer::RunUpdateCycle()</a>, and <a class="el" href="../../d5/d55/_rak_peer_8cpp_source.xhtml#l03250">SLNet::RakPeer::SendConnectionRequest()</a>.</p>
</div>
</div>
<a class="anchor" id="aa8052692f6f2028824fd07fa73dfb816"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">unsigned short SLNet::RakPeer::RequestedConnectionStruct::dataLength</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../de/d12/peer_8h_source.xhtml#l00842">842</a> of file <a class="el" href="../../de/d12/peer_8h_source.xhtml">peer.h</a>.</p>
</div>
</div>
<a class="anchor" id="a346b091801772692ca284e543f5b835d"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">unsigned int SLNet::RakPeer::RequestedConnectionStruct::extraData</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../de/d12/peer_8h_source.xhtml#l00846">846</a> of file <a class="el" href="../../de/d12/peer_8h_source.xhtml">peer.h</a>.</p>
<p>Referenced by <a class="el" href="../../d5/d55/_rak_peer_8cpp_source.xhtml#l03250">SLNet::RakPeer::SendConnectionRequest()</a>.</p>
</div>
</div>
<a class="anchor" id="a69c920b5c29fd47be2983c7085f7ae97"></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">SLNet::Time</a> SLNet::RakPeer::RequestedConnectionStruct::nextRequestTime</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../de/d12/peer_8h_source.xhtml#l00839">839</a> of file <a class="el" href="../../de/d12/peer_8h_source.xhtml">peer.h</a>.</p>
<p>Referenced by <a class="el" href="../../d5/d55/_rak_peer_8cpp_source.xhtml#l05540">SLNet::RakPeer::RunUpdateCycle()</a>, and <a class="el" href="../../d5/d55/_rak_peer_8cpp_source.xhtml#l03250">SLNet::RakPeer::SendConnectionRequest()</a>.</p>
</div>
</div>
<a class="anchor" id="aeca8c43876bfa7e1d48c8666f670e52b"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">char SLNet::RakPeer::RequestedConnectionStruct::outgoingPassword[256]</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../de/d12/peer_8h_source.xhtml#l00843">843</a> of file <a class="el" href="../../de/d12/peer_8h_source.xhtml">peer.h</a>.</p>
<p>Referenced by <a class="el" href="../../d5/d55/_rak_peer_8cpp_source.xhtml#l04524">SLNet::ProcessOfflineNetworkPacket()</a>, and <a class="el" href="../../d5/d55/_rak_peer_8cpp_source.xhtml#l03250">SLNet::RakPeer::SendConnectionRequest()</a>.</p>
</div>
</div>
<a class="anchor" id="a22d597496cbad49ca972d7affd4e203f"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">unsigned char SLNet::RakPeer::RequestedConnectionStruct::outgoingPasswordLength</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../de/d12/peer_8h_source.xhtml#l00844">844</a> of file <a class="el" href="../../de/d12/peer_8h_source.xhtml">peer.h</a>.</p>
<p>Referenced by <a class="el" href="../../d5/d55/_rak_peer_8cpp_source.xhtml#l04524">SLNet::ProcessOfflineNetworkPacket()</a>, and <a class="el" href="../../d5/d55/_rak_peer_8cpp_source.xhtml#l03250">SLNet::RakPeer::SendConnectionRequest()</a>.</p>
</div>
</div>
<a class="anchor" id="abcf5a787b9a0d2a115a65675682d1c91"></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#aafa9b6b66fe9c879734011fe8abade6a">PublicKeyMode</a> SLNet::RakPeer::RequestedConnectionStruct::publicKeyMode</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../de/d12/peer_8h_source.xhtml#l00850">850</a> of file <a class="el" href="../../de/d12/peer_8h_source.xhtml">peer.h</a>.</p>
<p>Referenced by <a class="el" href="../../d5/d55/_rak_peer_8cpp_source.xhtml#l04524">SLNet::ProcessOfflineNetworkPacket()</a>.</p>
</div>
</div>
<a class="anchor" id="a634986f20b72ca702d488f1e52c99cd2"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">unsigned char SLNet::RakPeer::RequestedConnectionStruct::requestsMade</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../de/d12/peer_8h_source.xhtml#l00840">840</a> of file <a class="el" href="../../de/d12/peer_8h_source.xhtml">peer.h</a>.</p>
<p>Referenced by <a class="el" href="../../d5/d55/_rak_peer_8cpp_source.xhtml#l05540">SLNet::RakPeer::RunUpdateCycle()</a>, and <a class="el" href="../../d5/d55/_rak_peer_8cpp_source.xhtml#l03250">SLNet::RakPeer::SendConnectionRequest()</a>.</p>
</div>
</div>
<a class="anchor" id="a7fbe571c0153e6ab6672f4f83fa6fc86"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">unsigned SLNet::RakPeer::RequestedConnectionStruct::sendConnectionAttemptCount</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../de/d12/peer_8h_source.xhtml#l00847">847</a> of file <a class="el" href="../../de/d12/peer_8h_source.xhtml">peer.h</a>.</p>
<p>Referenced by <a class="el" href="../../d5/d55/_rak_peer_8cpp_source.xhtml#l05540">SLNet::RakPeer::RunUpdateCycle()</a>, and <a class="el" href="../../d5/d55/_rak_peer_8cpp_source.xhtml#l03250">SLNet::RakPeer::SendConnectionRequest()</a>.</p>
</div>
</div>
<a class="anchor" id="a1495dfc950d0819fddf1aed148e7cb2d"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../d1/dde/class_s_l_net_1_1_rak_net_socket2.xhtml">RakNetSocket2</a>* SLNet::RakPeer::RequestedConnectionStruct::socket</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../de/d12/peer_8h_source.xhtml#l00851">851</a> of file <a class="el" href="../../de/d12/peer_8h_source.xhtml">peer.h</a>.</p>
<p>Referenced by <a class="el" href="../../d5/d55/_rak_peer_8cpp_source.xhtml#l04524">SLNet::ProcessOfflineNetworkPacket()</a>, <a class="el" href="../../d5/d55/_rak_peer_8cpp_source.xhtml#l05540">SLNet::RakPeer::RunUpdateCycle()</a>, and <a class="el" href="../../d5/d55/_rak_peer_8cpp_source.xhtml#l03250">SLNet::RakPeer::SendConnectionRequest()</a>.</p>
</div>
</div>
<a class="anchor" id="a289662f5011cad7efab244af18fecb60"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">unsigned SLNet::RakPeer::RequestedConnectionStruct::socketIndex</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../de/d12/peer_8h_source.xhtml#l00845">845</a> of file <a class="el" href="../../de/d12/peer_8h_source.xhtml">peer.h</a>.</p>
<p>Referenced by <a class="el" href="../../d5/d55/_rak_peer_8cpp_source.xhtml#l05540">SLNet::RakPeer::RunUpdateCycle()</a>, and <a class="el" href="../../d5/d55/_rak_peer_8cpp_source.xhtml#l03250">SLNet::RakPeer::SendConnectionRequest()</a>.</p>
</div>
</div>
<a class="anchor" id="ab5c97b9bd57ef8afdf44be5658d56c9f"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../d8/dbe/struct_s_l_net_1_1_system_address.xhtml">SystemAddress</a> SLNet::RakPeer::RequestedConnectionStruct::systemAddress</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../de/d12/peer_8h_source.xhtml#l00838">838</a> of file <a class="el" href="../../de/d12/peer_8h_source.xhtml">peer.h</a>.</p>
<p>Referenced by <a class="el" href="../../d5/d55/_rak_peer_8cpp_source.xhtml#l04524">SLNet::ProcessOfflineNetworkPacket()</a>, <a class="el" href="../../d5/d55/_rak_peer_8cpp_source.xhtml#l05540">SLNet::RakPeer::RunUpdateCycle()</a>, and <a class="el" href="../../d5/d55/_rak_peer_8cpp_source.xhtml#l03250">SLNet::RakPeer::SendConnectionRequest()</a>.</p>
</div>
</div>
<a class="anchor" id="a3bd6cadad9dc734293ceb8544a83b00c"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">unsigned SLNet::RakPeer::RequestedConnectionStruct::timeBetweenSendConnectionAttemptsMS</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../de/d12/peer_8h_source.xhtml#l00848">848</a> of file <a class="el" href="../../de/d12/peer_8h_source.xhtml">peer.h</a>.</p>
<p>Referenced by <a class="el" href="../../d5/d55/_rak_peer_8cpp_source.xhtml#l05540">SLNet::RakPeer::RunUpdateCycle()</a>, and <a class="el" href="../../d5/d55/_rak_peer_8cpp_source.xhtml#l03250">SLNet::RakPeer::SendConnectionRequest()</a>.</p>
</div>
</div>
<a class="anchor" id="a6ece6e5171327a59002ff3d4581a7032"></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#a26b4eb1be8467562f791e3c5af4a67ae">SLNet::TimeMS</a> SLNet::RakPeer::RequestedConnectionStruct::timeoutTime</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../de/d12/peer_8h_source.xhtml#l00849">849</a> of file <a class="el" href="../../de/d12/peer_8h_source.xhtml">peer.h</a>.</p>
<p>Referenced by <a class="el" href="../../d5/d55/_rak_peer_8cpp_source.xhtml#l04524">SLNet::ProcessOfflineNetworkPacket()</a>, and <a class="el" href="../../d5/d55/_rak_peer_8cpp_source.xhtml#l03250">SLNet::RakPeer::SendConnectionRequest()</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="../../de/d12/peer_8h_source.xhtml">peer.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="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">RakPeer</a></li><li class="navelem"><a class="el" href="../../dd/d9f/struct_s_l_net_1_1_rak_peer_1_1_requested_connection_struct.xhtml">RequestedConnectionStruct</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,8 @@
var _d_s___huffman_encoding_tree_node_8h =
[
[ "left", "dd/da3/_d_s___huffman_encoding_tree_node_8h.xhtml#a25ce2e845c037728b1e95958495ddecb", null ],
[ "parent", "dd/da3/_d_s___huffman_encoding_tree_node_8h.xhtml#a6776b51b7e9fe502e8d740aacb0d35d7", null ],
[ "right", "dd/da3/_d_s___huffman_encoding_tree_node_8h.xhtml#aa7ff9e97cdf09f7ce9be54d54e89bc4d", null ],
[ "value", "dd/da3/_d_s___huffman_encoding_tree_node_8h.xhtml#ab8e405870a5a080eebe7ad04a871618d", null ],
[ "weight", "dd/da3/_d_s___huffman_encoding_tree_node_8h.xhtml#ad67b5b27458a18c0a7134999618087fe", null ]
];

View File

@ -0,0 +1,186 @@
<!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_HuffmanEncodingTreeNode.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('dd/da3/_d_s___huffman_encoding_tree_node_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> </div>
<div class="headertitle">
<div class="title">DS_HuffmanEncodingTreeNode.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><b></b>[Internal] A single node in the Huffman Encoding Tree.
<a href="#details">More...</a></p>
<p><a href="../../dd/da3/_d_s___huffman_encoding_tree_node_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:d4/d8f/struct_huffman_encoding_tree_node"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/da3/_d_s___huffman_encoding_tree_node_8h.xhtml#d4/d8f/struct_huffman_encoding_tree_node">HuffmanEncodingTreeNode</a></td></tr>
<tr class="separator:d4/d8f/struct_huffman_encoding_tree_node"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p><b></b>[Internal] A single node in the Huffman Encoding Tree. </p>
<p>Definition in file <a class="el" href="../../dd/da3/_d_s___huffman_encoding_tree_node_8h_source.xhtml">DS_HuffmanEncodingTreeNode.h</a>.</p>
</div><hr/><h2 class="groupheader">Class Documentation</h2>
<a name="d4/d8f/struct_huffman_encoding_tree_node" id="d4/d8f/struct_huffman_encoding_tree_node"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct HuffmanEncodingTreeNode</td>
</tr>
</table>
</div><div class="memdoc">
<div class="textblock">
<p>Definition at line <a class="el" href="../../dd/da3/_d_s___huffman_encoding_tree_node_8h_source.xhtml#l00018">18</a> of file <a class="el" href="../../dd/da3/_d_s___huffman_encoding_tree_node_8h_source.xhtml">DS_HuffmanEncodingTreeNode.h</a>.</p>
</div><table class="fieldtable">
<tr><th colspan="3">Class Members</th></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a25ce2e845c037728b1e95958495ddecb"></a><a class="el" href="../../dd/da3/_d_s___huffman_encoding_tree_node_8h.xhtml#d4/d8f/struct_huffman_encoding_tree_node">HuffmanEncodingTreeNode</a> *</td>
<td class="fieldname">
left</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a6776b51b7e9fe502e8d740aacb0d35d7"></a><a class="el" href="../../dd/da3/_d_s___huffman_encoding_tree_node_8h.xhtml#d4/d8f/struct_huffman_encoding_tree_node">HuffmanEncodingTreeNode</a> *</td>
<td class="fieldname">
parent</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="aa7ff9e97cdf09f7ce9be54d54e89bc4d"></a><a class="el" href="../../dd/da3/_d_s___huffman_encoding_tree_node_8h.xhtml#d4/d8f/struct_huffman_encoding_tree_node">HuffmanEncodingTreeNode</a> *</td>
<td class="fieldname">
right</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="ab8e405870a5a080eebe7ad04a871618d"></a>unsigned char</td>
<td class="fieldname">
value</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="ad67b5b27458a18c0a7134999618087fe"></a>unsigned</td>
<td class="fieldname">
weight</td>
<td class="fielddoc">
</td></tr>
</table>
</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="../../dd/da3/_d_s___huffman_encoding_tree_node_8h.xhtml">DS_HuffmanEncodingTreeNode.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,145 @@
<!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_HuffmanEncodingTreeNode.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('dd/da3/_d_s___huffman_encoding_tree_node_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_HuffmanEncodingTreeNode.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="../../dd/da3/_d_s___huffman_encoding_tree_node_8h.xhtml">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> * Copyright (c) 2014, Oculus VR, Inc.</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> * All rights reserved.</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> * This source code is licensed under the BSD-style license found in the</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> * RakNet License.txt file in the licenses directory of this source tree. An additional grant </span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> * of patent rights can be found in the RakNet Patents.txt file in the same directory.</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;</div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;</div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="preprocessor">#ifndef __HUFFMAN_ENCODING_TREE_NODE</span></div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define __HUFFMAN_ENCODING_TREE_NODE</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00018"></a><span class="lineno"><a class="code" href="../../dd/da3/_d_s___huffman_encoding_tree_node_8h.xhtml"> 18</a></span>&#160;<span class="keyword">struct </span><a class="code" href="../../dd/da3/_d_s___huffman_encoding_tree_node_8h.xhtml#d4/d8f/struct_huffman_encoding_tree_node">HuffmanEncodingTreeNode</a></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="../../dd/da3/_d_s___huffman_encoding_tree_node_8h.xhtml#ab8e405870a5a080eebe7ad04a871618d"> 20</a></span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <a class="code" href="../../dd/da3/_d_s___huffman_encoding_tree_node_8h.xhtml#ab8e405870a5a080eebe7ad04a871618d">value</a>;</div>
<div class="line"><a name="l00021"></a><span class="lineno"><a class="code" href="../../dd/da3/_d_s___huffman_encoding_tree_node_8h.xhtml#ad67b5b27458a18c0a7134999618087fe"> 21</a></span>&#160; <span class="keywordtype">unsigned</span> <a class="code" href="../../dd/da3/_d_s___huffman_encoding_tree_node_8h.xhtml#ad67b5b27458a18c0a7134999618087fe">weight</a>;</div>
<div class="line"><a name="l00022"></a><span class="lineno"><a class="code" href="../../dd/da3/_d_s___huffman_encoding_tree_node_8h.xhtml#a25ce2e845c037728b1e95958495ddecb"> 22</a></span>&#160; <a class="code" href="../../dd/da3/_d_s___huffman_encoding_tree_node_8h.xhtml#d4/d8f/struct_huffman_encoding_tree_node">HuffmanEncodingTreeNode</a> *<a class="code" href="../../dd/da3/_d_s___huffman_encoding_tree_node_8h.xhtml#a25ce2e845c037728b1e95958495ddecb">left</a>;</div>
<div class="line"><a name="l00023"></a><span class="lineno"><a class="code" href="../../dd/da3/_d_s___huffman_encoding_tree_node_8h.xhtml#aa7ff9e97cdf09f7ce9be54d54e89bc4d"> 23</a></span>&#160; <a class="code" href="../../dd/da3/_d_s___huffman_encoding_tree_node_8h.xhtml#d4/d8f/struct_huffman_encoding_tree_node">HuffmanEncodingTreeNode</a> *<a class="code" href="../../dd/da3/_d_s___huffman_encoding_tree_node_8h.xhtml#aa7ff9e97cdf09f7ce9be54d54e89bc4d">right</a>;</div>
<div class="line"><a name="l00024"></a><span class="lineno"><a class="code" href="../../dd/da3/_d_s___huffman_encoding_tree_node_8h.xhtml#a6776b51b7e9fe502e8d740aacb0d35d7"> 24</a></span>&#160; <a class="code" href="../../dd/da3/_d_s___huffman_encoding_tree_node_8h.xhtml#d4/d8f/struct_huffman_encoding_tree_node">HuffmanEncodingTreeNode</a> *<a class="code" href="../../dd/da3/_d_s___huffman_encoding_tree_node_8h.xhtml#a6776b51b7e9fe502e8d740aacb0d35d7">parent</a>;</div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;};</div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;</div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</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="../../dd/da3/_d_s___huffman_encoding_tree_node_8h.xhtml">DS_HuffmanEncodingTreeNode.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,41 @@
var class_s_l_net_1_1_h_t_t_p_connection2 =
[
[ "Request", "dd/da8/class_s_l_net_1_1_h_t_t_p_connection2.xhtml#d2/d56/struct_s_l_net_1_1_h_t_t_p_connection2_1_1_request", [
[ "bytesReadForThisChunk", "dd/da8/class_s_l_net_1_1_h_t_t_p_connection2.xhtml#a709f80fd08872239dee1df6f3973df83", null ],
[ "chunked", "dd/da8/class_s_l_net_1_1_h_t_t_p_connection2.xhtml#a26d64849b874569ac17fc69a9664b4e8", null ],
[ "contentLength", "dd/da8/class_s_l_net_1_1_h_t_t_p_connection2.xhtml#a2a053928dba3b4b7e2de8369dfd425fd", null ],
[ "contentOffset", "dd/da8/class_s_l_net_1_1_h_t_t_p_connection2.xhtml#ac55f652b4ba0dc3b7573e307c4d10224", null ],
[ "host", "dd/da8/class_s_l_net_1_1_h_t_t_p_connection2.xhtml#ab141427fc9a8b5df2baef02e6fcb371f", null ],
[ "hostCompletedAddress", "dd/da8/class_s_l_net_1_1_h_t_t_p_connection2.xhtml#a61d6ca5481e4cc032108e06cb3bf9ddc", null ],
[ "hostEstimatedAddress", "dd/da8/class_s_l_net_1_1_h_t_t_p_connection2.xhtml#ab1b1a9f6272779bb2c15fec2725ad98b", null ],
[ "ipVersion", "dd/da8/class_s_l_net_1_1_h_t_t_p_connection2.xhtml#ae6a2a12182e19ccb7e3805d97d46869d", null ],
[ "port", "dd/da8/class_s_l_net_1_1_h_t_t_p_connection2.xhtml#af306a5233022de3df567a451e090e9ca", null ],
[ "stringReceived", "dd/da8/class_s_l_net_1_1_h_t_t_p_connection2.xhtml#a5520ee5b1741b3cebb8da8461262493d", null ],
[ "stringToTransmit", "dd/da8/class_s_l_net_1_1_h_t_t_p_connection2.xhtml#aecbb92f72ea8d6d3927b3c25a15cda5c", null ],
[ "thisChunkSize", "dd/da8/class_s_l_net_1_1_h_t_t_p_connection2.xhtml#a0719380881848112c7d3cd2767292264", null ],
[ "userData", "dd/da8/class_s_l_net_1_1_h_t_t_p_connection2.xhtml#a883c6dc33963d3a1916e027747d2e932", null ],
[ "useSSL", "dd/da8/class_s_l_net_1_1_h_t_t_p_connection2.xhtml#a01e31edee934449ef697bc421c65cdee", null ]
] ],
[ "HTTPConnection2", "dd/da8/class_s_l_net_1_1_h_t_t_p_connection2.xhtml#a900af7302808e3c063c1dbe0c376cffd", null ],
[ "~HTTPConnection2", "dd/da8/class_s_l_net_1_1_h_t_t_p_connection2.xhtml#a6d54196b5bf7e77b66756714a36f680e", null ],
[ "GetResponse", "dd/da8/class_s_l_net_1_1_h_t_t_p_connection2.xhtml#a78058bf3aa684ed4baa894b586998047", null ],
[ "GetResponse", "dd/da8/class_s_l_net_1_1_h_t_t_p_connection2.xhtml#a668de444cff5748caaa5539ce17da2f4", null ],
[ "HasResponse", "dd/da8/class_s_l_net_1_1_h_t_t_p_connection2.xhtml#ac735349693b7f9a330a986189504ed00", null ],
[ "IsBusy", "dd/da8/class_s_l_net_1_1_h_t_t_p_connection2.xhtml#a45b280e6d3b8a5d51ddeff910fa8c65e", null ],
[ "IsConnected", "dd/da8/class_s_l_net_1_1_h_t_t_p_connection2.xhtml#a6fb4f87c3059c480670e250294f64258", null ],
[ "OnClosedConnection", "dd/da8/class_s_l_net_1_1_h_t_t_p_connection2.xhtml#a3385bd2f55c602a9f758ef4d03ca97aa", null ],
[ "OnFailedConnectionAttempt", "dd/da8/class_s_l_net_1_1_h_t_t_p_connection2.xhtml#ad2f4755ae50de257f81fab477e29cce5", null ],
[ "OnNewConnection", "dd/da8/class_s_l_net_1_1_h_t_t_p_connection2.xhtml#a4e74ed0027a51995e5aecb420e5c766b", null ],
[ "OnReceive", "dd/da8/class_s_l_net_1_1_h_t_t_p_connection2.xhtml#abb9a88b64a3cc3e98dc988a101579768", null ],
[ "RemovePendingRequest", "dd/da8/class_s_l_net_1_1_h_t_t_p_connection2.xhtml#a1965dd4bab40e13cac560d1284c68c9a", null ],
[ "SendNextPendingRequest", "dd/da8/class_s_l_net_1_1_h_t_t_p_connection2.xhtml#a048049334b4000a6c6dab3f4c3593249", null ],
[ "SendPendingRequestToConnectedSystem", "dd/da8/class_s_l_net_1_1_h_t_t_p_connection2.xhtml#a36d69640c881421a9bfb43fd076922d3", null ],
[ "SendRequest", "dd/da8/class_s_l_net_1_1_h_t_t_p_connection2.xhtml#a5d4a5c2ff5d478539443c8ca456ba56f", null ],
[ "TransmitRequest", "dd/da8/class_s_l_net_1_1_h_t_t_p_connection2.xhtml#a13f9cf7b335a66ab1ef8e547f956bae6", null ],
[ "completedRequests", "dd/da8/class_s_l_net_1_1_h_t_t_p_connection2.xhtml#afd042acd0f2504f96157f2390a22a6a9", null ],
[ "completedRequestsMutex", "dd/da8/class_s_l_net_1_1_h_t_t_p_connection2.xhtml#aebb1ab8a6cbbc10079455d270e9a6a1d", null ],
[ "pendingRequests", "dd/da8/class_s_l_net_1_1_h_t_t_p_connection2.xhtml#ad9e69ccf85e423b52ea9b60f89c6ae72", null ],
[ "pendingRequestsMutex", "dd/da8/class_s_l_net_1_1_h_t_t_p_connection2.xhtml#ab350d671ce6bd77b80197c73c0fb0fec", null ],
[ "sentRequests", "dd/da8/class_s_l_net_1_1_h_t_t_p_connection2.xhtml#a3bdaacce4c6d67b48a1094d4e7384cda", null ],
[ "sentRequestsMutex", "dd/da8/class_s_l_net_1_1_h_t_t_p_connection2.xhtml#ab3611c962fac3f77ac285252c18d47ad", null ]
];

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,3 @@
<map id="SLNet::TelnetTransport" name="SLNet::TelnetTransport">
<area shape="rect" id="node2" href="$d0/d4e/class_s_l_net_1_1_transport_interface.xhtml" title="Defines an interface that is used to send and receive null&#45;terminated strings." alt="" coords="5,5,212,229"/>
</map>

View File

@ -0,0 +1 @@
c15cb4eb311afef7f1d5af0c835a006c

View File

@ -0,0 +1,139 @@
<?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::TelnetTransport Pages: 1 -->
<!--zoomable 457 -->
<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 = 163;
var viewHeight = 457;
var sectionId = 'dynsection-0';
</script>
<script xlink:href="../../svgpan.js"/>
<svg id="graph" class="graph">
<g id="viewport">
<title>SLNet::TelnetTransport</title>
<!-- Node1 -->
<g id="node1" class="node"><title>Node1</title>
<polygon fill="#bfbfbf" stroke="black" points="0,-0.5 0,-244.5 155,-244.5 155,-0.5 0,-0.5"/>
<text text-anchor="middle" x="77.5" y="-232.5" font-family="Helvetica,sans-Serif" font-size="10.00">SLNet::TelnetTransport</text>
<polyline fill="none" stroke="black" points="0,-225.5 155,-225.5 "/>
<text text-anchor="start" x="8" y="-213.5" font-family="Helvetica,sans-Serif" font-size="10.00"># tcpInterface</text>
<text text-anchor="start" x="8" y="-202.5" font-family="Helvetica,sans-Serif" font-size="10.00"># remoteClients</text>
<text text-anchor="start" x="8" y="-191.5" font-family="Helvetica,sans-Serif" font-size="10.00"># sendSuffix</text>
<text text-anchor="start" x="8" y="-180.5" font-family="Helvetica,sans-Serif" font-size="10.00"># sendPrefix</text>
<polyline fill="none" stroke="black" points="0,-173.5 155,-173.5 "/>
<text text-anchor="start" x="8" y="-161.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TelnetTransport()</text>
<text text-anchor="start" x="8" y="-150.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~TelnetTransport()</text>
<text text-anchor="start" x="8" y="-139.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Start()</text>
<text text-anchor="start" x="8" y="-128.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Stop()</text>
<text text-anchor="start" x="8" y="-117.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Send()</text>
<text text-anchor="start" x="8" y="-106.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ CloseConnection()</text>
<text text-anchor="start" x="8" y="-95.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Receive()</text>
<text text-anchor="start" x="8" y="-84.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ DeallocatePacket()</text>
<text text-anchor="start" x="8" y="-73.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ HasNewIncomingConnection()</text>
<text text-anchor="start" x="8" y="-62.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ HasLostConnection()</text>
<text text-anchor="start" x="8" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetCommandParser()</text>
<text text-anchor="start" x="8" y="-40.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SetSendSuffix()</text>
<text text-anchor="start" x="8" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SetSendPrefix()</text>
<text text-anchor="start" x="8" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00"># AutoAllocate()</text>
<text text-anchor="start" x="8" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00"># ReassembleLine()</text>
</g>
<!-- Node2 -->
<g id="node2" class="node"><title>Node2</title>
<g id="a_node2"><a xlink:href="../../d0/d4e/class_s_l_net_1_1_transport_interface.xhtml" target="_top" xlink:title="Defines an interface that is used to send and receive null&#45;terminated strings.">
<polygon fill="none" stroke="black" points="0,-281.5 0,-448.5 155,-448.5 155,-281.5 0,-281.5"/>
<text text-anchor="middle" x="77.5" y="-436.5" font-family="Helvetica,sans-Serif" font-size="10.00">SLNet::TransportInterface</text>
<polyline fill="none" stroke="black" points="0,-429.5 155,-429.5 "/>
<text text-anchor="middle" x="77.5" y="-417.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
<polyline fill="none" stroke="black" points="0,-410.5 155,-410.5 "/>
<text text-anchor="start" x="8" y="-398.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TransportInterface()</text>
<text text-anchor="start" x="8" y="-387.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~TransportInterface()</text>
<text text-anchor="start" x="8" y="-376.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Start()</text>
<text text-anchor="start" x="8" y="-365.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Stop()</text>
<text text-anchor="start" x="8" y="-354.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Send()</text>
<text text-anchor="start" x="8" y="-343.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ CloseConnection()</text>
<text text-anchor="start" x="8" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Receive()</text>
<text text-anchor="start" x="8" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ DeallocatePacket()</text>
<text text-anchor="start" x="8" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ HasNewIncomingConnection()</text>
<text text-anchor="start" x="8" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ HasLostConnection()</text>
<text text-anchor="start" x="8" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetCommandParser()</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="M77.5,-271.144C77.5,-262.46 77.5,-253.575 77.5,-244.683"/>
<polygon fill="none" stroke="midnightblue" points="74.0001,-271.234 77.5,-281.234 81.0001,-271.234 74.0001,-271.234"/>
</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_telnet_transport__inherit__graph_org.svg" target="_base">
<rect id="button" ry="5" rx="5" y="6" x="6" height="38" width="38"
fill="#f2f5e9" fill-opacity="0.5" stroke="#606060" stroke-width="1.0"/>
<path id="arrow"
d="M 11.500037,31.436501 C 11.940474,20.09759 22.043105,11.32322 32.158766,21.979434 L 37.068811,17.246167 C 37.068811,17.246167 37.088388,32 37.088388,32 L 22.160133,31.978069 C 22.160133,31.978069 26.997745,27.140456 26.997745,27.140456 C 18.528582,18.264221 13.291696,25.230495 11.500037,31.436501 z"
style="fill:#404040;"/>
</a>
</g>
</svg>
</svg>

After

Width:  |  Height:  |  Size: 10 KiB

View File

@ -0,0 +1,65 @@
<?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::TelnetTransport Pages: 1 -->
<svg width="163pt" height="457pt"
viewBox="0.00 0.00 163.00 457.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 453)">
<title>SLNet::TelnetTransport</title>
<!-- Node1 -->
<g id="node1" class="node"><title>Node1</title>
<polygon fill="#bfbfbf" stroke="black" points="0,-0.5 0,-244.5 155,-244.5 155,-0.5 0,-0.5"/>
<text text-anchor="middle" x="77.5" y="-232.5" font-family="Helvetica,sans-Serif" font-size="10.00">SLNet::TelnetTransport</text>
<polyline fill="none" stroke="black" points="0,-225.5 155,-225.5 "/>
<text text-anchor="start" x="8" y="-213.5" font-family="Helvetica,sans-Serif" font-size="10.00"># tcpInterface</text>
<text text-anchor="start" x="8" y="-202.5" font-family="Helvetica,sans-Serif" font-size="10.00"># remoteClients</text>
<text text-anchor="start" x="8" y="-191.5" font-family="Helvetica,sans-Serif" font-size="10.00"># sendSuffix</text>
<text text-anchor="start" x="8" y="-180.5" font-family="Helvetica,sans-Serif" font-size="10.00"># sendPrefix</text>
<polyline fill="none" stroke="black" points="0,-173.5 155,-173.5 "/>
<text text-anchor="start" x="8" y="-161.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TelnetTransport()</text>
<text text-anchor="start" x="8" y="-150.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~TelnetTransport()</text>
<text text-anchor="start" x="8" y="-139.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Start()</text>
<text text-anchor="start" x="8" y="-128.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Stop()</text>
<text text-anchor="start" x="8" y="-117.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Send()</text>
<text text-anchor="start" x="8" y="-106.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ CloseConnection()</text>
<text text-anchor="start" x="8" y="-95.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Receive()</text>
<text text-anchor="start" x="8" y="-84.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ DeallocatePacket()</text>
<text text-anchor="start" x="8" y="-73.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ HasNewIncomingConnection()</text>
<text text-anchor="start" x="8" y="-62.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ HasLostConnection()</text>
<text text-anchor="start" x="8" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetCommandParser()</text>
<text text-anchor="start" x="8" y="-40.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SetSendSuffix()</text>
<text text-anchor="start" x="8" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SetSendPrefix()</text>
<text text-anchor="start" x="8" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00"># AutoAllocate()</text>
<text text-anchor="start" x="8" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00"># ReassembleLine()</text>
</g>
<!-- Node2 -->
<g id="node2" class="node"><title>Node2</title>
<g id="a_node2"><a xlink:href="../../d0/d4e/class_s_l_net_1_1_transport_interface.xhtml" target="_top" xlink:title="Defines an interface that is used to send and receive null&#45;terminated strings.">
<polygon fill="none" stroke="black" points="0,-281.5 0,-448.5 155,-448.5 155,-281.5 0,-281.5"/>
<text text-anchor="middle" x="77.5" y="-436.5" font-family="Helvetica,sans-Serif" font-size="10.00">SLNet::TransportInterface</text>
<polyline fill="none" stroke="black" points="0,-429.5 155,-429.5 "/>
<text text-anchor="middle" x="77.5" y="-417.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
<polyline fill="none" stroke="black" points="0,-410.5 155,-410.5 "/>
<text text-anchor="start" x="8" y="-398.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TransportInterface()</text>
<text text-anchor="start" x="8" y="-387.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~TransportInterface()</text>
<text text-anchor="start" x="8" y="-376.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Start()</text>
<text text-anchor="start" x="8" y="-365.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Stop()</text>
<text text-anchor="start" x="8" y="-354.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Send()</text>
<text text-anchor="start" x="8" y="-343.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ CloseConnection()</text>
<text text-anchor="start" x="8" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Receive()</text>
<text text-anchor="start" x="8" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ DeallocatePacket()</text>
<text text-anchor="start" x="8" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ HasNewIncomingConnection()</text>
<text text-anchor="start" x="8" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ HasLostConnection()</text>
<text text-anchor="start" x="8" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetCommandParser()</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="M77.5,-271.144C77.5,-262.46 77.5,-253.575 77.5,-244.683"/>
<polygon fill="none" stroke="midnightblue" points="74.0001,-271.234 77.5,-281.234 81.0001,-271.234 74.0001,-271.234"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 5.5 KiB

View File

@ -0,0 +1,3 @@
<map id="SLNet::RackspaceEventCallback_Default" name="SLNet::RackspaceEventCallback_Default">
<area shape="rect" id="node2" href="$d0/dcb/class_s_l_net_1_1_rackspace2_event_callback.xhtml" title="Callback interface to receive the results of operations." alt="" coords="5,5,247,244"/>
</map>

View File

@ -0,0 +1 @@
07a79157d08c61075f7a7e20cb7fb335

View File

@ -0,0 +1,61 @@
<?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::RackspaceEventCallback_Default Pages: 1 -->
<svg width="189pt" height="413pt"
viewBox="0.00 0.00 189.00 413.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 409)">
<title>SLNet::RackspaceEventCallback_Default</title>
<!-- Node1 -->
<g id="node1" class="node"><title>Node1</title>
<polygon fill="#bfbfbf" stroke="black" points="0,-0.5 0,-189.5 181,-189.5 181,-0.5 0,-0.5"/>
<text text-anchor="start" x="8" y="-177.5" font-family="Helvetica,sans-Serif" font-size="10.00">SLNet::RackspaceEventCallback</text>
<text text-anchor="middle" x="90.5" y="-166.5" font-family="Helvetica,sans-Serif" font-size="10.00">_Default</text>
<polyline fill="none" stroke="black" points="0,-159.5 181,-159.5 "/>
<text text-anchor="middle" x="90.5" y="-147.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
<polyline fill="none" stroke="black" points="0,-140.5 181,-140.5 "/>
<text text-anchor="start" x="8" y="-128.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ExecuteDefault()</text>
<text text-anchor="start" x="8" y="-117.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ OnAuthenticationResult()</text>
<text text-anchor="start" x="8" y="-106.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ OnListServersResult()</text>
<text text-anchor="start" x="8" y="-95.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ OnListServersWithDetails</text>
<text text-anchor="start" x="8" y="-84.5" font-family="Helvetica,sans-Serif" font-size="10.00">Result()</text>
<text text-anchor="start" x="8" y="-73.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ OnCreateServerResult()</text>
<text text-anchor="start" x="8" y="-62.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ OnGetServerDetails()</text>
<text text-anchor="start" x="8" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ OnUpdateServerNameOrPassword()</text>
<text text-anchor="start" x="8" y="-40.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ OnDeleteServer()</text>
<text text-anchor="start" x="8" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ OnListServerAddresses()</text>
<text text-anchor="start" x="8" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ OnShareServerAddress()</text>
<text text-anchor="start" x="8" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">and 18 more...</text>
</g>
<!-- Node2 -->
<g id="node2" class="node"><title>Node2</title>
<g id="a_node2"><a xlink:href="../../d0/dcb/class_s_l_net_1_1_rackspace2_event_callback.xhtml" target="_top" xlink:title="Callback interface to receive the results of operations.">
<polygon fill="none" stroke="black" points="0,-226.5 0,-404.5 181,-404.5 181,-226.5 0,-226.5"/>
<text text-anchor="middle" x="90.5" y="-392.5" font-family="Helvetica,sans-Serif" font-size="10.00">SLNet::Rackspace2EventCallback</text>
<polyline fill="none" stroke="black" points="0,-385.5 181,-385.5 "/>
<text text-anchor="middle" x="90.5" y="-373.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
<polyline fill="none" stroke="black" points="0,-366.5 181,-366.5 "/>
<text text-anchor="start" x="8" y="-354.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Rackspace2EventCallback()</text>
<text text-anchor="start" x="8" y="-343.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~Rackspace2EventCallback()</text>
<text text-anchor="start" x="8" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ OnAuthenticationResult()</text>
<text text-anchor="start" x="8" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ OnListServersResult()</text>
<text text-anchor="start" x="8" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ OnListServersWithDetails</text>
<text text-anchor="start" x="8" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">Result()</text>
<text text-anchor="start" x="8" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ OnCreateServerResult()</text>
<text text-anchor="start" x="8" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ OnGetServerDetails()</text>
<text text-anchor="start" x="8" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ OnUpdateServerNameOrPassword()</text>
<text text-anchor="start" x="8" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ OnDeleteServer()</text>
<text text-anchor="start" x="8" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ OnListServerAddresses()</text>
<text text-anchor="start" x="8" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">and 19 more...</text>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node1 -->
<g id="edge1" class="edge"><title>Node2&#45;&gt;Node1</title>
<path fill="none" stroke="midnightblue" d="M90.5,-215.993C90.5,-207.202 90.5,-198.316 90.5,-189.567"/>
<polygon fill="none" stroke="midnightblue" points="87.0001,-216.257 90.5,-226.258 94.0001,-216.258 87.0001,-216.257"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 5.2 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/RakNetSocket2_Windows_Linux.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('dd/db4/_rak_net_socket2___windows___linux_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">RakNetSocket2_Windows_Linux.cpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &quot;<a class="el" href="../../d7/d5b/_empty_header_8h_source.xhtml">slikenet/EmptyHeader.h</a>&quot;</code><br/>
</div>
<p><a href="../../dd/db4/_rak_net_socket2___windows___linux_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="../../dd/db4/_rak_net_socket2___windows___linux_8cpp.xhtml">RakNetSocket2_Windows_Linux.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,249 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>SLikeNet: Source/src/RakNetSocket2_Windows_Linux.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('dd/db4/_rak_net_socket2___windows___linux_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">RakNetSocket2_Windows_Linux.cpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="../../dd/db4/_rak_net_socket2___windows___linux_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="../../d7/d5b/_empty_header_8h.xhtml">slikenet/EmptyHeader.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="preprocessor">#ifdef RAKNET_SOCKET_2_INLINE_FUNCTIONS</span></div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="preprocessor">#ifndef RAKNETSOCKET2_WINDOWS_LINUX_CPP</span></div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define RAKNETSOCKET2_WINDOWS_LINUX_CPP</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">#if !defined(WINDOWS_STORE_RT) &amp;&amp; !defined(__native_client__)</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">#if RAKNET_SUPPORT_IPV6==1</span></div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="keywordtype">void</span> PrepareAddrInfoHints2(addrinfo *hints)</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; memset(hints, 0, <span class="keyword">sizeof</span> (addrinfo)); <span class="comment">// make sure the struct is empty</span></div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; hints-&gt;ai_socktype = SOCK_DGRAM; <span class="comment">// UDP sockets</span></div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160; hints-&gt;ai_flags = AI_PASSIVE; <span class="comment">// fill in my IP for me</span></div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;}</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="keywordtype">void</span> GetMyIP_Windows_Linux_IPV4And6( SystemAddress addresses[<a class="code" href="../../d8/db0/defines_8h.xhtml#aaac58d0b7314b7f900c0045e0c303b80">MAXIMUM_NUMBER_OF_INTERNAL_IDS</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; <span class="keywordtype">int</span> idx=0;</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; <span class="keywordtype">char</span> ac[ 80 ];</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; <span class="keywordtype">int</span> err = gethostname( ac, <span class="keyword">sizeof</span>( ac ) );</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; <a class="code" href="../../d8/db0/defines_8h.xhtml#afaa3647d29f5960651eb23fd3d2b5368">RakAssert</a>(err != -1);</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; </div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; <span class="keyword">struct </span>addrinfo hints;</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; <span class="keyword">struct </span>addrinfo *servinfo=0, *aip; <span class="comment">// will point to the results</span></div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; PrepareAddrInfoHints2(&amp;hints);</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; getaddrinfo(ac, <span class="stringliteral">&quot;&quot;</span>, &amp;hints, &amp;servinfo);</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="keywordflow">for</span> (idx=0, aip = servinfo; aip != NULL &amp;&amp; idx &lt; <a class="code" href="../../d8/db0/defines_8h.xhtml#aaac58d0b7314b7f900c0045e0c303b80">MAXIMUM_NUMBER_OF_INTERNAL_IDS</a>; aip = aip-&gt;ai_next, idx++)</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="keywordflow">if</span> (aip-&gt;ai_family == AF_INET)</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; {</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <span class="keyword">struct </span>sockaddr_in *ipv4 = (<span class="keyword">struct </span>sockaddr_in *)aip-&gt;ai_addr;</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; memcpy(&amp;addresses[idx].address.addr4,ipv4,<span class="keyword">sizeof</span>(sockaddr_in));</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; }</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; {</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <span class="keyword">struct </span>sockaddr_in6 *ipv6 = (<span class="keyword">struct </span>sockaddr_in6 *)aip-&gt;ai_addr;</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; memcpy(&amp;addresses[idx].address.addr4,ipv6,<span class="keyword">sizeof</span>(sockaddr_in6));</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; }</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; freeaddrinfo(servinfo); <span class="comment">// free the linked-list</span></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> (idx &lt; MAXIMUM_NUMBER_OF_INTERNAL_IDS)</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; addresses[idx]=<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="l00066"></a><span class="lineno"> 66</span>&#160; idx++;</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; }</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;}</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;<span class="preprocessor">#else</span></div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;<span class="preprocessor">#if (defined(__GNUC__) || defined(__GCCXML__)) &amp;&amp; !defined(__WIN32__)</span></div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#include &lt;netdb.h&gt;</span></div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;<span class="preprocessor"></span><span class="keywordtype">void</span> GetMyIP_Windows_Linux_IPV4( SystemAddress addresses[MAXIMUM_NUMBER_OF_INTERNAL_IDS] )</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;</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <span class="keywordtype">int</span> idx=0;</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; <span class="keywordtype">char</span> ac[ 80 ];</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; <span class="keywordtype">int</span> err = gethostname( ac, <span class="keyword">sizeof</span>( ac ) );</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; (void) err;</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <a class="code" href="../../d8/db0/defines_8h.xhtml#afaa3647d29f5960651eb23fd3d2b5368">RakAssert</a>(err != -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; <span class="keyword">struct </span>addrinfo *curAddress = NULL;</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; err = getaddrinfo(ac, NULL, NULL, &amp;curAddress);</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160;</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; <span class="keywordflow">if</span> ( err != 0 || curAddress == 0 )</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; <a class="code" href="../../d8/db0/defines_8h.xhtml#afaa3647d29f5960651eb23fd3d2b5368">RakAssert</a>(<span class="keyword">false</span>);</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <a class="code" href="../../dc/d0b/_thread_pool_8h.xhtml#a9717e7bbecb906637e86cef6da3d83c2">return</a> ;</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> (curAddress != NULL &amp;&amp; idx &lt; MAXIMUM_NUMBER_OF_INTERNAL_IDS)</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="keywordflow">if</span> (curAddress-&gt;ai_family == AF_INET) {</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; addresses[idx].address.addr4 = *((<span class="keyword">struct </span>sockaddr_in *)curAddress-&gt;ai_addr);</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; ++idx;</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; curAddress = curAddress-&gt;ai_next;</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; </div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; <span class="keywordflow">while</span> (idx &lt; MAXIMUM_NUMBER_OF_INTERNAL_IDS)</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; addresses[idx]=<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="l00106"></a><span class="lineno"> 106</span>&#160; idx++;</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;</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160;}</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;</div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;<span class="preprocessor">#endif // RAKNET_SUPPORT_IPV6==1</span></div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;</div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;<span class="keywordtype">void</span> GetMyIP_Windows_Linux( SystemAddress addresses[MAXIMUM_NUMBER_OF_INTERNAL_IDS] )</div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;{</div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;<span class="preprocessor"> #if RAKNET_SUPPORT_IPV6==1</span></div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;<span class="preprocessor"></span> GetMyIP_Windows_Linux_IPV4And6(addresses);</div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;<span class="preprocessor"> #else</span></div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;<span class="preprocessor"></span> GetMyIP_Windows_Linux_IPV4(addresses);</div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;<span class="preprocessor"> #endif</span></div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;<span class="preprocessor"></span>}</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;</div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;<span class="preprocessor">#endif // Windows and Linux</span></div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;<span class="preprocessor">#endif // file header</span></div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160;<span class="preprocessor">#endif // #ifdef RAKNET_SOCKET_2_INLINE_FUNCTIONS</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="../../dd/db4/_rak_net_socket2___windows___linux_8cpp.xhtml">RakNetSocket2_Windows_Linux.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,10 @@
var struct_data_structures_1_1_table_1_1_filter_query =
[
[ "FilterQuery", "dd/db4/struct_data_structures_1_1_table_1_1_filter_query.xhtml#ad4bde63ddc81d707b15ae8713efb61b9", null ],
[ "~FilterQuery", "dd/db4/struct_data_structures_1_1_table_1_1_filter_query.xhtml#a0d15b2692e0a2d2f2b3276ae744d61a1", null ],
[ "FilterQuery", "dd/db4/struct_data_structures_1_1_table_1_1_filter_query.xhtml#af40e32d9edf60b8467f0b62c6eeb4a48", null ],
[ "cellValue", "dd/db4/struct_data_structures_1_1_table_1_1_filter_query.xhtml#ab9f39f1bb6ee7863a2f3d419bc24ca85", null ],
[ "columnIndex", "dd/db4/struct_data_structures_1_1_table_1_1_filter_query.xhtml#a751a903835cd6d13d817e624b42a2bfd", null ],
[ "columnName", "dd/db4/struct_data_structures_1_1_table_1_1_filter_query.xhtml#acb1fc87ccc2e5beb7f0702bd216c845d", null ],
[ "operation", "dd/db4/struct_data_structures_1_1_table_1_1_filter_query.xhtml#acef81569cbccb0b56d21418360632551", null ]
];

View File

@ -0,0 +1,291 @@
<!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::Table::FilterQuery 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('dd/db4/struct_data_structures_1_1_table_1_1_filter_query.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="../../dd/d89/struct_data_structures_1_1_table_1_1_filter_query-members.xhtml">List of all members</a> </div>
<div class="headertitle">
<div class="title">DataStructures::Table::FilterQuery Struct Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><code>#include &lt;<a class="el" href="../../d3/d5d/_d_s___table_8h_source.xhtml">slikenet/DS_Table.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:ad4bde63ddc81d707b15ae8713efb61b9"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/db4/struct_data_structures_1_1_table_1_1_filter_query.xhtml#ad4bde63ddc81d707b15ae8713efb61b9">FilterQuery</a> ()</td></tr>
<tr class="separator:ad4bde63ddc81d707b15ae8713efb61b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0d15b2692e0a2d2f2b3276ae744d61a1"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/db4/struct_data_structures_1_1_table_1_1_filter_query.xhtml#a0d15b2692e0a2d2f2b3276ae744d61a1">~FilterQuery</a> ()</td></tr>
<tr class="separator:a0d15b2692e0a2d2f2b3276ae744d61a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af40e32d9edf60b8467f0b62c6eeb4a48"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/db4/struct_data_structures_1_1_table_1_1_filter_query.xhtml#af40e32d9edf60b8467f0b62c6eeb4a48">FilterQuery</a> (unsigned column, <a class="el" href="../../dc/d80/struct_data_structures_1_1_table_1_1_cell.xhtml">Cell</a> *cell, <a class="el" href="../../d4/de5/class_data_structures_1_1_table.xhtml#a64a115f6653bf7b0b7fddfcbc769ef74">FilterQueryType</a> op)</td></tr>
<tr class="separator:af40e32d9edf60b8467f0b62c6eeb4a48"><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:acb1fc87ccc2e5beb7f0702bd216c845d"><td class="memItemLeft" align="right" valign="top">char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/db4/struct_data_structures_1_1_table_1_1_filter_query.xhtml#acb1fc87ccc2e5beb7f0702bd216c845d">columnName</a> [<a class="el" href="../../d3/d5d/_d_s___table_8h.xhtml#a191b70b2ee9ef9fcf914d90674d8bdb3">_TABLE_MAX_COLUMN_NAME_LENGTH</a>]</td></tr>
<tr class="separator:acb1fc87ccc2e5beb7f0702bd216c845d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a751a903835cd6d13d817e624b42a2bfd"><td class="memItemLeft" align="right" valign="top">unsigned&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/db4/struct_data_structures_1_1_table_1_1_filter_query.xhtml#a751a903835cd6d13d817e624b42a2bfd">columnIndex</a></td></tr>
<tr class="separator:a751a903835cd6d13d817e624b42a2bfd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab9f39f1bb6ee7863a2f3d419bc24ca85"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../dc/d80/struct_data_structures_1_1_table_1_1_cell.xhtml">Cell</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/db4/struct_data_structures_1_1_table_1_1_filter_query.xhtml#ab9f39f1bb6ee7863a2f3d419bc24ca85">cellValue</a></td></tr>
<tr class="separator:ab9f39f1bb6ee7863a2f3d419bc24ca85"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acef81569cbccb0b56d21418360632551"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d4/de5/class_data_structures_1_1_table.xhtml#a64a115f6653bf7b0b7fddfcbc769ef74">FilterQueryType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/db4/struct_data_structures_1_1_table_1_1_filter_query.xhtml#acef81569cbccb0b56d21418360632551">operation</a></td></tr>
<tr class="separator:acef81569cbccb0b56d21418360632551"><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="../../d3/d5d/_d_s___table_8h_source.xhtml#l00156">156</a> of file <a class="el" href="../../d3/d5d/_d_s___table_8h_source.xhtml">DS_Table.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="ad4bde63ddc81d707b15ae8713efb61b9"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">Table::FilterQuery::FilterQuery </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="../../d0/d0c/_d_s___table_8cpp_source.xhtml#l00574">574</a> of file <a class="el" href="../../d0/d0c/_d_s___table_8cpp_source.xhtml">DS_Table.cpp</a>.</p>
</div>
</div>
<a class="anchor" id="a0d15b2692e0a2d2f2b3276ae744d61a1"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">Table::FilterQuery::~FilterQuery </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="../../d0/d0c/_d_s___table_8cpp_source.xhtml#l00578">578</a> of file <a class="el" href="../../d0/d0c/_d_s___table_8cpp_source.xhtml">DS_Table.cpp</a>.</p>
</div>
</div>
<a class="anchor" id="af40e32d9edf60b8467f0b62c6eeb4a48"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">Table::FilterQuery::FilterQuery </td>
<td>(</td>
<td class="paramtype">unsigned&#160;</td>
<td class="paramname"><em>column</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../dc/d80/struct_data_structures_1_1_table_1_1_cell.xhtml">Cell</a> *&#160;</td>
<td class="paramname"><em>cell</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../d4/de5/class_data_structures_1_1_table.xhtml#a64a115f6653bf7b0b7fddfcbc769ef74">FilterQueryType</a>&#160;</td>
<td class="paramname"><em>op</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="../../d0/d0c/_d_s___table_8cpp_source.xhtml#l00582">582</a> of file <a class="el" href="../../d0/d0c/_d_s___table_8cpp_source.xhtml">DS_Table.cpp</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a class="anchor" id="ab9f39f1bb6ee7863a2f3d419bc24ca85"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../dc/d80/struct_data_structures_1_1_table_1_1_cell.xhtml">Cell</a>* DataStructures::Table::FilterQuery::cellValue</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d3/d5d/_d_s___table_8h_source.xhtml#l00165">165</a> of file <a class="el" href="../../d3/d5d/_d_s___table_8h_source.xhtml">DS_Table.h</a>.</p>
<p>Referenced by <a class="el" href="../../da/df7/_table_serializer_8cpp_source.xhtml#l00253">SLNet::TableSerializer::DeserializeFilterQuery()</a>, <a class="el" href="../../da/df7/_table_serializer_8cpp_source.xhtml#l00291">SLNet::TableSerializer::DeserializeFilterQueryList()</a>, <a class="el" href="../../d0/d0c/_d_s___table_8cpp_source.xhtml#l00688">DataStructures::Table::QueryRow()</a>, and <a class="el" href="../../da/df7/_table_serializer_8cpp_source.xhtml#l00239">SLNet::TableSerializer::SerializeFilterQuery()</a>.</p>
</div>
</div>
<a class="anchor" id="a751a903835cd6d13d817e624b42a2bfd"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">unsigned DataStructures::Table::FilterQuery::columnIndex</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d3/d5d/_d_s___table_8h_source.xhtml#l00164">164</a> of file <a class="el" href="../../d3/d5d/_d_s___table_8h_source.xhtml">DS_Table.h</a>.</p>
<p>Referenced by <a class="el" href="../../da/df7/_table_serializer_8cpp_source.xhtml#l00253">SLNet::TableSerializer::DeserializeFilterQuery()</a>, <a class="el" href="../../d0/d0c/_d_s___table_8cpp_source.xhtml#l00616">DataStructures::Table::QueryTable()</a>, and <a class="el" href="../../da/df7/_table_serializer_8cpp_source.xhtml#l00239">SLNet::TableSerializer::SerializeFilterQuery()</a>.</p>
</div>
</div>
<a class="anchor" id="acb1fc87ccc2e5beb7f0702bd216c845d"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">char DataStructures::Table::FilterQuery::columnName[<a class="el" href="../../d3/d5d/_d_s___table_8h.xhtml#a191b70b2ee9ef9fcf914d90674d8bdb3">_TABLE_MAX_COLUMN_NAME_LENGTH</a>]</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d3/d5d/_d_s___table_8h_source.xhtml#l00163">163</a> of file <a class="el" href="../../d3/d5d/_d_s___table_8h_source.xhtml">DS_Table.h</a>.</p>
<p>Referenced by <a class="el" href="../../da/df7/_table_serializer_8cpp_source.xhtml#l00253">SLNet::TableSerializer::DeserializeFilterQuery()</a>, and <a class="el" href="../../da/df7/_table_serializer_8cpp_source.xhtml#l00239">SLNet::TableSerializer::SerializeFilterQuery()</a>.</p>
</div>
</div>
<a class="anchor" id="acef81569cbccb0b56d21418360632551"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../d4/de5/class_data_structures_1_1_table.xhtml#a64a115f6653bf7b0b7fddfcbc769ef74">FilterQueryType</a> DataStructures::Table::FilterQuery::operation</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d3/d5d/_d_s___table_8h_source.xhtml#l00166">166</a> of file <a class="el" href="../../d3/d5d/_d_s___table_8h_source.xhtml">DS_Table.h</a>.</p>
<p>Referenced by <a class="el" href="../../da/df7/_table_serializer_8cpp_source.xhtml#l00253">SLNet::TableSerializer::DeserializeFilterQuery()</a>, and <a class="el" href="../../da/df7/_table_serializer_8cpp_source.xhtml#l00239">SLNet::TableSerializer::SerializeFilterQuery()</a>.</p>
</div>
</div>
<hr/>The documentation for this struct was generated from the following files:<ul>
<li>Source/include/slikenet/<a class="el" href="../../d3/d5d/_d_s___table_8h_source.xhtml">DS_Table.h</a></li>
<li>Source/src/<a class="el" href="../../d0/d0c/_d_s___table_8cpp_source.xhtml">DS_Table.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/de5/class_data_structures_1_1_table.xhtml">Table</a></li><li class="navelem"><a class="el" href="../../dd/db4/struct_data_structures_1_1_table_1_1_filter_query.xhtml">FilterQuery</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,16 @@
var _reliability_layer_8h =
[
[ "SplitPacketChannel", "dd/d30/namespace_s_l_net.xhtml#d6/d4d/struct_s_l_net_1_1_split_packet_channel", [
[ "firstPacket", "dd/d30/namespace_s_l_net.xhtml#a8a1a70c02601a2bc0fcfd7b0e3f87b9d", null ],
[ "lastUpdateTime", "dd/d30/namespace_s_l_net.xhtml#a54422dfb9a7d89cae4f1efe0b99f11a4", null ],
[ "splitPacketList", "dd/d30/namespace_s_l_net.xhtml#a4103677c8e4a800964837b6449f27e2b", null ]
] ],
[ "BPSTracker", "d2/d87/struct_s_l_net_1_1_b_p_s_tracker.xhtml", "d2/d87/struct_s_l_net_1_1_b_p_s_tracker" ],
[ "TimeAndValue2", "d7/dae/struct_s_l_net_1_1_b_p_s_tracker_1_1_time_and_value2.xhtml", "d7/dae/struct_s_l_net_1_1_b_p_s_tracker_1_1_time_and_value2" ],
[ "ReliabilityLayer", "d2/d55/class_s_l_net_1_1_reliability_layer.xhtml", "d2/d55/class_s_l_net_1_1_reliability_layer" ],
[ "INCLUDE_TIMESTAMP_WITH_DATAGRAMS", "dd/dba/_reliability_layer_8h.xhtml#a375e5538c7d037081d3feaefbdd29beb", null ],
[ "NUMBER_OF_ORDERED_STREAMS", "dd/dba/_reliability_layer_8h.xhtml#aaabd5ed6e95299bf0ae89b0a972f5071", null ],
[ "RESEND_TREE_ORDER", "dd/dba/_reliability_layer_8h.xhtml#a0918045d75b352c20e46d7298ceb5dbf", null ],
[ "reliabilityHeapWeightType", "dd/dba/_reliability_layer_8h.xhtml#ab27f4cdc690fb1fc6d083601b79d5e99", null ],
[ "SplitPacketChannelComp", "dd/dba/_reliability_layer_8h.xhtml#a1c22290a0596cb8af3287a15de728f10", null ]
];

View File

@ -0,0 +1,281 @@
<!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/ReliabilityLayer.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('dd/dba/_reliability_layer_8h.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#namespaces">Namespaces</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">ReliabilityLayer.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><b></b>[Internal] Datagram reliable, ordered, unordered and sequenced sends. Flow control. Message splitting, reassembly, and coalescence.
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="../../dd/dc5/memoryoverride_8h_source.xhtml">memoryoverride.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../d2/d24/_m_t_u_size_8h_source.xhtml">MTUSize.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../d1/dc2/_d_s___linked_list_8h_source.xhtml">DS_LinkedList.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../d9/d7f/_d_s___list_8h_source.xhtml">DS_List.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../d8/da4/_socket_layer_8h_source.xhtml">SocketLayer.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="../../dc/d8d/_d_s___queue_8h_source.xhtml">DS_Queue.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../d7/dc3/_bit_stream_8h_source.xhtml">BitStream.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../d5/dc3/_internal_packet_8h_source.xhtml">InternalPacket.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../d7/dc5/statistics_8h_source.xhtml">statistics.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../db/d31/_d_r___s_h_a1_8h_source.xhtml">DR_SHA1.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="../../d3/d41/_d_s___range_list_8h_source.xhtml">DS_RangeList.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../d3/d3d/_d_s___b_plus_tree_8h_source.xhtml">DS_BPlusTree.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="../../d8/db0/defines_8h_source.xhtml">defines.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../da/dcb/_d_s___heap_8h_source.xhtml">DS_Heap.h</a>&quot;</code><br/>
<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="../../d8/df8/_secure_handshake_8h_source.xhtml">SecureHandshake.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/d10/_rand_8h_source.xhtml">Rand.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../df/ded/socket2_8h_source.xhtml">socket2.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../d0/dfb/_c_c_rak_net_sliding_window_8h_source.xhtml">CCRakNetSlidingWindow.h</a>&quot;</code><br/>
</div>
<p><a href="../../dd/dba/_reliability_layer_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:d6/d4d/struct_s_l_net_1_1_split_packet_channel"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#d6/d4d/struct_s_l_net_1_1_split_packet_channel">SLNet::SplitPacketChannel</a></td></tr>
<tr class="separator:d6/d4d/struct_s_l_net_1_1_split_packet_channel"><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/d87/struct_s_l_net_1_1_b_p_s_tracker.xhtml">SLNet::BPSTracker</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="../../d7/dae/struct_s_l_net_1_1_b_p_s_tracker_1_1_time_and_value2.xhtml">SLNet::BPSTracker::TimeAndValue2</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d55/class_s_l_net_1_1_reliability_layer.xhtml">SLNet::ReliabilityLayer</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Datagram reliable, ordered, unordered and sequenced sends. Flow control. Message splitting, reassembly, and coalescence. <a href="../../d2/d55/class_s_l_net_1_1_reliability_layer.xhtml#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:dd/d30/namespace_s_l_net"><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d30/namespace_s_l_net.xhtml">SLNet</a></td></tr>
<tr class="memdesc:dd/d30/namespace_s_l_net"><td class="mdescLeft">&#160;</td><td class="mdescRight">Simple class to send changes between directories. In essence, a simple autopatcher that can be used for transmitting levels, skins, etc. <br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:a375e5538c7d037081d3feaefbdd29beb"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/dba/_reliability_layer_8h.xhtml#a375e5538c7d037081d3feaefbdd29beb">INCLUDE_TIMESTAMP_WITH_DATAGRAMS</a>&#160;&#160;&#160;0</td></tr>
<tr class="separator:a375e5538c7d037081d3feaefbdd29beb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaabd5ed6e95299bf0ae89b0a972f5071"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/dba/_reliability_layer_8h.xhtml#aaabd5ed6e95299bf0ae89b0a972f5071">NUMBER_OF_ORDERED_STREAMS</a>&#160;&#160;&#160;32</td></tr>
<tr class="memdesc:aaabd5ed6e95299bf0ae89b0a972f5071"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of ordered streams available. You can use up to 32 ordered streams. <a href="#aaabd5ed6e95299bf0ae89b0a972f5071"></a><br/></td></tr>
<tr class="separator:aaabd5ed6e95299bf0ae89b0a972f5071"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0918045d75b352c20e46d7298ceb5dbf"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/dba/_reliability_layer_8h.xhtml#a0918045d75b352c20e46d7298ceb5dbf">RESEND_TREE_ORDER</a>&#160;&#160;&#160;32</td></tr>
<tr class="separator:a0918045d75b352c20e46d7298ceb5dbf"><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:ab27f4cdc690fb1fc6d083601b79d5e99"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="../../df/df2/_native_types_8h.xhtml#ad27ed092432b64ff558d2254c278720f">uint64_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#ab27f4cdc690fb1fc6d083601b79d5e99">SLNet::reliabilityHeapWeightType</a></td></tr>
<tr class="separator:ab27f4cdc690fb1fc6d083601b79d5e99"><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:a1c22290a0596cb8af3287a15de728f10"><td class="memItemLeft" align="right" valign="top">int <a class="el" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#a1c22290a0596cb8af3287a15de728f10">SLNet::SplitPacketChannelComp</a> (<a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#ada9d06cc4d3df50fbf844c6725cd7230">SplitPacketIdType</a> const &amp;key, <a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#d6/d4d/struct_s_l_net_1_1_split_packet_channel">SplitPacketChannel</a> *const &amp;data)</td></tr>
<tr class="separator:a1c22290a0596cb8af3287a15de728f10"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p><b></b>[Internal] Datagram reliable, ordered, unordered and sequenced sends. Flow control. Message splitting, reassembly, and coalescence. </p>
<p>Definition in file <a class="el" href="../../dd/dba/_reliability_layer_8h_source.xhtml">ReliabilityLayer.h</a>.</p>
</div><hr/><h2 class="groupheader">Class Documentation</h2>
<a name="d6/d4d/struct_s_l_net_1_1_split_packet_channel" id="d6/d4d/struct_s_l_net_1_1_split_packet_channel"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct SLNet::SplitPacketChannel</td>
</tr>
</table>
</div><div class="memdoc">
<div class="textblock">
<p>Definition at line <a class="el" href="../../dd/dba/_reliability_layer_8h_source.xhtml#l00069">69</a> of file <a class="el" href="../../dd/dba/_reliability_layer_8h_source.xhtml">ReliabilityLayer.h</a>.</p>
</div><table class="fieldtable">
<tr><th colspan="3">Class Members</th></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a8a1a70c02601a2bc0fcfd7b0e3f87b9d"></a><a class="el" href="../../d9/d9a/struct_s_l_net_1_1_internal_packet.xhtml">InternalPacket</a> *</td>
<td class="fieldname">
firstPacket</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a54422dfb9a7d89cae4f1efe0b99f11a4"></a><a class="el" href="../../d0/dfb/_c_c_rak_net_sliding_window_8h.xhtml#af68854e24d09ea8058bf8b27ce0f24e6">CCTimeType</a></td>
<td class="fieldname">
lastUpdateTime</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a4103677c8e4a800964837b6449f27e2b"></a>List&lt; <a class="el" href="../../d9/d9a/struct_s_l_net_1_1_internal_packet.xhtml">InternalPacket</a> * &gt;</td>
<td class="fieldname">
splitPacketList</td>
<td class="fielddoc">
</td></tr>
</table>
</div>
</div>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a class="anchor" id="a375e5538c7d037081d3feaefbdd29beb"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define INCLUDE_TIMESTAMP_WITH_DATAGRAMS&#160;&#160;&#160;0</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../dd/dba/_reliability_layer_8h_source.xhtml#l00053">53</a> of file <a class="el" href="../../dd/dba/_reliability_layer_8h_source.xhtml">ReliabilityLayer.h</a>.</p>
</div>
</div>
<a class="anchor" id="aaabd5ed6e95299bf0ae89b0a972f5071"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define NUMBER_OF_ORDERED_STREAMS&#160;&#160;&#160;32</td>
</tr>
</table>
</div><div class="memdoc">
<p>Number of ordered streams available. You can use up to 32 ordered streams. </p>
<p>Definition at line <a class="el" href="../../dd/dba/_reliability_layer_8h_source.xhtml#l00057">57</a> of file <a class="el" href="../../dd/dba/_reliability_layer_8h_source.xhtml">ReliabilityLayer.h</a>.</p>
<p>Referenced by <a class="el" href="../../d5/d55/_rak_peer_8cpp_source.xhtml#l01308">SLNet::RakPeer::Send()</a>, <a class="el" href="../../d5/d55/_rak_peer_8cpp_source.xhtml#l04173">SLNet::RakPeer::SendBuffered()</a>, and <a class="el" href="../../d5/d55/_rak_peer_8cpp_source.xhtml#l04209">SLNet::RakPeer::SendBufferedList()</a>.</p>
</div>
</div>
<a class="anchor" id="a0918045d75b352c20e46d7298ceb5dbf"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define RESEND_TREE_ORDER&#160;&#160;&#160;32</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../dd/dba/_reliability_layer_8h_source.xhtml#l00059">59</a> of file <a class="el" href="../../dd/dba/_reliability_layer_8h_source.xhtml">ReliabilityLayer.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="../../dd/dba/_reliability_layer_8h.xhtml">ReliabilityLayer.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,629 @@
<!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/ReliabilityLayer.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('dd/dba/_reliability_layer_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">ReliabilityLayer.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="../../dd/dba/_reliability_layer_8h.xhtml">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> * Original work: Copyright (c) 2014, Oculus VR, Inc.</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> * All rights reserved.</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> * This source code is licensed under the BSD-style license found in the</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> * RakNet License.txt file in the licenses directory of this source tree. An additional grant </span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> * of patent rights can be found in the RakNet Patents.txt file in the same directory.</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment"> * Modified work: Copyright (c) 2016-2017, SLikeSoft UG (haftungsbeschränkt)</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> * This source code was modified by SLikeSoft. Modifications are licensed under the MIT-style</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> * license found in the license.txt file in the root directory of this source tree.</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;</div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;</div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;</div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="preprocessor">#ifndef __RELIABILITY_LAYER_H</span></div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define __RELIABILITY_LAYER_H</span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../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="l00025"></a><span class="lineno"> 25</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../d2/d24/_m_t_u_size_8h.xhtml" title="[Internal] Defines the default maximum transfer unit.">MTUSize.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="../../d1/dc2/_d_s___linked_list_8h.xhtml">DS_LinkedList.h</a>&quot;</span></div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../d9/d7f/_d_s___list_8h.xhtml">DS_List.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="../../d8/da4/_socket_layer_8h.xhtml" title="SocketLayer class implementation.">SocketLayer.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="../../dc/d8d/_d_s___queue_8h.xhtml">DS_Queue.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="../../d7/dc3/_bit_stream_8h.xhtml" title="This class allows you to write and read native types as a string of bits.">BitStream.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="../../d5/dc3/_internal_packet_8h.xhtml" title="[Internal] A class which stores a user message, and all information associated with sending and recei...">InternalPacket.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="../../d7/dc5/statistics_8h.xhtml" title="A structure that holds all statistical data returned by RakNet.">statistics.h</a>&quot;</span></div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../db/d31/_d_r___s_h_a1_8h.xhtml">DR_SHA1.h</a>&quot;</span></div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</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="l00036"></a><span class="lineno"> 36</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../d3/d41/_d_s___range_list_8h.xhtml">DS_RangeList.h</a>&quot;</span></div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../d3/d3d/_d_s___b_plus_tree_8h.xhtml">DS_BPlusTree.h</a>&quot;</span></div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</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="l00039"></a><span class="lineno"> 39</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../d8/db0/defines_8h.xhtml">defines.h</a>&quot;</span></div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../da/dcb/_d_s___heap_8h.xhtml">DS_Heap.h</a>&quot;</span></div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</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.">BitStream.h</a>&quot;</span></div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</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="l00043"></a><span class="lineno"> 43</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../d8/df8/_secure_handshake_8h.xhtml">SecureHandshake.h</a>&quot;</span></div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</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="l00045"></a><span class="lineno"> 45</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../d7/d10/_rand_8h.xhtml" title="[Internal] Random number generator">Rand.h</a>&quot;</span></div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../df/ded/socket2_8h.xhtml">socket2.h</a>&quot;</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">#if USE_SLIDING_WINDOW_CONGESTION_CONTROL!=1</span></div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#include &quot;<a class="code" href="../../db/d0d/_c_c_rak_net_u_d_t_8h.xhtml">CCRakNetUDT.h</a>&quot;</span></div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;<span class="preprocessor">#define INCLUDE_TIMESTAMP_WITH_DATAGRAMS 1</span></div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#else</span></div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#include &quot;<a class="code" href="../../d0/dfb/_c_c_rak_net_sliding_window_8h.xhtml">CCRakNetSlidingWindow.h</a>&quot;</span></div>
<div class="line"><a name="l00053"></a><span class="lineno"><a class="code" href="../../dd/dba/_reliability_layer_8h.xhtml#a375e5538c7d037081d3feaefbdd29beb"> 53</a></span>&#160;<span class="preprocessor">#define INCLUDE_TIMESTAMP_WITH_DATAGRAMS 0</span></div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00057"></a><span class="lineno"><a class="code" href="../../dd/dba/_reliability_layer_8h.xhtml#aaabd5ed6e95299bf0ae89b0a972f5071"> 57</a></span>&#160;<span class="preprocessor">#define NUMBER_OF_ORDERED_STREAMS 32 // 2^5</span></div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00059"></a><span class="lineno"><a class="code" href="../../dd/dba/_reliability_layer_8h.xhtml#a0918045d75b352c20e46d7298ceb5dbf"> 59</a></span>&#160;<span class="preprocessor">#define RESEND_TREE_ORDER 32</span></div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;<span class="keyword">namespace </span>SLNet {</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;<span class="keyword">class </span>PluginInterface2;</div>
<div class="line"><a name="l00065"></a><span class="lineno"><a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ab27f4cdc690fb1fc6d083601b79d5e99"> 65</a></span>&#160;<span class="keyword">class </span><a class="code" href="../../df/dd4/class_s_l_net_1_1_rak_net_random.xhtml">RakNetRandom</a>;</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;<span class="keyword">typedef</span> <a class="code" href="../../df/df2/_native_types_8h.xhtml#ad27ed092432b64ff558d2254c278720f">uint64_t</a> <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ab27f4cdc690fb1fc6d083601b79d5e99">reliabilityHeapWeightType</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"> 68</span>&#160;<span class="comment">// int SplitPacketIndexComp( SplitPacketIndexType const &amp;key, InternalPacket* const &amp;data );</span></div>
<div class="line"><a name="l00069"></a><span class="lineno"><a class="code" href="../../dd/d30/namespace_s_l_net.xhtml"> 69</a></span>&#160;<span class="keyword">struct </span><a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#d6/d4d/struct_s_l_net_1_1_split_packet_channel">SplitPacketChannel</a><span class="comment">//&lt;SplitPacketChannel&gt;</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"><a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a54422dfb9a7d89cae4f1efe0b99f11a4"> 71</a></span>&#160; <a class="code" href="../../d0/dfb/_c_c_rak_net_sliding_window_8h.xhtml#af68854e24d09ea8058bf8b27ce0f24e6">CCTimeType</a> <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a54422dfb9a7d89cae4f1efe0b99f11a4">lastUpdateTime</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="../../dd/d30/namespace_s_l_net.xhtml#a4103677c8e4a800964837b6449f27e2b"> 73</a></span>&#160; <a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml">DataStructures::List&lt;InternalPacket*&gt;</a> <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a4103677c8e4a800964837b6449f27e2b">splitPacketList</a>;</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;<span class="preprocessor">#if PREALLOCATE_LARGE_MESSAGES==1</span></div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160;<span class="preprocessor"></span> <a class="code" href="../../d9/d9a/struct_s_l_net_1_1_internal_packet.xhtml">InternalPacket</a> *returnedPacket;</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <span class="keywordtype">bool</span> gotFirstPacket;</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> stride;</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> splitPacketsArrived;</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;<span class="preprocessor">#else</span></div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160;<span class="preprocessor"></span> <span class="comment">// This is here for progress notifications, since progress notifications return the first packet data, if available</span></div>
<div class="line"><a name="l00082"></a><span class="lineno"><a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a8a1a70c02601a2bc0fcfd7b0e3f87b9d"> 82</a></span>&#160; <a class="code" href="../../d9/d9a/struct_s_l_net_1_1_internal_packet.xhtml">InternalPacket</a> *<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a8a1a70c02601a2bc0fcfd7b0e3f87b9d">firstPacket</a>;</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160;};</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160;<span class="keywordtype">int</span> <a class="code" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a1c22290a0596cb8af3287a15de728f10">SplitPacketChannelComp</a>( <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ada9d06cc4d3df50fbf844c6725cd7230">SplitPacketIdType</a> <span class="keyword">const</span> &amp;key, <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#d6/d4d/struct_s_l_net_1_1_split_packet_channel">SplitPacketChannel</a>* <span class="keyword">const</span> &amp;data );</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="comment">// Helper class</span></div>
<div class="line"><a name="l00089"></a><span class="lineno"><a class="code" href="../../d2/d87/struct_s_l_net_1_1_b_p_s_tracker.xhtml"> 89</a></span>&#160;<span class="keyword">struct </span><a class="code" href="../../d2/d87/struct_s_l_net_1_1_b_p_s_tracker.xhtml">BPSTracker</a></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; <a class="code" href="../../d2/d87/struct_s_l_net_1_1_b_p_s_tracker.xhtml#a577f62adbe5e6507d3172a7964c1e5e7">BPSTracker</a>();</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <a class="code" href="../../d2/d87/struct_s_l_net_1_1_b_p_s_tracker.xhtml#a2f39dabcf78d40daddc6bb2b8912ae63">~BPSTracker</a>();</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <span class="keywordtype">void</span> <a class="code" href="../../d2/d87/struct_s_l_net_1_1_b_p_s_tracker.xhtml#a893c6162e238bc5d52a5aedf2904674e">Reset</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="l00094"></a><span class="lineno"><a class="code" href="../../d2/d87/struct_s_l_net_1_1_b_p_s_tracker.xhtml#a096d41a893d9115781eac7620e975ee6"> 94</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="../../d2/d87/struct_s_l_net_1_1_b_p_s_tracker.xhtml#a096d41a893d9115781eac7620e975ee6">Push1</a>(<a class="code" href="../../d0/dfb/_c_c_rak_net_sliding_window_8h.xhtml#af68854e24d09ea8058bf8b27ce0f24e6">CCTimeType</a> time, <a class="code" href="../../df/df2/_native_types_8h.xhtml#ad27ed092432b64ff558d2254c278720f">uint64_t</a> value1) {<a class="code" href="../../d2/d87/struct_s_l_net_1_1_b_p_s_tracker.xhtml#a1b7e6a8a2703820c660247ed1b812ad7">dataQueue</a>.<a class="code" href="../../d3/d87/class_data_structures_1_1_queue.xhtml#ae564a88f3367a786777694e778a4500d">Push</a>(<a class="code" href="../../d7/dae/struct_s_l_net_1_1_b_p_s_tracker_1_1_time_and_value2.xhtml">TimeAndValue2</a>(time,value1),<a class="code" href="../../d8/db0/defines_8h.xhtml#a8661ec2137eef33a8cd0cd618a748871">_FILE_AND_LINE_</a>); <a class="code" href="../../d2/d87/struct_s_l_net_1_1_b_p_s_tracker.xhtml#a75dcc5c5d092c3e4c03daac9e54a5014">total1</a>+=value1; <a class="code" href="../../d2/d87/struct_s_l_net_1_1_b_p_s_tracker.xhtml#a2bd272c1064abc677babb86962d0baa7">lastSec1</a>+=value1;}</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160;<span class="comment">// void Push2(SLNet::TimeUS time, uint64_t value1, uint64_t value2);</span></div>
<div class="line"><a name="l00096"></a><span class="lineno"><a class="code" href="../../d2/d87/struct_s_l_net_1_1_b_p_s_tracker.xhtml#ab6d9bba4375eca2113f8d3c18152dc5c"> 96</a></span>&#160; <span class="keyword">inline</span> <a class="code" href="../../df/df2/_native_types_8h.xhtml#ad27ed092432b64ff558d2254c278720f">uint64_t</a> <a class="code" href="../../d2/d87/struct_s_l_net_1_1_b_p_s_tracker.xhtml#ab6d9bba4375eca2113f8d3c18152dc5c">GetBPS1</a>(<a class="code" href="../../d0/dfb/_c_c_rak_net_sliding_window_8h.xhtml#af68854e24d09ea8058bf8b27ce0f24e6">CCTimeType</a> time) {(void) time; <span class="keywordflow">return</span> <a class="code" href="../../d2/d87/struct_s_l_net_1_1_b_p_s_tracker.xhtml#a2bd272c1064abc677babb86962d0baa7">lastSec1</a>;}</div>
<div class="line"><a name="l00097"></a><span class="lineno"><a class="code" href="../../d2/d87/struct_s_l_net_1_1_b_p_s_tracker.xhtml#a05025e53075c38cf9a38aaa9f41ab17e"> 97</a></span>&#160; <span class="keyword">inline</span> <a class="code" href="../../df/df2/_native_types_8h.xhtml#ad27ed092432b64ff558d2254c278720f">uint64_t</a> <a class="code" href="../../d2/d87/struct_s_l_net_1_1_b_p_s_tracker.xhtml#a05025e53075c38cf9a38aaa9f41ab17e">GetBPS1Threadsafe</a>(<a class="code" href="../../d0/dfb/_c_c_rak_net_sliding_window_8h.xhtml#af68854e24d09ea8058bf8b27ce0f24e6">CCTimeType</a> time) {(void) time; <span class="keywordflow">return</span> <a class="code" href="../../d2/d87/struct_s_l_net_1_1_b_p_s_tracker.xhtml#a2bd272c1064abc677babb86962d0baa7">lastSec1</a>;}</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160;<span class="comment">// uint64_t GetBPS2(RakNetTimeUS time);</span></div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160;<span class="comment">// void GetBPS1And2(RakNetTimeUS time, uint64_t &amp;out1, uint64_t &amp;out2);</span></div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <a class="code" href="../../df/df2/_native_types_8h.xhtml#ad27ed092432b64ff558d2254c278720f">uint64_t</a> <a class="code" href="../../d2/d87/struct_s_l_net_1_1_b_p_s_tracker.xhtml#af85602e246ad0b39e607b5de0780de89">GetTotal1</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;<span class="comment">// uint64_t GetTotal2(void) const;</span></div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160;</div>
<div class="line"><a name="l00103"></a><span class="lineno"><a class="code" href="../../d7/dae/struct_s_l_net_1_1_b_p_s_tracker_1_1_time_and_value2.xhtml"> 103</a></span>&#160; <span class="keyword">struct </span><a class="code" href="../../d7/dae/struct_s_l_net_1_1_b_p_s_tracker_1_1_time_and_value2.xhtml">TimeAndValue2</a></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; <a class="code" href="../../d7/dae/struct_s_l_net_1_1_b_p_s_tracker_1_1_time_and_value2.xhtml#a16c1b2d3351e8a6e96e6527c8946c8e2">TimeAndValue2</a>();</div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <a class="code" href="../../d7/dae/struct_s_l_net_1_1_b_p_s_tracker_1_1_time_and_value2.xhtml#af36c33fa797bdfa942eb7e2693aeeb6b">~TimeAndValue2</a>();</div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <a class="code" href="../../d7/dae/struct_s_l_net_1_1_b_p_s_tracker_1_1_time_and_value2.xhtml#a16c1b2d3351e8a6e96e6527c8946c8e2">TimeAndValue2</a>(<a class="code" href="../../d0/dfb/_c_c_rak_net_sliding_window_8h.xhtml#af68854e24d09ea8058bf8b27ce0f24e6">CCTimeType</a> t, <a class="code" href="../../df/df2/_native_types_8h.xhtml#ad27ed092432b64ff558d2254c278720f">uint64_t</a> v1);</div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <span class="comment">// TimeAndValue2(SLNet::TimeUS t, uint64_t v1, uint64_t v2);</span></div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <span class="comment">// uint64_t value1, value2;</span></div>
<div class="line"><a name="l00110"></a><span class="lineno"><a class="code" href="../../d7/dae/struct_s_l_net_1_1_b_p_s_tracker_1_1_time_and_value2.xhtml#a08ab99e9edea27cfeca5a5024007221b"> 110</a></span>&#160; <a class="code" href="../../df/df2/_native_types_8h.xhtml#ad27ed092432b64ff558d2254c278720f">uint64_t</a> <a class="code" href="../../d7/dae/struct_s_l_net_1_1_b_p_s_tracker_1_1_time_and_value2.xhtml#a08ab99e9edea27cfeca5a5024007221b">value1</a>;</div>
<div class="line"><a name="l00111"></a><span class="lineno"><a class="code" href="../../d7/dae/struct_s_l_net_1_1_b_p_s_tracker_1_1_time_and_value2.xhtml#ab81df7e775d590903069e2aaa957e58a"> 111</a></span>&#160; <a class="code" href="../../d0/dfb/_c_c_rak_net_sliding_window_8h.xhtml#af68854e24d09ea8058bf8b27ce0f24e6">CCTimeType</a> <a class="code" href="../../d7/dae/struct_s_l_net_1_1_b_p_s_tracker_1_1_time_and_value2.xhtml#ab81df7e775d590903069e2aaa957e58a">time</a>;</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;</div>
<div class="line"><a name="l00114"></a><span class="lineno"><a class="code" href="../../d2/d87/struct_s_l_net_1_1_b_p_s_tracker.xhtml#a75dcc5c5d092c3e4c03daac9e54a5014"> 114</a></span>&#160; <a class="code" href="../../df/df2/_native_types_8h.xhtml#ad27ed092432b64ff558d2254c278720f">uint64_t</a> <a class="code" href="../../d2/d87/struct_s_l_net_1_1_b_p_s_tracker.xhtml#a75dcc5c5d092c3e4c03daac9e54a5014">total1</a>, <a class="code" href="../../d2/d87/struct_s_l_net_1_1_b_p_s_tracker.xhtml#a2bd272c1064abc677babb86962d0baa7">lastSec1</a>;</div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;<span class="comment">// uint64_t total2, lastSec2;</span></div>
<div class="line"><a name="l00116"></a><span class="lineno"><a class="code" href="../../d2/d87/struct_s_l_net_1_1_b_p_s_tracker.xhtml#a1b7e6a8a2703820c660247ed1b812ad7"> 116</a></span>&#160; <a class="code" href="../../d3/d87/class_data_structures_1_1_queue.xhtml">DataStructures::Queue&lt;TimeAndValue2&gt;</a> <a class="code" href="../../d2/d87/struct_s_l_net_1_1_b_p_s_tracker.xhtml#a1b7e6a8a2703820c660247ed1b812ad7">dataQueue</a>;</div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; <span class="keywordtype">void</span> <a class="code" href="../../d2/d87/struct_s_l_net_1_1_b_p_s_tracker.xhtml#af02dc84975d6c85f163df7d616785c02">ClearExpired1</a>(<a class="code" href="../../d0/dfb/_c_c_rak_net_sliding_window_8h.xhtml#af68854e24d09ea8058bf8b27ce0f24e6">CCTimeType</a> time);</div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;<span class="comment">// void ClearExpired2(SLNet::TimeUS time);</span></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;</div>
<div class="line"><a name="l00122"></a><span class="lineno"><a class="code" href="../../d2/d55/class_s_l_net_1_1_reliability_layer.xhtml"> 122</a></span>&#160;<span class="keyword">class </span><a class="code" href="../../d2/d55/class_s_l_net_1_1_reliability_layer.xhtml" title="Datagram reliable, ordered, unordered and sequenced sends. Flow control. Message splitting, reassembly, and coalescence.">ReliabilityLayer</a><span class="comment">//&lt;ReliabilityLayer&gt;</span></div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;{</div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;<span class="keyword">public</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; <span class="comment">// Constructor</span></div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <a class="code" href="../../d2/d55/class_s_l_net_1_1_reliability_layer.xhtml#a89390d5e9ab186666fa10858cef08dda">ReliabilityLayer</a>();</div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160;</div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; <span class="comment">// Destructor</span></div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; <a class="code" href="../../d2/d55/class_s_l_net_1_1_reliability_layer.xhtml#a1678708f263777fd34b4e86d40f75a32">~ReliabilityLayer</a>();</div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160;</div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <span class="keywordtype">void</span> <a class="code" href="../../d2/d55/class_s_l_net_1_1_reliability_layer.xhtml#a82a18156ee862239ce046aa4fb5acc79" title="Resets the layer for reuse.">Reset</a>( <span class="keywordtype">bool</span> resetVariables, <span class="keywordtype">int</span> MTUSize, <span class="keywordtype">bool</span> _useSecurity );</div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;</div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; <span class="keywordtype">void</span> <a class="code" href="../../d2/d55/class_s_l_net_1_1_reliability_layer.xhtml#a48ebdf0f6521fca292535480c2f54906">SetTimeoutTime</a>(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a26b4eb1be8467562f791e3c5af4a67ae">SLNet::TimeMS</a> time );</div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;</div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a26b4eb1be8467562f791e3c5af4a67ae">SLNet::TimeMS</a> <a class="code" href="../../d2/d55/class_s_l_net_1_1_reliability_layer.xhtml#ad7ae8c962a75dee167d2ba844bf571e1">GetTimeoutTime</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;</div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="../../d2/d55/class_s_l_net_1_1_reliability_layer.xhtml#a1eae2ad1b87cabfb7e7367f0e40f1a30">HandleSocketReceiveFromConnectedPlayer</a>(</div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; <span class="keyword">const</span> <span class="keywordtype">char</span> *buffer, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> length, <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="../../d4/d78/class_data_structures_1_1_list.xhtml">DataStructures::List&lt;PluginInterface2*&gt;</a> &amp;messageHandlerList, <span class="keywordtype">int</span> MTUSize,</div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; <a class="code" href="../../d1/dde/class_s_l_net_1_1_rak_net_socket2.xhtml">RakNetSocket2</a> *s, <a class="code" href="../../df/dd4/class_s_l_net_1_1_rak_net_random.xhtml">RakNetRandom</a> *<a class="code" href="../../d5/d55/_rak_peer_8cpp.xhtml#ad813a0f3eb2b1e317d9307dde627778a">rnr</a>, <a class="code" href="../../d0/dfb/_c_c_rak_net_sliding_window_8h.xhtml#af68854e24d09ea8058bf8b27ce0f24e6">CCTimeType</a> timeRead, <a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">BitStream</a> &amp;updateBitStream);</div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;</div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a227d2a5f9683a34d9d1e70772fd556ec">BitSize_t</a> <a class="code" href="../../d2/d55/class_s_l_net_1_1_reliability_layer.xhtml#abcc7d50f16310d422dcdb3eaee55c7db">Receive</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>**data );</div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;</div>
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="../../d2/d55/class_s_l_net_1_1_reliability_layer.xhtml#a443507154f9a5f99353a32a45ccc9e9d">Send</a>( <span class="keywordtype">char</span> *data, <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a227d2a5f9683a34d9d1e70772fd556ec">BitSize_t</a> numberOfBitsToSend, <a class="code" href="../../d7/d03/_packet_priority_8h.xhtml#a659378374e516180f93640c79f59705c" title="These enumerations are used to describe when packets are delivered.">PacketPriority</a> priority, <a class="code" href="../../d7/d03/_packet_priority_8h.xhtml#ae41fa01235e99dced384d137fa874a7e">PacketReliability</a> reliability, <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> orderingChannel, <span class="keywordtype">bool</span> makeDataCopy, <span class="keywordtype">int</span> MTUSize, <a class="code" href="../../d0/dfb/_c_c_rak_net_sliding_window_8h.xhtml#af68854e24d09ea8058bf8b27ce0f24e6">CCTimeType</a> currentTime, <a class="code" href="../../df/df2/_native_types_8h.xhtml#a6eb1e68cc391dd753bc8ce896dbb8315">uint32_t</a> receipt );</div>
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160;</div>
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; <span class="keywordtype">void</span> <a class="code" href="../../d2/d55/class_s_l_net_1_1_reliability_layer.xhtml#a787ea286c82a0855ce28f82e7a8a904e">Update</a>( <a class="code" href="../../d1/dde/class_s_l_net_1_1_rak_net_socket2.xhtml">RakNetSocket2</a> *s, <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="keywordtype">int</span> MTUSize, <a class="code" href="../../d0/dfb/_c_c_rak_net_sliding_window_8h.xhtml#af68854e24d09ea8058bf8b27ce0f24e6">CCTimeType</a> time,</div>
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; <span class="keywordtype">unsigned</span> bitsPerSecondLimit,</div>
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; <a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml">DataStructures::List&lt;PluginInterface2*&gt;</a> &amp;messageHandlerList,</div>
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; <a class="code" href="../../df/dd4/class_s_l_net_1_1_rak_net_random.xhtml">RakNetRandom</a> *rnr, <a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">BitStream</a> &amp;updateBitStream);</div>
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; </div>
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="../../d2/d55/class_s_l_net_1_1_reliability_layer.xhtml#a3fea229521eaf34263e99efcad9fcb33">IsDeadConnection</a>( <span class="keywordtype">void</span> ) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160;</div>
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; <span class="keywordtype">void</span> <a class="code" href="../../d2/d55/class_s_l_net_1_1_reliability_layer.xhtml#add31029f764d997d13bb87314a9eaced" title="Causes IsDeadConnection to return true.">KillConnection</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160;</div>
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; <a class="code" href="../../df/df9/struct_s_l_net_1_1_rak_net_statistics.xhtml" title="Network Statisics Usage.">RakNetStatistics</a> * <a class="code" href="../../d2/d55/class_s_l_net_1_1_reliability_layer.xhtml#a3c332dc52b07cebd36c18788634e2132">GetStatistics</a>( <a class="code" href="../../df/df9/struct_s_l_net_1_1_rak_net_statistics.xhtml" title="Network Statisics Usage.">RakNetStatistics</a> *rns );</div>
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160;</div>
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="../../d2/d55/class_s_l_net_1_1_reliability_layer.xhtml#a365a2fdfb29b707746a826dfe1224615" title="Are we waiting for any data to be sent out or be processed by the player?">IsOutgoingDataWaiting</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="../../d2/d55/class_s_l_net_1_1_reliability_layer.xhtml#af0042a197372fb3bdd26a9514855dc2e">AreAcksWaiting</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160;</div>
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; <span class="comment">// Set outgoing lag and packet loss properties</span></div>
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; <span class="keywordtype">void</span> <a class="code" href="../../d2/d55/class_s_l_net_1_1_reliability_layer.xhtml#ab354b17db4ee0bb894edb49ebc2349a1">ApplyNetworkSimulator</a>( <span class="keywordtype">double</span> _maxSendBPS, <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a26b4eb1be8467562f791e3c5af4a67ae">SLNet::TimeMS</a> _minExtraPing, <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a26b4eb1be8467562f791e3c5af4a67ae">SLNet::TimeMS</a> _extraPingVariance );</div>
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160;</div>
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="../../d2/d55/class_s_l_net_1_1_reliability_layer.xhtml#a6b1071ebfa18a2adf12bcfb0d7f9e628">IsNetworkSimulatorActive</a>( <span class="keywordtype">void</span> );</div>
<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160;</div>
<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; <span class="keywordtype">void</span> <a class="code" href="../../d2/d55/class_s_l_net_1_1_reliability_layer.xhtml#a4bb5b8fba7d1c3397594a62e6ffd7c97">SetSplitMessageProgressInterval</a>(<span class="keywordtype">int</span> interval);</div>
<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; <span class="keywordtype">void</span> <a class="code" href="../../d2/d55/class_s_l_net_1_1_reliability_layer.xhtml#add22038276a9b7732ff95378be35c679">SetUnreliableTimeout</a>(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a26b4eb1be8467562f791e3c5af4a67ae">SLNet::TimeMS</a> timeoutMS);</div>
<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="../../d2/d55/class_s_l_net_1_1_reliability_layer.xhtml#ae840a6ab13db97e28e07f498f12c5d89" title="Has a lot of time passed since the last ack.">AckTimeout</a>(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a7223b62c1b67121db1d975f2ab9b74c7">SLNet::Time</a> curTime);</div>
<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; <a class="code" href="../../d0/dfb/_c_c_rak_net_sliding_window_8h.xhtml#af68854e24d09ea8058bf8b27ce0f24e6">CCTimeType</a> <a class="code" href="../../d2/d55/class_s_l_net_1_1_reliability_layer.xhtml#a547e6abbaeff06959b5732debffcd853">GetNextSendTime</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; <a class="code" href="../../d0/dfb/_c_c_rak_net_sliding_window_8h.xhtml#af68854e24d09ea8058bf8b27ce0f24e6">CCTimeType</a> <a class="code" href="../../d2/d55/class_s_l_net_1_1_reliability_layer.xhtml#a5057b29131a1d56e5064e8a60f0efe79">GetTimeBetweenPackets</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160;<span class="preprocessor">#if INCLUDE_TIMESTAMP_WITH_DATAGRAMS==1</span></div>
<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160;<span class="preprocessor"></span> <a class="code" href="../../d0/dfb/_c_c_rak_net_sliding_window_8h.xhtml#af68854e24d09ea8058bf8b27ce0f24e6">CCTimeType</a> GetAckPing(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00218"></a><span class="lineno"><a class="code" href="../../d2/d55/class_s_l_net_1_1_reliability_layer.xhtml#a8f31261dc8e89fc2e3aff775fb5b14a4"> 218</a></span>&#160;<span class="preprocessor"></span> <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a26b4eb1be8467562f791e3c5af4a67ae">SLNet::TimeMS</a> <a class="code" href="../../d2/d55/class_s_l_net_1_1_reliability_layer.xhtml#a8f31261dc8e89fc2e3aff775fb5b14a4">GetTimeLastDatagramArrived</a>(<span class="keywordtype">void</span>)<span class="keyword"> const </span>{<span class="keywordflow">return</span> timeLastDatagramArrived;}</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">// If true, will update time between packets quickly based on ping calculations</span></div>
<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; <span class="comment">//void SetDoFastThroughputReactions(bool fast);</span></div>
<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160;</div>
<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; <span class="comment">// Encoded as numMessages[unsigned int], message1BitLength[unsigned int], message1Data (aligned), ...</span></div>
<div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; <span class="comment">//void GetUndeliveredMessages(SLNet::BitStream *messages, int MTUSize);</span></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;<span class="keyword">private</span>:</div>
<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; <span class="keywordtype">void</span> SendBitStream( <a class="code" href="../../d1/dde/class_s_l_net_1_1_rak_net_socket2.xhtml">RakNetSocket2</a> *s, <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="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a> *bitStream, <a class="code" href="../../df/dd4/class_s_l_net_1_1_rak_net_random.xhtml">RakNetRandom</a> *rnr, <a class="code" href="../../d0/dfb/_c_c_rak_net_sliding_window_8h.xhtml#af68854e24d09ea8058bf8b27ce0f24e6">CCTimeType</a> currentTime);</div>
<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160;</div>
<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a227d2a5f9683a34d9d1e70772fd556ec">BitSize_t</a> WriteToBitStreamFromInternalPacket(<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a> *bitStream, <span class="keyword">const</span> <a class="code" href="../../d9/d9a/struct_s_l_net_1_1_internal_packet.xhtml">InternalPacket</a> *<span class="keyword">const</span> internalPacket, <a class="code" href="../../d0/dfb/_c_c_rak_net_sliding_window_8h.xhtml#af68854e24d09ea8058bf8b27ce0f24e6">CCTimeType</a> curTime );</div>
<div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160;</div>
<div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160;</div>
<div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; <a class="code" href="../../d9/d9a/struct_s_l_net_1_1_internal_packet.xhtml">InternalPacket</a>* CreateInternalPacketFromBitStream(<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a> *bitStream, <a class="code" href="../../d0/dfb/_c_c_rak_net_sliding_window_8h.xhtml#af68854e24d09ea8058bf8b27ce0f24e6">CCTimeType</a> time );</div>
<div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160;</div>
<div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; <span class="keywordtype">unsigned</span> RemovePacketFromResendListAndDeleteOlderReliableSequenced( <span class="keyword">const</span> <a class="code" href="../../d9/d6a/struct_s_l_net_1_1uint24__t.xhtml">MessageNumberType</a> messageNumber, <a class="code" href="../../d0/dfb/_c_c_rak_net_sliding_window_8h.xhtml#af68854e24d09ea8058bf8b27ce0f24e6">CCTimeType</a> time, <a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml">DataStructures::List&lt;PluginInterface2*&gt;</a> &amp;messageHandlerList, <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="l00243"></a><span class="lineno"> 243</span>&#160;</div>
<div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; <span class="keywordtype">void</span> SendAcknowledgementPacket( <span class="keyword">const</span> <a class="code" href="../../d9/d6a/struct_s_l_net_1_1uint24__t.xhtml">DatagramSequenceNumberType</a> messageNumber, <a class="code" href="../../d0/dfb/_c_c_rak_net_sliding_window_8h.xhtml#af68854e24d09ea8058bf8b27ce0f24e6">CCTimeType</a> time);</div>
<div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160;</div>
<div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; <span class="keywordtype">bool</span> IsSendThrottled( <span class="keywordtype">int</span> MTUSize );</div>
<div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160;</div>
<div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; <span class="keywordtype">void</span> UpdateWindowFromPacketloss( <a class="code" href="../../d0/dfb/_c_c_rak_net_sliding_window_8h.xhtml#af68854e24d09ea8058bf8b27ce0f24e6">CCTimeType</a> time );</div>
<div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160;</div>
<div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; <span class="keywordtype">void</span> UpdateWindowFromAck( <a class="code" href="../../d0/dfb/_c_c_rak_net_sliding_window_8h.xhtml#af68854e24d09ea8058bf8b27ce0f24e6">CCTimeType</a> time );</div>
<div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160;</div>
<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a227d2a5f9683a34d9d1e70772fd556ec">BitSize_t</a> GetMaxMessageHeaderLengthBits( <span class="keywordtype">void</span> );</div>
<div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a227d2a5f9683a34d9d1e70772fd556ec">BitSize_t</a> GetMessageHeaderLengthBits( <span class="keyword">const</span> <a class="code" href="../../d9/d9a/struct_s_l_net_1_1_internal_packet.xhtml">InternalPacket</a> *<span class="keyword">const</span> internalPacket );</div>
<div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160;</div>
<div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; <span class="keywordtype">void</span> GetSHA1( <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> buffer, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nbytes, <span class="keywordtype">char</span> code[ <a class="code" href="../../db/d31/_d_r___s_h_a1_8h.xhtml#ada325b66c61568fd5151e89881aa368c">SHA1_LENGTH</a> ] );</div>
<div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160;</div>
<div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; <span class="keywordtype">bool</span> CheckSHA1( <span class="keywordtype">char</span> code[ <a class="code" href="../../db/d31/_d_r___s_h_a1_8h.xhtml#ada325b66c61568fd5151e89881aa368c">SHA1_LENGTH</a> ], <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> buffer, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nbytes );</div>
<div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160;</div>
<div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160;<span class="comment">// void DeleteSequencedPacketsInList( unsigned char orderingChannel, DataStructures::List&lt;InternalPacket*&gt;&amp;theList, int splitPacketId = -1 );</span></div>
<div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160;</div>
<div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160;<span class="comment">// void DeleteSequencedPacketsInList( unsigned char orderingChannel, DataStructures::Queue&lt;InternalPacket*&gt;&amp;theList );</span></div>
<div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160;</div>
<div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; <span class="keywordtype">bool</span> IsOlderOrderedPacket( <a class="code" href="../../d9/d6a/struct_s_l_net_1_1uint24__t.xhtml">OrderingIndexType</a> newPacketOrderingIndex, <a class="code" href="../../d9/d6a/struct_s_l_net_1_1uint24__t.xhtml">OrderingIndexType</a> waitingForPacketOrderingIndex );</div>
<div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160;</div>
<div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; <span class="keywordtype">void</span> SplitPacket( <a class="code" href="../../d9/d9a/struct_s_l_net_1_1_internal_packet.xhtml">InternalPacket</a> *internalPacket );</div>
<div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160;</div>
<div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; <span class="keywordtype">void</span> InsertIntoSplitPacketList( <a class="code" href="../../d9/d9a/struct_s_l_net_1_1_internal_packet.xhtml">InternalPacket</a> * internalPacket, <a class="code" href="../../d0/dfb/_c_c_rak_net_sliding_window_8h.xhtml#af68854e24d09ea8058bf8b27ce0f24e6">CCTimeType</a> time );</div>
<div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160;</div>
<div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160; <a class="code" href="../../d9/d9a/struct_s_l_net_1_1_internal_packet.xhtml">InternalPacket</a> * BuildPacketFromSplitPacketList( <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ada9d06cc4d3df50fbf844c6725cd7230">SplitPacketIdType</a> inSplitPacketId, <a class="code" href="../../d0/dfb/_c_c_rak_net_sliding_window_8h.xhtml#af68854e24d09ea8058bf8b27ce0f24e6">CCTimeType</a> time,</div>
<div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; <a class="code" href="../../d1/dde/class_s_l_net_1_1_rak_net_socket2.xhtml">RakNetSocket2</a> *s, <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="../../df/dd4/class_s_l_net_1_1_rak_net_random.xhtml">RakNetRandom</a> *rnr, <a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">BitStream</a> &amp;updateBitStream);</div>
<div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; <a class="code" href="../../d9/d9a/struct_s_l_net_1_1_internal_packet.xhtml">InternalPacket</a> * BuildPacketFromSplitPacketList( <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#d6/d4d/struct_s_l_net_1_1_split_packet_channel">SplitPacketChannel</a> *splitPacketChannel, <a class="code" href="../../d0/dfb/_c_c_rak_net_sliding_window_8h.xhtml#af68854e24d09ea8058bf8b27ce0f24e6">CCTimeType</a> time );</div>
<div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160;</div>
<div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160; <span class="comment">//void DeleteOldUnreliableSplitPackets( CCTimeType time );</span></div>
<div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160;</div>
<div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; <a class="code" href="../../d9/d9a/struct_s_l_net_1_1_internal_packet.xhtml">InternalPacket</a> * CreateInternalPacketCopy( <a class="code" href="../../d9/d9a/struct_s_l_net_1_1_internal_packet.xhtml">InternalPacket</a> *original, <span class="keywordtype">int</span> dataByteOffset, <span class="keywordtype">int</span> dataByteLength, <a class="code" href="../../d0/dfb/_c_c_rak_net_sliding_window_8h.xhtml#af68854e24d09ea8058bf8b27ce0f24e6">CCTimeType</a> time );</div>
<div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160;</div>
<div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; <span class="comment">// DataStructures::LinkedList&lt;InternalPacket*&gt; *GetOrderingListAtOrderingStream( unsigned char orderingChannel );</span></div>
<div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160;</div>
<div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; <span class="comment">// void AddToOrderingList( InternalPacket * internalPacket );</span></div>
<div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160;</div>
<div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160; <span class="keywordtype">void</span> InsertPacketIntoResendList( <a class="code" href="../../d9/d9a/struct_s_l_net_1_1_internal_packet.xhtml">InternalPacket</a> *internalPacket, <a class="code" href="../../d0/dfb/_c_c_rak_net_sliding_window_8h.xhtml#af68854e24d09ea8058bf8b27ce0f24e6">CCTimeType</a> time, <span class="keywordtype">bool</span> firstResend, <span class="keywordtype">bool</span> modifyUnacknowledgedBytes );</div>
<div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160;</div>
<div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160; <span class="keywordtype">void</span> FreeMemory( <span class="keywordtype">bool</span> freeAllImmediately );</div>
<div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160;</div>
<div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160; <span class="keywordtype">void</span> FreeThreadSafeMemory( <span class="keywordtype">void</span> );</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; <span class="comment">// Initialize the variables</span></div>
<div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; <span class="keywordtype">void</span> InitializeVariables( <span class="keywordtype">void</span> );</div>
<div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160;</div>
<div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; <span class="keywordtype">bool</span> IsExpiredTime(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> input, <a class="code" href="../../d0/dfb/_c_c_rak_net_sliding_window_8h.xhtml#af68854e24d09ea8058bf8b27ce0f24e6">CCTimeType</a> currentTime) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160;</div>
<div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160; <span class="comment">// Make it so we don&#39;t do resends within a minimum threshold of time</span></div>
<div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; <span class="keywordtype">void</span> UpdateNextActionTime(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160;</div>
<div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160;</div>
<div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; <span class="comment">//unsigned int IsReceivedPacketHole(unsigned int input, SLNet::TimeMS currentTime) const;</span></div>
<div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160;</div>
<div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160; <span class="comment">//unsigned int MakeReceivedPacketHole(unsigned int input) const;</span></div>
<div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160;</div>
<div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> GetResendListDataSize(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160;</div>
<div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160; <span class="keywordtype">void</span> UpdateThreadedMemory(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160;</div>
<div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160; <span class="keywordtype">void</span> CalculateHistogramAckSize(<span class="keywordtype">void</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="comment">// Used ONLY for RELIABLE_ORDERED</span></div>
<div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160; <span class="comment">// RELIABLE_SEQUENCED just returns the newest one</span></div>
<div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160; <span class="comment">// DataStructures::List&lt;DataStructures::LinkedList&lt;InternalPacket*&gt;*&gt; orderingList;</span></div>
<div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160; <a class="code" href="../../d3/d87/class_data_structures_1_1_queue.xhtml">DataStructures::Queue&lt;InternalPacket*&gt;</a> outputQueue;</div>
<div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160; <span class="keywordtype">int</span> splitMessageProgressInterval;</div>
<div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160; <a class="code" href="../../d0/dfb/_c_c_rak_net_sliding_window_8h.xhtml#af68854e24d09ea8058bf8b27ce0f24e6">CCTimeType</a> unreliableTimeout;</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; <span class="keyword">struct </span>MessageNumberNode</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; <a class="code" href="../../d9/d6a/struct_s_l_net_1_1uint24__t.xhtml">DatagramSequenceNumberType</a> messageNumber;</div>
<div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160; MessageNumberNode *next;</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; <span class="keyword">struct </span>DatagramHistoryNode</div>
<div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160; {</div>
<div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160; DatagramHistoryNode() {}</div>
<div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160; DatagramHistoryNode(MessageNumberNode *_head, <a class="code" href="../../d0/dfb/_c_c_rak_net_sliding_window_8h.xhtml#af68854e24d09ea8058bf8b27ce0f24e6">CCTimeType</a> ts</div>
<div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160; ) :</div>
<div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160; head(_head), timeSent(ts)</div>
<div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160; {}</div>
<div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160; MessageNumberNode *head;</div>
<div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160; <a class="code" href="../../d0/dfb/_c_c_rak_net_sliding_window_8h.xhtml#af68854e24d09ea8058bf8b27ce0f24e6">CCTimeType</a> timeSent;</div>
<div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160; };</div>
<div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160; <span class="comment">// Queue length is programmatically restricted to DATAGRAM_MESSAGE_ID_ARRAY_LENGTH</span></div>
<div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160; <span class="comment">// This is essentially an O(1) lookup to get a DatagramHistoryNode given an index</span></div>
<div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160; <span class="comment">// datagramHistory holds a linked list of MessageNumberNode. Each MessageNumberNode refers to one element in resendList which can be cleared on an ack.</span></div>
<div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160; <a class="code" href="../../d3/d87/class_data_structures_1_1_queue.xhtml">DataStructures::Queue&lt;DatagramHistoryNode&gt;</a> datagramHistory;</div>
<div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160; <a class="code" href="../../de/df9/class_data_structures_1_1_memory_pool.xhtml">DataStructures::MemoryPool&lt;MessageNumberNode&gt;</a> datagramHistoryMessagePool;</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; <span class="keyword">struct </span>UnreliableWithAckReceiptNode</div>
<div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160; {</div>
<div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160; UnreliableWithAckReceiptNode() {}</div>
<div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160; UnreliableWithAckReceiptNode(<a class="code" href="../../d9/d6a/struct_s_l_net_1_1uint24__t.xhtml">DatagramSequenceNumberType</a> _datagramNumber, <a class="code" href="../../df/df2/_native_types_8h.xhtml#a6eb1e68cc391dd753bc8ce896dbb8315">uint32_t</a> _sendReceiptSerial, <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a3d01a3c6dcc3c11f0cc5359fe290edc7">SLNet::TimeUS</a> _nextActionTime) :</div>
<div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160; datagramNumber(_datagramNumber), sendReceiptSerial(_sendReceiptSerial), nextActionTime(_nextActionTime)</div>
<div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160; {}</div>
<div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160; <a class="code" href="../../d9/d6a/struct_s_l_net_1_1uint24__t.xhtml">DatagramSequenceNumberType</a> datagramNumber;</div>
<div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160; <a class="code" href="../../df/df2/_native_types_8h.xhtml#a6eb1e68cc391dd753bc8ce896dbb8315">uint32_t</a> sendReceiptSerial;</div>
<div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a3d01a3c6dcc3c11f0cc5359fe290edc7">SLNet::TimeUS</a> nextActionTime;</div>
<div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160; };</div>
<div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; <a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml">DataStructures::List&lt;UnreliableWithAckReceiptNode&gt;</a> unreliableWithAckReceiptHistory;</div>
<div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160;</div>
<div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160; <span class="keywordtype">void</span> RemoveFromDatagramHistory(<a class="code" href="../../d9/d6a/struct_s_l_net_1_1uint24__t.xhtml">DatagramSequenceNumberType</a> index);</div>
<div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160; MessageNumberNode* GetMessageNumberNodeByDatagramIndex(<a class="code" href="../../d9/d6a/struct_s_l_net_1_1uint24__t.xhtml">DatagramSequenceNumberType</a> index, <a class="code" href="../../d0/dfb/_c_c_rak_net_sliding_window_8h.xhtml#af68854e24d09ea8058bf8b27ce0f24e6">CCTimeType</a> *timeSent);</div>
<div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; <span class="keywordtype">void</span> AddFirstToDatagramHistory(<a class="code" href="../../d9/d6a/struct_s_l_net_1_1uint24__t.xhtml">DatagramSequenceNumberType</a> datagramNumber, <a class="code" href="../../d0/dfb/_c_c_rak_net_sliding_window_8h.xhtml#af68854e24d09ea8058bf8b27ce0f24e6">CCTimeType</a> timeSent);</div>
<div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; MessageNumberNode* AddFirstToDatagramHistory(<a class="code" href="../../d9/d6a/struct_s_l_net_1_1uint24__t.xhtml">DatagramSequenceNumberType</a> datagramNumber, <a class="code" href="../../d9/d6a/struct_s_l_net_1_1uint24__t.xhtml">DatagramSequenceNumberType</a> messageNumber, <a class="code" href="../../d0/dfb/_c_c_rak_net_sliding_window_8h.xhtml#af68854e24d09ea8058bf8b27ce0f24e6">CCTimeType</a> timeSent);</div>
<div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160; MessageNumberNode* AddSubsequentToDatagramHistory(MessageNumberNode *messageNumberNode, <a class="code" href="../../d9/d6a/struct_s_l_net_1_1uint24__t.xhtml">DatagramSequenceNumberType</a> messageNumber);</div>
<div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160; <a class="code" href="../../d9/d6a/struct_s_l_net_1_1uint24__t.xhtml">DatagramSequenceNumberType</a> datagramHistoryPopCount;</div>
<div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160; </div>
<div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160; <a class="code" href="../../de/df9/class_data_structures_1_1_memory_pool.xhtml">DataStructures::MemoryPool&lt;InternalPacket&gt;</a> internalPacketPool;</div>
<div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160; <span class="comment">// DataStructures::BPlusTree&lt;DatagramSequenceNumberType, InternalPacket*, RESEND_TREE_ORDER&gt; resendTree;</span></div>
<div class="line"><a name="l00381"></a><span class="lineno"> 381</span>&#160; InternalPacket *resendBuffer[<a class="code" href="../../d8/db0/defines_8h.xhtml#af1cb26d5d5b8bbb60367a848ee905ade">RESEND_BUFFER_ARRAY_LENGTH</a>];</div>
<div class="line"><a name="l00382"></a><span class="lineno"> 382</span>&#160; InternalPacket *resendLinkedListHead;</div>
<div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160; InternalPacket *unreliableLinkedListHead;</div>
<div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160; <span class="keywordtype">void</span> RemoveFromUnreliableLinkedList(InternalPacket *internalPacket);</div>
<div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160; <span class="keywordtype">void</span> AddToUnreliableLinkedList(InternalPacket *internalPacket);</div>
<div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160;<span class="comment">// unsigned int numPacketsOnResendBuffer;</span></div>
<div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160; <span class="comment">//unsigned int blockWindowIncreaseUntilTime;</span></div>
<div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160; <span class="comment">// DataStructures::RangeList&lt;DatagramSequenceNumberType&gt; acknowlegements;</span></div>
<div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160; <span class="comment">// Resend list is a tree of packets we need to resend</span></div>
<div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160;</div>
<div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160; <span class="comment">// Set to the current time when the resend queue is no longer empty</span></div>
<div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160; <span class="comment">// Set to zero when it becomes empty</span></div>
<div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160; <span class="comment">// Set to the current time if it is not zero, and we get incoming data</span></div>
<div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160; <span class="comment">// If the current time - timeResendQueueNonEmpty is greater than a threshold, we are disconnected</span></div>
<div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160;<span class="comment">// CCTimeType timeResendQueueNonEmpty;</span></div>
<div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a26b4eb1be8467562f791e3c5af4a67ae">SLNet::TimeMS</a> timeLastDatagramArrived;</div>
<div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160;</div>
<div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160;</div>
<div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160; <span class="comment">// If we backoff due to packetloss, don&#39;t remeasure until all waiting resends have gone out or else we overcount</span></div>
<div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160;<span class="comment">// bool packetlossThisSample;</span></div>
<div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160;<span class="comment">// int backoffThisSample;</span></div>
<div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160;<span class="comment">// unsigned packetlossThisSampleResendCount;</span></div>
<div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160;<span class="comment">// CCTimeType lastPacketlossTime;</span></div>
<div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160;</div>
<div class="line"><a name="l00405"></a><span class="lineno"> 405</span>&#160; <span class="comment">//DataStructures::Queue&lt;InternalPacket*&gt; sendPacketSet[ NUMBER_OF_PRIORITIES ];</span></div>
<div class="line"><a name="l00406"></a><span class="lineno"> 406</span>&#160; <a class="code" href="../../d1/df3/class_data_structures_1_1_heap.xhtml">DataStructures::Heap&lt;reliabilityHeapWeightType, InternalPacket*, false&gt;</a> outgoingPacketBuffer;</div>
<div class="line"><a name="l00407"></a><span class="lineno"> 407</span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ab27f4cdc690fb1fc6d083601b79d5e99">reliabilityHeapWeightType</a> outgoingPacketBufferNextWeights[<a class="code" href="../../d7/d03/_packet_priority_8h.xhtml#a659378374e516180f93640c79f59705ca619c0d06913ad9d663b086aca30f7cdc">NUMBER_OF_PRIORITIES</a>];</div>
<div class="line"><a name="l00408"></a><span class="lineno"> 408</span>&#160; <span class="keywordtype">void</span> InitHeapWeights(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00409"></a><span class="lineno"> 409</span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ab27f4cdc690fb1fc6d083601b79d5e99">reliabilityHeapWeightType</a> GetNextWeight(<span class="keywordtype">int</span> priorityLevel);</div>
<div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160;<span class="comment">// unsigned int messageInSendBuffer[NUMBER_OF_PRIORITIES];</span></div>
<div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160;<span class="comment">// double bytesInSendBuffer[NUMBER_OF_PRIORITIES];</span></div>
<div class="line"><a name="l00412"></a><span class="lineno"> 412</span>&#160;</div>
<div class="line"><a name="l00413"></a><span class="lineno"> 413</span>&#160;</div>
<div class="line"><a name="l00414"></a><span class="lineno"> 414</span>&#160; <a class="code" href="../../da/dfc/class_data_structures_1_1_ordered_list.xhtml">DataStructures::OrderedList&lt;SplitPacketIdType, SplitPacketChannel*, SplitPacketChannelComp&gt;</a> splitPacketChannelList;</div>
<div class="line"><a name="l00415"></a><span class="lineno"> 415</span>&#160;</div>
<div class="line"><a name="l00416"></a><span class="lineno"> 416</span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a047b6dedcd35244b1575bfcf1cfb6b6c">MessageNumberType</a> sendReliableMessageNumberIndex;</div>
<div class="line"><a name="l00417"></a><span class="lineno"> 417</span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a047b6dedcd35244b1575bfcf1cfb6b6c">MessageNumberType</a> internalOrderIndex;</div>
<div class="line"><a name="l00418"></a><span class="lineno"> 418</span>&#160; <span class="comment">//unsigned int windowSize;</span></div>
<div class="line"><a name="l00419"></a><span class="lineno"> 419</span>&#160; <span class="comment">//SLNet::BitStream updateBitStream;</span></div>
<div class="line"><a name="l00420"></a><span class="lineno"> 420</span>&#160; <span class="keywordtype">bool</span> deadConnection, cheater;</div>
<div class="line"><a name="l00421"></a><span class="lineno"> 421</span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ada9d06cc4d3df50fbf844c6725cd7230">SplitPacketIdType</a> splitPacketId;</div>
<div class="line"><a name="l00422"></a><span class="lineno"> 422</span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a26b4eb1be8467562f791e3c5af4a67ae">SLNet::TimeMS</a> timeoutTime; <span class="comment">// How long to wait in MS before timing someone out</span></div>
<div class="line"><a name="l00423"></a><span class="lineno"> 423</span>&#160; <span class="comment">//int MAX_AVERAGE_PACKETS_PER_SECOND; // Name says it all</span></div>
<div class="line"><a name="l00424"></a><span class="lineno"> 424</span>&#160;<span class="comment">// int RECEIVED_PACKET_LOG_LENGTH, requestedReceivedPacketLogLength; // How big the receivedPackets array is</span></div>
<div class="line"><a name="l00425"></a><span class="lineno"> 425</span>&#160;<span class="comment">// unsigned int *receivedPackets;</span></div>
<div class="line"><a name="l00426"></a><span class="lineno"> 426</span>&#160; RakNetStatistics statistics;</div>
<div class="line"><a name="l00427"></a><span class="lineno"> 427</span>&#160;</div>
<div class="line"><a name="l00428"></a><span class="lineno"> 428</span>&#160; <span class="comment">// Algorithm for blending ordered and sequenced on the same channel:</span></div>
<div class="line"><a name="l00429"></a><span class="lineno"> 429</span>&#160; <span class="comment">// 1. Each ordered message transmits OrderingIndexType orderedWriteIndex. There are NUMBER_OF_ORDERED_STREAMS independent values of these. The value</span></div>
<div class="line"><a name="l00430"></a><span class="lineno"> 430</span>&#160; <span class="comment">// starts at 0. Every time an ordered message is sent, the value increments by 1</span></div>
<div class="line"><a name="l00431"></a><span class="lineno"> 431</span>&#160; <span class="comment">// 2. Each sequenced message contains the current value of orderedWriteIndex for that channel, and additionally OrderingIndexType sequencedWriteIndex. </span></div>
<div class="line"><a name="l00432"></a><span class="lineno"> 432</span>&#160; <span class="comment">// sequencedWriteIndex resets to 0 every time orderedWriteIndex increments. It increments by 1 every time a sequenced message is sent.</span></div>
<div class="line"><a name="l00433"></a><span class="lineno"> 433</span>&#160; <span class="comment">// 3. The receiver maintains the next expected value for the orderedWriteIndex, stored in orderedReadIndex.</span></div>
<div class="line"><a name="l00434"></a><span class="lineno"> 434</span>&#160; <span class="comment">// 4. As messages arrive:</span></div>
<div class="line"><a name="l00435"></a><span class="lineno"> 435</span>&#160; <span class="comment">// If a message has the current ordering index, and is sequenced, and is &lt; the current highest sequence value, discard</span></div>
<div class="line"><a name="l00436"></a><span class="lineno"> 436</span>&#160; <span class="comment">// If a message has the current ordering index, and is sequenced, and is &gt;= the current highest sequence value, return immediately</span></div>
<div class="line"><a name="l00437"></a><span class="lineno"> 437</span>&#160; <span class="comment">// If a message has a greater ordering index, and is sequenced or ordered, buffer it</span></div>
<div class="line"><a name="l00438"></a><span class="lineno"> 438</span>&#160; <span class="comment">// If a message has the current ordering index, and is ordered, buffer, then push off messages from buffer</span></div>
<div class="line"><a name="l00439"></a><span class="lineno"> 439</span>&#160; <span class="comment">// 5. Pushing off messages from buffer:</span></div>
<div class="line"><a name="l00440"></a><span class="lineno"> 440</span>&#160; <span class="comment">// Messages in buffer are put in a minheap. The value of each node is calculated such that messages are returned:</span></div>
<div class="line"><a name="l00441"></a><span class="lineno"> 441</span>&#160; <span class="comment">// A. (lowest ordering index, lowest sequence index)</span></div>
<div class="line"><a name="l00442"></a><span class="lineno"> 442</span>&#160; <span class="comment">// B. (lowest ordering index, no sequence index)</span></div>
<div class="line"><a name="l00443"></a><span class="lineno"> 443</span>&#160; <span class="comment">// Messages are pushed off until the heap is empty, or the next message to be returned does not preserve the ordered index</span></div>
<div class="line"><a name="l00444"></a><span class="lineno"> 444</span>&#160; <span class="comment">// For an empty heap, the heap weight should start at the lowest value based on the next expected ordering index, to avoid variable overflow</span></div>
<div class="line"><a name="l00445"></a><span class="lineno"> 445</span>&#160;</div>
<div class="line"><a name="l00446"></a><span class="lineno"> 446</span>&#160; <span class="comment">// Sender increments this by 1 for every ordered message sent</span></div>
<div class="line"><a name="l00447"></a><span class="lineno"> 447</span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a6fa1eeef8ba656471611c0b68595fbb4">OrderingIndexType</a> orderedWriteIndex[<a class="code" href="../../dd/dba/_reliability_layer_8h.xhtml#aaabd5ed6e95299bf0ae89b0a972f5071" title="Number of ordered streams available. You can use up to 32 ordered streams.">NUMBER_OF_ORDERED_STREAMS</a>];</div>
<div class="line"><a name="l00448"></a><span class="lineno"> 448</span>&#160; <span class="comment">// Sender increments by 1 for every sequenced message sent. Resets to 0 when an ordered message is sent</span></div>
<div class="line"><a name="l00449"></a><span class="lineno"> 449</span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a6fa1eeef8ba656471611c0b68595fbb4">OrderingIndexType</a> sequencedWriteIndex[<a class="code" href="../../dd/dba/_reliability_layer_8h.xhtml#aaabd5ed6e95299bf0ae89b0a972f5071" title="Number of ordered streams available. You can use up to 32 ordered streams.">NUMBER_OF_ORDERED_STREAMS</a>];</div>
<div class="line"><a name="l00450"></a><span class="lineno"> 450</span>&#160; <span class="comment">// Next expected index for ordered messages.</span></div>
<div class="line"><a name="l00451"></a><span class="lineno"> 451</span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a6fa1eeef8ba656471611c0b68595fbb4">OrderingIndexType</a> orderedReadIndex[<a class="code" href="../../dd/dba/_reliability_layer_8h.xhtml#aaabd5ed6e95299bf0ae89b0a972f5071" title="Number of ordered streams available. You can use up to 32 ordered streams.">NUMBER_OF_ORDERED_STREAMS</a>];</div>
<div class="line"><a name="l00452"></a><span class="lineno"> 452</span>&#160; <span class="comment">// Highest value received for sequencedWriteIndex for the current value of orderedReadIndex on the same channel.</span></div>
<div class="line"><a name="l00453"></a><span class="lineno"> 453</span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a6fa1eeef8ba656471611c0b68595fbb4">OrderingIndexType</a> highestSequencedReadIndex[<a class="code" href="../../dd/dba/_reliability_layer_8h.xhtml#aaabd5ed6e95299bf0ae89b0a972f5071" title="Number of ordered streams available. You can use up to 32 ordered streams.">NUMBER_OF_ORDERED_STREAMS</a>];</div>
<div class="line"><a name="l00454"></a><span class="lineno"> 454</span>&#160; <a class="code" href="../../d1/df3/class_data_structures_1_1_heap.xhtml">DataStructures::Heap&lt;reliabilityHeapWeightType, InternalPacket*, false&gt;</a> orderingHeaps[<a class="code" href="../../dd/dba/_reliability_layer_8h.xhtml#aaabd5ed6e95299bf0ae89b0a972f5071" title="Number of ordered streams available. You can use up to 32 ordered streams.">NUMBER_OF_ORDERED_STREAMS</a>];</div>
<div class="line"><a name="l00455"></a><span class="lineno"> 455</span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a6fa1eeef8ba656471611c0b68595fbb4">OrderingIndexType</a> heapIndexOffsets[<a class="code" href="../../dd/dba/_reliability_layer_8h.xhtml#aaabd5ed6e95299bf0ae89b0a972f5071" title="Number of ordered streams available. You can use up to 32 ordered streams.">NUMBER_OF_ORDERED_STREAMS</a>];</div>
<div class="line"><a name="l00456"></a><span class="lineno"> 456</span>&#160;</div>
<div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160; </div>
<div class="line"><a name="l00458"></a><span class="lineno"> 458</span>&#160;</div>
<div class="line"><a name="l00459"></a><span class="lineno"> 459</span>&#160;</div>
<div class="line"><a name="l00460"></a><span class="lineno"> 460</span>&#160;</div>
<div class="line"><a name="l00461"></a><span class="lineno"> 461</span>&#160;</div>
<div class="line"><a name="l00462"></a><span class="lineno"> 462</span>&#160;</div>
<div class="line"><a name="l00463"></a><span class="lineno"> 463</span>&#160;<span class="comment">// CCTimeType histogramStart;</span></div>
<div class="line"><a name="l00464"></a><span class="lineno"> 464</span>&#160;<span class="comment">// unsigned histogramBitsSent;</span></div>
<div class="line"><a name="l00465"></a><span class="lineno"> 465</span>&#160;</div>
<div class="line"><a name="l00466"></a><span class="lineno"> 466</span>&#160;</div>
<div class="line"><a name="l00475"></a><span class="lineno"> 475</span>&#160; <span class="comment">// DataStructures::Queue&lt;CCTimeType&gt; hasReceivedPacketQueue;</span></div>
<div class="line"><a name="l00476"></a><span class="lineno"> 476</span>&#160; <a class="code" href="../../d3/d87/class_data_structures_1_1_queue.xhtml">DataStructures::Queue&lt;bool&gt;</a> hasReceivedPacketQueue;</div>
<div class="line"><a name="l00477"></a><span class="lineno"> 477</span>&#160; <a class="code" href="../../d9/d6a/struct_s_l_net_1_1uint24__t.xhtml">DatagramSequenceNumberType</a> receivedPacketsBaseIndex;</div>
<div class="line"><a name="l00478"></a><span class="lineno"> 478</span>&#160; <span class="keywordtype">bool</span> resetReceivedPackets;</div>
<div class="line"><a name="l00479"></a><span class="lineno"> 479</span>&#160;</div>
<div class="line"><a name="l00480"></a><span class="lineno"> 480</span>&#160; <a class="code" href="../../d0/dfb/_c_c_rak_net_sliding_window_8h.xhtml#af68854e24d09ea8058bf8b27ce0f24e6">CCTimeType</a> lastUpdateTime;</div>
<div class="line"><a name="l00481"></a><span class="lineno"> 481</span>&#160; <a class="code" href="../../d0/dfb/_c_c_rak_net_sliding_window_8h.xhtml#af68854e24d09ea8058bf8b27ce0f24e6">CCTimeType</a> timeBetweenPackets, nextSendTime;</div>
<div class="line"><a name="l00482"></a><span class="lineno"> 482</span>&#160;<span class="preprocessor">#if INCLUDE_TIMESTAMP_WITH_DATAGRAMS==1</span></div>
<div class="line"><a name="l00483"></a><span class="lineno"> 483</span>&#160;<span class="preprocessor"></span> <a class="code" href="../../d0/dfb/_c_c_rak_net_sliding_window_8h.xhtml#af68854e24d09ea8058bf8b27ce0f24e6">CCTimeType</a> ackPing;</div>
<div class="line"><a name="l00484"></a><span class="lineno"> 484</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00485"></a><span class="lineno"> 485</span>&#160;<span class="preprocessor"></span><span class="comment">// CCTimeType ackPingSamples[ACK_PING_SAMPLES_SIZE]; // Must be range of unsigned char to wrap ackPingIndex properly</span></div>
<div class="line"><a name="l00486"></a><span class="lineno"> 486</span>&#160; <a class="code" href="../../d0/dfb/_c_c_rak_net_sliding_window_8h.xhtml#af68854e24d09ea8058bf8b27ce0f24e6">CCTimeType</a> ackPingSum;</div>
<div class="line"><a name="l00487"></a><span class="lineno"> 487</span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> ackPingIndex;</div>
<div class="line"><a name="l00488"></a><span class="lineno"> 488</span>&#160; <span class="comment">//CCTimeType nextLowestPingReset;</span></div>
<div class="line"><a name="l00489"></a><span class="lineno"> 489</span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a81b8dcc4b91926e068ec3b14a9953541">RemoteSystemTimeType</a> remoteSystemTime;</div>
<div class="line"><a name="l00490"></a><span class="lineno"> 490</span>&#160;<span class="comment">// bool continuousSend;</span></div>
<div class="line"><a name="l00491"></a><span class="lineno"> 491</span>&#160;<span class="comment">// CCTimeType lastTimeBetweenPacketsIncrease,lastTimeBetweenPacketsDecrease;</span></div>
<div class="line"><a name="l00492"></a><span class="lineno"> 492</span>&#160; <span class="comment">// Limit changes in throughput to once per ping - otherwise even if lag starts we don&#39;t know about it</span></div>
<div class="line"><a name="l00493"></a><span class="lineno"> 493</span>&#160; <span class="comment">// In the meantime the connection is flooded and overrun.</span></div>
<div class="line"><a name="l00494"></a><span class="lineno"> 494</span>&#160; <a class="code" href="../../d0/dfb/_c_c_rak_net_sliding_window_8h.xhtml#af68854e24d09ea8058bf8b27ce0f24e6">CCTimeType</a> nextAllowedThroughputSample;</div>
<div class="line"><a name="l00495"></a><span class="lineno"> 495</span>&#160; <span class="keywordtype">bool</span> bandwidthExceededStatistic;</div>
<div class="line"><a name="l00496"></a><span class="lineno"> 496</span>&#160;</div>
<div class="line"><a name="l00497"></a><span class="lineno"> 497</span>&#160; <span class="comment">// If Update::maxBitsPerSecond &gt; 0, then throughputCapCountdown is used as a timer to prevent sends for some amount of time after each send, depending on</span></div>
<div class="line"><a name="l00498"></a><span class="lineno"> 498</span>&#160; <span class="comment">// the amount of data sent</span></div>
<div class="line"><a name="l00499"></a><span class="lineno"> 499</span>&#160; <span class="keywordtype">long</span> <span class="keywordtype">long</span> throughputCapCountdown;</div>
<div class="line"><a name="l00500"></a><span class="lineno"> 500</span>&#160;</div>
<div class="line"><a name="l00501"></a><span class="lineno"> 501</span>&#160; <span class="keywordtype">unsigned</span> receivePacketCount;</div>
<div class="line"><a name="l00502"></a><span class="lineno"> 502</span>&#160;</div>
<div class="line"><a name="l00503"></a><span class="lineno"> 503</span>&#160;<span class="preprocessor">#ifdef _DEBUG</span></div>
<div class="line"><a name="l00504"></a><span class="lineno"> 504</span>&#160;<span class="preprocessor"></span> <span class="keyword">struct </span>DataAndTime<span class="comment">//&lt;InternalPacket&gt;</span></div>
<div class="line"><a name="l00505"></a><span class="lineno"> 505</span>&#160; {</div>
<div class="line"><a name="l00506"></a><span class="lineno"> 506</span>&#160; RakNetSocket2 *s;</div>
<div class="line"><a name="l00507"></a><span class="lineno"> 507</span>&#160; <span class="keywordtype">char</span> data[ <a class="code" href="../../d2/d24/_m_t_u_size_8h.xhtml#a39d9da73f39bf9acabfc9e0ad2ae97c5">MAXIMUM_MTU_SIZE</a> ];</div>
<div class="line"><a name="l00508"></a><span class="lineno"> 508</span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> length;</div>
<div class="line"><a name="l00509"></a><span class="lineno"> 509</span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a26b4eb1be8467562f791e3c5af4a67ae">SLNet::TimeMS</a> sendTime;</div>
<div class="line"><a name="l00510"></a><span class="lineno"> 510</span>&#160; <span class="comment">// SystemAddress systemAddress;</span></div>
<div class="line"><a name="l00511"></a><span class="lineno"> 511</span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> remotePortRakNetWasStartedOn_PS3;</div>
<div class="line"><a name="l00512"></a><span class="lineno"> 512</span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> extraSocketOptions;</div>
<div class="line"><a name="l00513"></a><span class="lineno"> 513</span>&#160; };</div>
<div class="line"><a name="l00514"></a><span class="lineno"> 514</span>&#160; <a class="code" href="../../d3/d87/class_data_structures_1_1_queue.xhtml" title="A queue implemented as an array with a read and write index.">DataStructures::Queue&lt;DataAndTime*&gt;</a> delayList;</div>
<div class="line"><a name="l00515"></a><span class="lineno"> 515</span>&#160;</div>
<div class="line"><a name="l00516"></a><span class="lineno"> 516</span>&#160; <span class="comment">// Internet simulator</span></div>
<div class="line"><a name="l00517"></a><span class="lineno"> 517</span>&#160; <span class="keywordtype">double</span> packetloss;</div>
<div class="line"><a name="l00518"></a><span class="lineno"> 518</span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a26b4eb1be8467562f791e3c5af4a67ae">SLNet::TimeMS</a> minExtraPing, extraPingVariance;</div>
<div class="line"><a name="l00519"></a><span class="lineno"> 519</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00520"></a><span class="lineno"> 520</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00521"></a><span class="lineno"> 521</span>&#160; <a class="code" href="../../d0/dfb/_c_c_rak_net_sliding_window_8h.xhtml#af68854e24d09ea8058bf8b27ce0f24e6">CCTimeType</a> elapsedTimeSinceLastUpdate;</div>
<div class="line"><a name="l00522"></a><span class="lineno"> 522</span>&#160;</div>
<div class="line"><a name="l00523"></a><span class="lineno"> 523</span>&#160; <a class="code" href="../../d0/dfb/_c_c_rak_net_sliding_window_8h.xhtml#af68854e24d09ea8058bf8b27ce0f24e6">CCTimeType</a> nextAckTimeToSend;</div>
<div class="line"><a name="l00524"></a><span class="lineno"> 524</span>&#160;</div>
<div class="line"><a name="l00525"></a><span class="lineno"> 525</span>&#160; </div>
<div class="line"><a name="l00526"></a><span class="lineno"> 526</span>&#160;<span class="preprocessor">#if USE_SLIDING_WINDOW_CONGESTION_CONTROL==1</span></div>
<div class="line"><a name="l00527"></a><span class="lineno"> 527</span>&#160;<span class="preprocessor"></span> <a class="code" href="../../dd/d68/class_s_l_net_1_1_c_c_rak_net_sliding_window.xhtml">SLNet::CCRakNetSlidingWindow</a> congestionManager;</div>
<div class="line"><a name="l00528"></a><span class="lineno"> 528</span>&#160;<span class="preprocessor">#else</span></div>
<div class="line"><a name="l00529"></a><span class="lineno"> 529</span>&#160;<span class="preprocessor"></span> SLNet::CCRakNetUDT congestionManager;</div>
<div class="line"><a name="l00530"></a><span class="lineno"> 530</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00531"></a><span class="lineno"> 531</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00532"></a><span class="lineno"> 532</span>&#160;</div>
<div class="line"><a name="l00533"></a><span class="lineno"> 533</span>&#160; <a class="code" href="../../df/df2/_native_types_8h.xhtml#a6eb1e68cc391dd753bc8ce896dbb8315">uint32_t</a> unacknowledgedBytes;</div>
<div class="line"><a name="l00534"></a><span class="lineno"> 534</span>&#160; </div>
<div class="line"><a name="l00535"></a><span class="lineno"> 535</span>&#160; <span class="keywordtype">bool</span> ResendBufferOverflow(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00536"></a><span class="lineno"> 536</span>&#160; <span class="keywordtype">void</span> ValidateResendList(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00537"></a><span class="lineno"> 537</span>&#160; <span class="keywordtype">void</span> ResetPacketsAndDatagrams(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00538"></a><span class="lineno"> 538</span>&#160; <span class="keywordtype">void</span> PushPacket(<a class="code" href="../../d0/dfb/_c_c_rak_net_sliding_window_8h.xhtml#af68854e24d09ea8058bf8b27ce0f24e6">CCTimeType</a> time, InternalPacket *internalPacket, <span class="keywordtype">bool</span> isReliable);</div>
<div class="line"><a name="l00539"></a><span class="lineno"> 539</span>&#160; <span class="keywordtype">void</span> PushDatagram(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00540"></a><span class="lineno"> 540</span>&#160; <span class="keywordtype">bool</span> TagMostRecentPushAsSecondOfPacketPair(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00541"></a><span class="lineno"> 541</span>&#160; <span class="keywordtype">void</span> ClearPacketsAndDatagrams(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00542"></a><span class="lineno"> 542</span>&#160; <span class="keywordtype">void</span> MoveToListHead(InternalPacket *internalPacket);</div>
<div class="line"><a name="l00543"></a><span class="lineno"> 543</span>&#160; <span class="keywordtype">void</span> RemoveFromList(InternalPacket *internalPacket, <span class="keywordtype">bool</span> modifyUnacknowledgedBytes);</div>
<div class="line"><a name="l00544"></a><span class="lineno"> 544</span>&#160; <span class="keywordtype">void</span> AddToListTail(InternalPacket *internalPacket, <span class="keywordtype">bool</span> modifyUnacknowledgedBytes);</div>
<div class="line"><a name="l00545"></a><span class="lineno"> 545</span>&#160; <span class="keywordtype">void</span> PopListHead(<span class="keywordtype">bool</span> modifyUnacknowledgedBytes);</div>
<div class="line"><a name="l00546"></a><span class="lineno"> 546</span>&#160; <span class="keywordtype">bool</span> IsResendQueueEmpty(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00547"></a><span class="lineno"> 547</span>&#160; <span class="keywordtype">void</span> SortSplitPacketList(<a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml">DataStructures::List&lt;InternalPacket*&gt;</a> &amp;data, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> leftEdge, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> rightEdge) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00548"></a><span class="lineno"> 548</span>&#160; <span class="keywordtype">void</span> SendACKs(RakNetSocket2 *s, SystemAddress &amp;systemAddress, <a class="code" href="../../d0/dfb/_c_c_rak_net_sliding_window_8h.xhtml#af68854e24d09ea8058bf8b27ce0f24e6">CCTimeType</a> time, RakNetRandom *rnr, BitStream &amp;updateBitStream);</div>
<div class="line"><a name="l00549"></a><span class="lineno"> 549</span>&#160;</div>
<div class="line"><a name="l00550"></a><span class="lineno"> 550</span>&#160; <a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml">DataStructures::List&lt;InternalPacket*&gt;</a> packetsToSendThisUpdate;</div>
<div class="line"><a name="l00551"></a><span class="lineno"> 551</span>&#160; <a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml">DataStructures::List&lt;bool&gt;</a> packetsToDeallocThisUpdate;</div>
<div class="line"><a name="l00552"></a><span class="lineno"> 552</span>&#160; <span class="comment">// boundary is in packetsToSendThisUpdate, inclusive</span></div>
<div class="line"><a name="l00553"></a><span class="lineno"> 553</span>&#160; <a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml">DataStructures::List&lt;unsigned int&gt;</a> packetsToSendThisUpdateDatagramBoundaries;</div>
<div class="line"><a name="l00554"></a><span class="lineno"> 554</span>&#160; <a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml">DataStructures::List&lt;bool&gt;</a> datagramsToSendThisUpdateIsPair;</div>
<div class="line"><a name="l00555"></a><span class="lineno"> 555</span>&#160; <a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml">DataStructures::List&lt;unsigned int&gt;</a> datagramSizesInBytes;</div>
<div class="line"><a name="l00556"></a><span class="lineno"> 556</span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a227d2a5f9683a34d9d1e70772fd556ec">BitSize_t</a> datagramSizeSoFar;</div>
<div class="line"><a name="l00557"></a><span class="lineno"> 557</span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a227d2a5f9683a34d9d1e70772fd556ec">BitSize_t</a> allDatagramSizesSoFar;</div>
<div class="line"><a name="l00558"></a><span class="lineno"> 558</span>&#160; <span class="keywordtype">double</span> totalUserDataBytesAcked;</div>
<div class="line"><a name="l00559"></a><span class="lineno"> 559</span>&#160; <a class="code" href="../../d0/dfb/_c_c_rak_net_sliding_window_8h.xhtml#af68854e24d09ea8058bf8b27ce0f24e6">CCTimeType</a> timeOfLastContinualSend;</div>
<div class="line"><a name="l00560"></a><span class="lineno"> 560</span>&#160; <a class="code" href="../../d0/dfb/_c_c_rak_net_sliding_window_8h.xhtml#af68854e24d09ea8058bf8b27ce0f24e6">CCTimeType</a> timeToNextUnreliableCull;</div>
<div class="line"><a name="l00561"></a><span class="lineno"> 561</span>&#160;</div>
<div class="line"><a name="l00562"></a><span class="lineno"> 562</span>&#160; <span class="comment">// This doesn&#39;t need to be a member, but I do it to avoid reallocations</span></div>
<div class="line"><a name="l00563"></a><span class="lineno"> 563</span>&#160; <a class="code" href="../../d4/df2/class_data_structures_1_1_range_list.xhtml">DataStructures::RangeList&lt;DatagramSequenceNumberType&gt;</a> incomingAcks;</div>
<div class="line"><a name="l00564"></a><span class="lineno"> 564</span>&#160;</div>
<div class="line"><a name="l00565"></a><span class="lineno"> 565</span>&#160; <span class="comment">// Every 16 datagrams, we make sure the 17th datagram goes out the same update tick, and is the same size as the 16th</span></div>
<div class="line"><a name="l00566"></a><span class="lineno"> 566</span>&#160; <span class="keywordtype">int</span> countdownToNextPacketPair;</div>
<div class="line"><a name="l00567"></a><span class="lineno"> 567</span>&#160; InternalPacket* AllocateFromInternalPacketPool(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00568"></a><span class="lineno"> 568</span>&#160; <span class="keywordtype">void</span> ReleaseToInternalPacketPool(InternalPacket *ip);</div>
<div class="line"><a name="l00569"></a><span class="lineno"> 569</span>&#160;</div>
<div class="line"><a name="l00570"></a><span class="lineno"> 570</span>&#160; <a class="code" href="../../d4/df2/class_data_structures_1_1_range_list.xhtml">DataStructures::RangeList&lt;DatagramSequenceNumberType&gt;</a> acknowlegements;</div>
<div class="line"><a name="l00571"></a><span class="lineno"> 571</span>&#160; <a class="code" href="../../d4/df2/class_data_structures_1_1_range_list.xhtml">DataStructures::RangeList&lt;DatagramSequenceNumberType&gt;</a> NAKs;</div>
<div class="line"><a name="l00572"></a><span class="lineno"> 572</span>&#160; <span class="keywordtype">bool</span> remoteSystemNeedsBAndAS;</div>
<div class="line"><a name="l00573"></a><span class="lineno"> 573</span>&#160;</div>
<div class="line"><a name="l00574"></a><span class="lineno"> 574</span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> GetMaxDatagramSizeExcludingMessageHeaderBytes(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00575"></a><span class="lineno"> 575</span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a227d2a5f9683a34d9d1e70772fd556ec">BitSize_t</a> GetMaxDatagramSizeExcludingMessageHeaderBits(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00576"></a><span class="lineno"> 576</span>&#160;</div>
<div class="line"><a name="l00577"></a><span class="lineno"> 577</span>&#160; <span class="comment">// ourOffset refers to a section within externallyAllocatedPtr. Do not deallocate externallyAllocatedPtr until all references are lost</span></div>
<div class="line"><a name="l00578"></a><span class="lineno"> 578</span>&#160; <span class="keywordtype">void</span> AllocInternalPacketData(InternalPacket *internalPacket, InternalPacketRefCountedData **refCounter, <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *externallyAllocatedPtr, <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *ourOffset);</div>
<div class="line"><a name="l00579"></a><span class="lineno"> 579</span>&#160; <span class="comment">// Set the data pointer to externallyAllocatedPtr, do not allocate</span></div>
<div class="line"><a name="l00580"></a><span class="lineno"> 580</span>&#160; <span class="keywordtype">void</span> AllocInternalPacketData(InternalPacket *internalPacket, <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *externallyAllocatedPtr);</div>
<div class="line"><a name="l00581"></a><span class="lineno"> 581</span>&#160; <span class="comment">// Allocate new</span></div>
<div class="line"><a name="l00582"></a><span class="lineno"> 582</span>&#160; <span class="keywordtype">void</span> AllocInternalPacketData(InternalPacket *internalPacket, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> numBytes, <span class="keywordtype">bool</span> allowStack, <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="l00583"></a><span class="lineno"> 583</span>&#160; <span class="keywordtype">void</span> FreeInternalPacketData(InternalPacket *internalPacket, <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="l00584"></a><span class="lineno"> 584</span>&#160; <a class="code" href="../../de/df9/class_data_structures_1_1_memory_pool.xhtml">DataStructures::MemoryPool&lt;InternalPacketRefCountedData&gt;</a> refCountedDataPool;</div>
<div class="line"><a name="l00585"></a><span class="lineno"> 585</span>&#160;</div>
<div class="line"><a name="l00586"></a><span class="lineno"> 586</span>&#160; BPSTracker bpsMetrics[<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a4957d87c7d01c02ee3365ea01aec40aca766e442d17c52434750d2c2208555237">RNS_PER_SECOND_METRICS_COUNT</a>];</div>
<div class="line"><a name="l00587"></a><span class="lineno"> 587</span>&#160; <a class="code" href="../../d0/dfb/_c_c_rak_net_sliding_window_8h.xhtml#af68854e24d09ea8058bf8b27ce0f24e6">CCTimeType</a> lastBpsClear;</div>
<div class="line"><a name="l00588"></a><span class="lineno"> 588</span>&#160;</div>
<div class="line"><a name="l00589"></a><span class="lineno"> 589</span>&#160;<span class="preprocessor">#if LIBCAT_SECURITY==1</span></div>
<div class="line"><a name="l00590"></a><span class="lineno"> 590</span>&#160;<span class="preprocessor"></span><span class="keyword">public</span>:</div>
<div class="line"><a name="l00591"></a><span class="lineno"> 591</span>&#160; cat::AuthenticatedEncryption* GetAuthenticatedEncryption(<span class="keywordtype">void</span>) { <span class="keywordflow">return</span> &amp;auth_enc; }</div>
<div class="line"><a name="l00592"></a><span class="lineno"> 592</span>&#160;</div>
<div class="line"><a name="l00593"></a><span class="lineno"> 593</span>&#160;<span class="keyword">protected</span>:</div>
<div class="line"><a name="l00594"></a><span class="lineno"> 594</span>&#160; cat::AuthenticatedEncryption auth_enc;</div>
<div class="line"><a name="l00595"></a><span class="lineno"> 595</span>&#160; <span class="keywordtype">bool</span> useSecurity;</div>
<div class="line"><a name="l00596"></a><span class="lineno"> 596</span>&#160;<span class="preprocessor">#endif // LIBCAT_SECURITY</span></div>
<div class="line"><a name="l00597"></a><span class="lineno"> 597</span>&#160;<span class="preprocessor"></span>};</div>
<div class="line"><a name="l00598"></a><span class="lineno"> 598</span>&#160;</div>
<div class="line"><a name="l00599"></a><span class="lineno"> 599</span>&#160;} <span class="comment">// namespace SLNet</span></div>
<div class="line"><a name="l00600"></a><span class="lineno"> 600</span>&#160;</div>
<div class="line"><a name="l00601"></a><span class="lineno"> 601</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="../../dd/dba/_reliability_layer_8h.xhtml">ReliabilityLayer.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,173 @@
<!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/dd8/class_s_l_net_1_1_t_c_p_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="headertitle">
<div class="title">SLNet::TCPInterface Member List</div> </div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml">SLNet::TCPInterface</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><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><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 class="even"><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><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 class="even"><td class="entry"><a class="el" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml#a51fa9556886efb6772ecb0c3bd4857b4">CloseConnection</a>(SystemAddress systemAddress)</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#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="../../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><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 class="even"><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><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 class="even"><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><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 class="even"><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><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 class="even"><td class="entry"><a class="el" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml#aebac46cfccd64e29214d3410722df872">HasCompletedConnectionAttempt</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"></td></tr>
<tr><td class="entry"><a class="el" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml#a58fe702e887f58dbe6ea6e12210e55d2">HasFailedConnectionAttempt</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"></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#a0eb90925c3a0ae42d00019214446fb97">HasLostConnection</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"></td></tr>
<tr><td class="entry"><a class="el" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml#ad45c6e1c80948f916bf946896c3ba84f">HasNewIncomingConnection</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"></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#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><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 class="even"><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><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 class="even"><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><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 class="even"><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><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 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="../../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 class="even"><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><td class="entry"><a class="el" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml#a71c601f7df74b40aae954757c7724ca9">Receive</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#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><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 class="even"><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><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 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="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml#a6a2bf12f77233eec447a6496730286e7">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="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml#ab9a18b30172fe1723a2ecaf91025642e">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="../../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="../../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="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml#ab8e38a1a18cac128a2bb22ed5374cb04">Stop</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"></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="../../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><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: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,51 @@
var memoryoverride_8h =
[
[ "_DLMallocDirectMMap", "dd/dc5/memoryoverride_8h.xhtml#a14b68afb1843d2b99e6d6e5544c851ff", null ],
[ "_DLMallocMMap", "dd/dc5/memoryoverride_8h.xhtml#ab53f5c8ceb17e864457a90e4a96d99fc", null ],
[ "_DLMallocMUnmap", "dd/dc5/memoryoverride_8h.xhtml#a3e839404a96ba8633ede4ed4b547f0d6", null ],
[ "_RakFree", "dd/dc5/memoryoverride_8h.xhtml#af59997858a79daeb89c74162cee89ca5", null ],
[ "_RakFree_Ex", "dd/dc5/memoryoverride_8h.xhtml#ad506002bf4c56ae8bbf1480c3aa07b21", null ],
[ "_RakMalloc", "dd/dc5/memoryoverride_8h.xhtml#a2246a317cafe897cc1e04505b825b149", null ],
[ "_RakMalloc_Ex", "dd/dc5/memoryoverride_8h.xhtml#a6fcc82b5cd24ed0f7d9a5c12167a9e22", null ],
[ "_RakRealloc", "dd/dc5/memoryoverride_8h.xhtml#a373332442113db2f77f9d4bcde34fd85", null ],
[ "_RakRealloc_Ex", "dd/dc5/memoryoverride_8h.xhtml#abf43ab0d5643e947ca21ec290bb8b50f", null ],
[ "FreeRakNetFixedHeap", "dd/dc5/memoryoverride_8h.xhtml#a29e0131e4d447f9590fe534523f13b27", null ],
[ "OP_DELETE", "dd/dc5/memoryoverride_8h.xhtml#a79772d09451f784e87bec85694fad1ed", null ],
[ "OP_DELETE_ARRAY", "dd/dc5/memoryoverride_8h.xhtml#acd53258ab2c0b731df325c91b2e85c9b", null ],
[ "OP_NEW", "dd/dc5/memoryoverride_8h.xhtml#af78c01538ca9bd144136bdce3dfd174d", null ],
[ "OP_NEW_1", "dd/dc5/memoryoverride_8h.xhtml#aa35b7f43727a279b6ceabccc89079189", null ],
[ "OP_NEW_2", "dd/dc5/memoryoverride_8h.xhtml#ae34c51dd709b53b77531c8cbf3c2efa1", null ],
[ "OP_NEW_3", "dd/dc5/memoryoverride_8h.xhtml#af2a915a9ae41529cc63f2a936e2ba1e4", null ],
[ "OP_NEW_4", "dd/dc5/memoryoverride_8h.xhtml#abc7704b809071ede33eedc6a31f3853b", null ],
[ "OP_NEW_ARRAY", "dd/dc5/memoryoverride_8h.xhtml#ac96ed430786d47b5993d40137617a2fd", null ],
[ "SetDLMallocDirectMMap", "dd/dc5/memoryoverride_8h.xhtml#aa1492bb514966d3bf5aeb7964d84a1a9", null ],
[ "SetDLMallocMMap", "dd/dc5/memoryoverride_8h.xhtml#ad9b9b4fad00cab089ab7e27ae41848f3", null ],
[ "SetDLMallocMUnmap", "dd/dc5/memoryoverride_8h.xhtml#ae8755116b78d1951674d00af43c1ec88", null ],
[ "SetFree", "dd/dc5/memoryoverride_8h.xhtml#a6739912016f2f23a86c55e84301e30ab", null ],
[ "SetFree_Ex", "dd/dc5/memoryoverride_8h.xhtml#a704865b9c1fd85082077bda943bf71ba", null ],
[ "SetMalloc", "dd/dc5/memoryoverride_8h.xhtml#a7190bbda4327864c5e35e6ae59cb96f1", null ],
[ "SetMalloc_Ex", "dd/dc5/memoryoverride_8h.xhtml#a1a26d4e004d6c7235849e7a06ef892b3", null ],
[ "SetNotifyOutOfMemory", "dd/dc5/memoryoverride_8h.xhtml#a11d817ec43f2a6aba67c979c5c4f1362", null ],
[ "SetRealloc", "dd/dc5/memoryoverride_8h.xhtml#a675c429fa299ef50630d3a1d302b5525", null ],
[ "SetRealloc_Ex", "dd/dc5/memoryoverride_8h.xhtml#ac9b6c7d71b96281ea681b5fb4b30a482", null ],
[ "UseRaknetFixedHeap", "dd/dc5/memoryoverride_8h.xhtml#aab43d5deb57795862e780918a11a9217", null ],
[ "dlMallocDirectMMap", "dd/dc5/memoryoverride_8h.xhtml#ad5a8fc276382feab852d95865978644d", null ],
[ "dlMallocMMap", "dd/dc5/memoryoverride_8h.xhtml#acf55999ba5855725fda4513e9a8de1aa", null ],
[ "dlMallocMUnmap", "dd/dc5/memoryoverride_8h.xhtml#afbb9b74667c57853346fbda53e12a084", null ],
[ "GetDLMallocDirectMMap", "dd/dc5/memoryoverride_8h.xhtml#ad7e5fc03349fbc056249a564a4b89af0", null ],
[ "GetDLMallocMMap", "dd/dc5/memoryoverride_8h.xhtml#ac840ec64dc15e0556ab3164300fb584b", null ],
[ "GetDLMallocMUnmap", "dd/dc5/memoryoverride_8h.xhtml#a0ae4775988576e08bdd7841475aef9c0", null ],
[ "GetFree", "dd/dc5/memoryoverride_8h.xhtml#aa6108bf4d6d5eb9ba8c194005f45e513", null ],
[ "GetFree_Ex", "dd/dc5/memoryoverride_8h.xhtml#a9521d72ca3a28d3ff2db3f427f77a84c", null ],
[ "GetMalloc", "dd/dc5/memoryoverride_8h.xhtml#a41c11a44a2e1f4b06ca0435aae5c89fd", null ],
[ "GetMalloc_Ex", "dd/dc5/memoryoverride_8h.xhtml#ad373814b63bc0ab5cead0485d31d31ca", null ],
[ "GetRealloc", "dd/dc5/memoryoverride_8h.xhtml#ad1882b45276861ba0431ebf524984218", null ],
[ "GetRealloc_Ex", "dd/dc5/memoryoverride_8h.xhtml#a54e21e839e9742ad7bbff6c4b10bfeff", null ],
[ "notifyOutOfMemory", "dd/dc5/memoryoverride_8h.xhtml#a8e3a56ae91a1dfd92b1271c41208d5be", null ],
[ "rakFree", "dd/dc5/memoryoverride_8h.xhtml#a8ee3457a85d54bf656cadcba67224968", null ],
[ "rakFree_Ex", "dd/dc5/memoryoverride_8h.xhtml#adaadb4582ec0cdb9c7189541a273271e", null ],
[ "rakMalloc", "dd/dc5/memoryoverride_8h.xhtml#a1aea27069cfa149c5a2c833d4899e2eb", null ],
[ "rakMalloc_Ex", "dd/dc5/memoryoverride_8h.xhtml#af5594a49369994aed51c57a94dafff29", null ],
[ "rakRealloc", "dd/dc5/memoryoverride_8h.xhtml#abeb999577dd69d4f0f0a2edf91c6e0fd", null ],
[ "rakRealloc_Ex", "dd/dc5/memoryoverride_8h.xhtml#a0e91ca46a0ba5f06403846bef6ff6b5e", null ]
];

View File

@ -0,0 +1,816 @@
<!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/memoryoverride.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('dd/dc5/memoryoverride_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="#namespaces">Namespaces</a> &#124;
<a href="#func-members">Functions</a> &#124;
<a href="#var-members">Variables</a> </div>
<div class="headertitle">
<div class="title">memoryoverride.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>If _USE_RAK_MEMORY_OVERRIDE is defined, memory allocations go through rakMalloc, rakRealloc, and rakFree.
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="../../db/dbd/_export_8h_source.xhtml">Export.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../d8/db0/defines_8h_source.xhtml">defines.h</a>&quot;</code><br/>
<code>#include &lt;new&gt;</code><br/>
<code>#include &quot;<a class="el" href="../../d1/d42/alloca_8h_source.xhtml">alloca.h</a>&quot;</code><br/>
</div>
<p><a href="../../dd/dc5/memoryoverride_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="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:dd/d30/namespace_s_l_net"><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d30/namespace_s_l_net.xhtml">SLNet</a></td></tr>
<tr class="memdesc:dd/d30/namespace_s_l_net"><td class="mdescLeft">&#160;</td><td class="mdescRight">Simple class to send changes between directories. In essence, a simple autopatcher that can be used for transmitting levels, skins, etc. <br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a7190bbda4327864c5e35e6ae59cb96f1"><td class="memItemLeft" align="right" valign="top">void <a class="el" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/dc5/memoryoverride_8h.xhtml#a7190bbda4327864c5e35e6ae59cb96f1">SetMalloc</a> (void *(*userFunction)(size_t size))</td></tr>
<tr class="separator:a7190bbda4327864c5e35e6ae59cb96f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a675c429fa299ef50630d3a1d302b5525"><td class="memItemLeft" align="right" valign="top">void <a class="el" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/dc5/memoryoverride_8h.xhtml#a675c429fa299ef50630d3a1d302b5525">SetRealloc</a> (void *(*userFunction)(void *p, size_t size))</td></tr>
<tr class="separator:a675c429fa299ef50630d3a1d302b5525"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6739912016f2f23a86c55e84301e30ab"><td class="memItemLeft" align="right" valign="top">void <a class="el" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/dc5/memoryoverride_8h.xhtml#a6739912016f2f23a86c55e84301e30ab">SetFree</a> (void(*userFunction)(void *p))</td></tr>
<tr class="separator:a6739912016f2f23a86c55e84301e30ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1a26d4e004d6c7235849e7a06ef892b3"><td class="memItemLeft" align="right" valign="top">void <a class="el" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/dc5/memoryoverride_8h.xhtml#a1a26d4e004d6c7235849e7a06ef892b3">SetMalloc_Ex</a> (void *(*userFunction)(size_t size, const char *file, unsigned int line))</td></tr>
<tr class="separator:a1a26d4e004d6c7235849e7a06ef892b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac9b6c7d71b96281ea681b5fb4b30a482"><td class="memItemLeft" align="right" valign="top">void <a class="el" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/dc5/memoryoverride_8h.xhtml#ac9b6c7d71b96281ea681b5fb4b30a482">SetRealloc_Ex</a> (void *(*userFunction)(void *p, size_t size, const char *file, unsigned int line))</td></tr>
<tr class="separator:ac9b6c7d71b96281ea681b5fb4b30a482"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a704865b9c1fd85082077bda943bf71ba"><td class="memItemLeft" align="right" valign="top">void <a class="el" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/dc5/memoryoverride_8h.xhtml#a704865b9c1fd85082077bda943bf71ba">SetFree_Ex</a> (void(*userFunction)(void *p, const char *file, unsigned int line))</td></tr>
<tr class="separator:a704865b9c1fd85082077bda943bf71ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a11d817ec43f2a6aba67c979c5c4f1362"><td class="memItemLeft" align="right" valign="top">void <a class="el" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/dc5/memoryoverride_8h.xhtml#a11d817ec43f2a6aba67c979c5c4f1362">SetNotifyOutOfMemory</a> (void(*userFunction)(const char *file, const long line))</td></tr>
<tr class="separator:a11d817ec43f2a6aba67c979c5c4f1362"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad9b9b4fad00cab089ab7e27ae41848f3"><td class="memItemLeft" align="right" valign="top">void <a class="el" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/dc5/memoryoverride_8h.xhtml#ad9b9b4fad00cab089ab7e27ae41848f3">SetDLMallocMMap</a> (void *(*userFunction)(size_t size))</td></tr>
<tr class="separator:ad9b9b4fad00cab089ab7e27ae41848f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa1492bb514966d3bf5aeb7964d84a1a9"><td class="memItemLeft" align="right" valign="top">void <a class="el" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/dc5/memoryoverride_8h.xhtml#aa1492bb514966d3bf5aeb7964d84a1a9">SetDLMallocDirectMMap</a> (void *(*userFunction)(size_t size))</td></tr>
<tr class="separator:aa1492bb514966d3bf5aeb7964d84a1a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae8755116b78d1951674d00af43c1ec88"><td class="memItemLeft" align="right" valign="top">void <a class="el" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/dc5/memoryoverride_8h.xhtml#ae8755116b78d1951674d00af43c1ec88">SetDLMallocMUnmap</a> (int(*userFunction)(void *ptr, size_t size))</td></tr>
<tr class="separator:ae8755116b78d1951674d00af43c1ec88"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af78c01538ca9bd144136bdce3dfd174d"><td class="memTemplParams" colspan="2">template&lt;class Type &gt; </td></tr>
<tr class="memitem:af78c01538ca9bd144136bdce3dfd174d"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> Type *&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#af78c01538ca9bd144136bdce3dfd174d">SLNet::OP_NEW</a> (const char *file, unsigned int line)</td></tr>
<tr class="separator:af78c01538ca9bd144136bdce3dfd174d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa35b7f43727a279b6ceabccc89079189"><td class="memTemplParams" colspan="2">template&lt;class Type , class P1 &gt; </td></tr>
<tr class="memitem:aa35b7f43727a279b6ceabccc89079189"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> Type *&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#aa35b7f43727a279b6ceabccc89079189">SLNet::OP_NEW_1</a> (const char *file, unsigned int line, const P1 &amp;p1)</td></tr>
<tr class="separator:aa35b7f43727a279b6ceabccc89079189"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae34c51dd709b53b77531c8cbf3c2efa1"><td class="memTemplParams" colspan="2">template&lt;class Type , class P1 , class P2 &gt; </td></tr>
<tr class="memitem:ae34c51dd709b53b77531c8cbf3c2efa1"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> Type *&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#ae34c51dd709b53b77531c8cbf3c2efa1">SLNet::OP_NEW_2</a> (const char *file, unsigned int line, const P1 &amp;p1, const P2 &amp;p2)</td></tr>
<tr class="separator:ae34c51dd709b53b77531c8cbf3c2efa1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af2a915a9ae41529cc63f2a936e2ba1e4"><td class="memTemplParams" colspan="2">template&lt;class Type , class P1 , class P2 , class P3 &gt; </td></tr>
<tr class="memitem:af2a915a9ae41529cc63f2a936e2ba1e4"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> Type *&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#af2a915a9ae41529cc63f2a936e2ba1e4">SLNet::OP_NEW_3</a> (const char *file, unsigned int line, const P1 &amp;p1, const P2 &amp;p2, const P3 &amp;p3)</td></tr>
<tr class="separator:af2a915a9ae41529cc63f2a936e2ba1e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abc7704b809071ede33eedc6a31f3853b"><td class="memTemplParams" colspan="2">template&lt;class Type , class P1 , class P2 , class P3 , class P4 &gt; </td></tr>
<tr class="memitem:abc7704b809071ede33eedc6a31f3853b"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> Type *&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#abc7704b809071ede33eedc6a31f3853b">SLNet::OP_NEW_4</a> (const char *file, unsigned int line, const P1 &amp;p1, const P2 &amp;p2, const P3 &amp;p3, const P4 &amp;p4)</td></tr>
<tr class="separator:abc7704b809071ede33eedc6a31f3853b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac96ed430786d47b5993d40137617a2fd"><td class="memTemplParams" colspan="2">template&lt;class Type &gt; </td></tr>
<tr class="memitem:ac96ed430786d47b5993d40137617a2fd"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> Type *&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#ac96ed430786d47b5993d40137617a2fd">SLNet::OP_NEW_ARRAY</a> (const int count, const char *file, unsigned int line)</td></tr>
<tr class="separator:ac96ed430786d47b5993d40137617a2fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a79772d09451f784e87bec85694fad1ed"><td class="memTemplParams" colspan="2">template&lt;class Type &gt; </td></tr>
<tr class="memitem:a79772d09451f784e87bec85694fad1ed"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#a79772d09451f784e87bec85694fad1ed">SLNet::OP_DELETE</a> (Type *buff, const char *file, unsigned int line)</td></tr>
<tr class="separator:a79772d09451f784e87bec85694fad1ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acd53258ab2c0b731df325c91b2e85c9b"><td class="memTemplParams" colspan="2">template&lt;class Type &gt; </td></tr>
<tr class="memitem:acd53258ab2c0b731df325c91b2e85c9b"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#acd53258ab2c0b731df325c91b2e85c9b">SLNet::OP_DELETE_ARRAY</a> (Type *buff, const char *file, unsigned int line)</td></tr>
<tr class="separator:acd53258ab2c0b731df325c91b2e85c9b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2246a317cafe897cc1e04505b825b149"><td class="memItemLeft" align="right" valign="top">void <a class="el" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#a2246a317cafe897cc1e04505b825b149">SLNet::_RakMalloc</a> (size_t size)</td></tr>
<tr class="separator:a2246a317cafe897cc1e04505b825b149"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a373332442113db2f77f9d4bcde34fd85"><td class="memItemLeft" align="right" valign="top">void <a class="el" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#a373332442113db2f77f9d4bcde34fd85">SLNet::_RakRealloc</a> (void *p, size_t size)</td></tr>
<tr class="separator:a373332442113db2f77f9d4bcde34fd85"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af59997858a79daeb89c74162cee89ca5"><td class="memItemLeft" align="right" valign="top">void <a class="el" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#af59997858a79daeb89c74162cee89ca5">SLNet::_RakFree</a> (void *p)</td></tr>
<tr class="separator:af59997858a79daeb89c74162cee89ca5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6fcc82b5cd24ed0f7d9a5c12167a9e22"><td class="memItemLeft" align="right" valign="top">void <a class="el" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#a6fcc82b5cd24ed0f7d9a5c12167a9e22">SLNet::_RakMalloc_Ex</a> (size_t size, const char *file, unsigned int line)</td></tr>
<tr class="separator:a6fcc82b5cd24ed0f7d9a5c12167a9e22"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abf43ab0d5643e947ca21ec290bb8b50f"><td class="memItemLeft" align="right" valign="top">void <a class="el" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#abf43ab0d5643e947ca21ec290bb8b50f">SLNet::_RakRealloc_Ex</a> (void *p, size_t size, const char *file, unsigned int line)</td></tr>
<tr class="separator:abf43ab0d5643e947ca21ec290bb8b50f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad506002bf4c56ae8bbf1480c3aa07b21"><td class="memItemLeft" align="right" valign="top">void <a class="el" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#ad506002bf4c56ae8bbf1480c3aa07b21">SLNet::_RakFree_Ex</a> (void *p, const char *file, unsigned int line)</td></tr>
<tr class="separator:ad506002bf4c56ae8bbf1480c3aa07b21"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab53f5c8ceb17e864457a90e4a96d99fc"><td class="memItemLeft" align="right" valign="top">void <a class="el" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#ab53f5c8ceb17e864457a90e4a96d99fc">SLNet::_DLMallocMMap</a> (size_t size)</td></tr>
<tr class="separator:ab53f5c8ceb17e864457a90e4a96d99fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a14b68afb1843d2b99e6d6e5544c851ff"><td class="memItemLeft" align="right" valign="top">void <a class="el" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#a14b68afb1843d2b99e6d6e5544c851ff">SLNet::_DLMallocDirectMMap</a> (size_t size)</td></tr>
<tr class="separator:a14b68afb1843d2b99e6d6e5544c851ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3e839404a96ba8633ede4ed4b547f0d6"><td class="memItemLeft" align="right" valign="top">int <a class="el" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#a3e839404a96ba8633ede4ed4b547f0d6">SLNet::_DLMallocMUnmap</a> (void *p, size_t size)</td></tr>
<tr class="separator:a3e839404a96ba8633ede4ed4b547f0d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aab43d5deb57795862e780918a11a9217"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/dc5/memoryoverride_8h.xhtml#aab43d5deb57795862e780918a11a9217">UseRaknetFixedHeap</a> (size_t initialCapacity, void *(*yourMMapFunction)(size_t size)=<a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#ab53f5c8ceb17e864457a90e4a96d99fc">SLNet::_DLMallocMMap</a>, void *(*yourDirectMMapFunction)(size_t size)=<a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#a14b68afb1843d2b99e6d6e5544c851ff">SLNet::_DLMallocDirectMMap</a>, int(*yourMUnmapFunction)(void *p, size_t size)=<a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#a3e839404a96ba8633ede4ed4b547f0d6">SLNet::_DLMallocMUnmap</a>)</td></tr>
<tr class="separator:aab43d5deb57795862e780918a11a9217"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a29e0131e4d447f9590fe534523f13b27"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/dc5/memoryoverride_8h.xhtml#a29e0131e4d447f9590fe534523f13b27">FreeRakNetFixedHeap</a> (void)</td></tr>
<tr class="separator:a29e0131e4d447f9590fe534523f13b27"><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:a1aea27069cfa149c5a2c833d4899e2eb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> void *(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/dc5/memoryoverride_8h.xhtml#a1aea27069cfa149c5a2c833d4899e2eb">rakMalloc</a> )(size_t size)</td></tr>
<tr class="separator:a1aea27069cfa149c5a2c833d4899e2eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abeb999577dd69d4f0f0a2edf91c6e0fd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> void *(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/dc5/memoryoverride_8h.xhtml#abeb999577dd69d4f0f0a2edf91c6e0fd">rakRealloc</a> )(void *p, size_t size)</td></tr>
<tr class="separator:abeb999577dd69d4f0f0a2edf91c6e0fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8ee3457a85d54bf656cadcba67224968"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/dc5/memoryoverride_8h.xhtml#a8ee3457a85d54bf656cadcba67224968">rakFree</a> )(void *p)</td></tr>
<tr class="separator:a8ee3457a85d54bf656cadcba67224968"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af5594a49369994aed51c57a94dafff29"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> void *(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/dc5/memoryoverride_8h.xhtml#af5594a49369994aed51c57a94dafff29">rakMalloc_Ex</a> )(size_t size, const char *file, unsigned int line)</td></tr>
<tr class="separator:af5594a49369994aed51c57a94dafff29"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0e91ca46a0ba5f06403846bef6ff6b5e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> void *(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/dc5/memoryoverride_8h.xhtml#a0e91ca46a0ba5f06403846bef6ff6b5e">rakRealloc_Ex</a> )(void *p, size_t size, const char *file, unsigned int line)</td></tr>
<tr class="separator:a0e91ca46a0ba5f06403846bef6ff6b5e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adaadb4582ec0cdb9c7189541a273271e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/dc5/memoryoverride_8h.xhtml#adaadb4582ec0cdb9c7189541a273271e">rakFree_Ex</a> )(void *p, const char *file, unsigned int line)</td></tr>
<tr class="separator:adaadb4582ec0cdb9c7189541a273271e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8e3a56ae91a1dfd92b1271c41208d5be"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/dc5/memoryoverride_8h.xhtml#a8e3a56ae91a1dfd92b1271c41208d5be">notifyOutOfMemory</a> )(const char *file, const long line)</td></tr>
<tr class="separator:a8e3a56ae91a1dfd92b1271c41208d5be"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acf55999ba5855725fda4513e9a8de1aa"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> void *(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/dc5/memoryoverride_8h.xhtml#acf55999ba5855725fda4513e9a8de1aa">dlMallocMMap</a> )(size_t size)</td></tr>
<tr class="separator:acf55999ba5855725fda4513e9a8de1aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad5a8fc276382feab852d95865978644d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> void *(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/dc5/memoryoverride_8h.xhtml#ad5a8fc276382feab852d95865978644d">dlMallocDirectMMap</a> )(size_t size)</td></tr>
<tr class="separator:ad5a8fc276382feab852d95865978644d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afbb9b74667c57853346fbda53e12a084"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> int(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/dc5/memoryoverride_8h.xhtml#afbb9b74667c57853346fbda53e12a084">dlMallocMUnmap</a> )(void *ptr, size_t size)</td></tr>
<tr class="separator:afbb9b74667c57853346fbda53e12a084"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a41c11a44a2e1f4b06ca0435aae5c89fd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> void <br class="typebreak"/>
*(*)(size_t size)&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/dc5/memoryoverride_8h.xhtml#a41c11a44a2e1f4b06ca0435aae5c89fd">GetMalloc</a> ()</td></tr>
<tr class="separator:a41c11a44a2e1f4b06ca0435aae5c89fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad1882b45276861ba0431ebf524984218"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> void *(*)(void <br class="typebreak"/>
*p, size_t size)&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/dc5/memoryoverride_8h.xhtml#ad1882b45276861ba0431ebf524984218">GetRealloc</a> ()</td></tr>
<tr class="separator:ad1882b45276861ba0431ebf524984218"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa6108bf4d6d5eb9ba8c194005f45e513"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> void(*)(void *p)&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/dc5/memoryoverride_8h.xhtml#aa6108bf4d6d5eb9ba8c194005f45e513">GetFree</a> ()</td></tr>
<tr class="separator:aa6108bf4d6d5eb9ba8c194005f45e513"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad373814b63bc0ab5cead0485d31d31ca"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> void <br class="typebreak"/>
*(*)(size_t size, const char <br class="typebreak"/>
*file, unsigned int line)&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/dc5/memoryoverride_8h.xhtml#ad373814b63bc0ab5cead0485d31d31ca">GetMalloc_Ex</a> ()</td></tr>
<tr class="separator:ad373814b63bc0ab5cead0485d31d31ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a54e21e839e9742ad7bbff6c4b10bfeff"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> void *(*)(void <br class="typebreak"/>
*p, size_t size, const char <br class="typebreak"/>
*file, unsigned int line)&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/dc5/memoryoverride_8h.xhtml#a54e21e839e9742ad7bbff6c4b10bfeff">GetRealloc_Ex</a> ()</td></tr>
<tr class="separator:a54e21e839e9742ad7bbff6c4b10bfeff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9521d72ca3a28d3ff2db3f427f77a84c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> void(*)(void *p, <br class="typebreak"/>
const char *file, unsigned int <br class="typebreak"/>
line)&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/dc5/memoryoverride_8h.xhtml#a9521d72ca3a28d3ff2db3f427f77a84c">GetFree_Ex</a> ()</td></tr>
<tr class="separator:a9521d72ca3a28d3ff2db3f427f77a84c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac840ec64dc15e0556ab3164300fb584b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> void <br class="typebreak"/>
*(*)(size_t size)&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/dc5/memoryoverride_8h.xhtml#ac840ec64dc15e0556ab3164300fb584b">GetDLMallocMMap</a> ()</td></tr>
<tr class="separator:ac840ec64dc15e0556ab3164300fb584b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad7e5fc03349fbc056249a564a4b89af0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> void <br class="typebreak"/>
*(*)(size_t size)&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/dc5/memoryoverride_8h.xhtml#ad7e5fc03349fbc056249a564a4b89af0">GetDLMallocDirectMMap</a> ()</td></tr>
<tr class="separator:ad7e5fc03349fbc056249a564a4b89af0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0ae4775988576e08bdd7841475aef9c0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> int(*)(void <br class="typebreak"/>
*ptr, size_t size)&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/dc5/memoryoverride_8h.xhtml#a0ae4775988576e08bdd7841475aef9c0">GetDLMallocMUnmap</a> ()</td></tr>
<tr class="separator:a0ae4775988576e08bdd7841475aef9c0"><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>If _USE_RAK_MEMORY_OVERRIDE is defined, memory allocations go through rakMalloc, rakRealloc, and rakFree. </p>
<p>Definition in file <a class="el" href="../../dd/dc5/memoryoverride_8h_source.xhtml">memoryoverride.h</a>.</p>
</div><h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="a29e0131e4d447f9590fe534523f13b27"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void FreeRakNetFixedHeap </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/d4c/_rak_memory_override_8cpp_source.xhtml#l00293">293</a> of file <a class="el" href="../../d9/d4c/_rak_memory_override_8cpp_source.xhtml">RakMemoryOverride.cpp</a>.</p>
</div>
</div>
<a class="anchor" id="aa1492bb514966d3bf5aeb7964d84a1a9"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> SetDLMallocDirectMMap </td>
<td>(</td>
<td class="paramtype">void *(*)(size_t size)&#160;</td>
<td class="paramname"><em>userFunction</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d9/d4c/_rak_memory_override_8cpp_source.xhtml#l00102">102</a> of file <a class="el" href="../../d9/d4c/_rak_memory_override_8cpp_source.xhtml">RakMemoryOverride.cpp</a>.</p>
<p>References <a class="el" href="../../d9/d4c/_rak_memory_override_8cpp_source.xhtml#l00067">dlMallocDirectMMap</a>.</p>
</div>
</div>
<a class="anchor" id="ad9b9b4fad00cab089ab7e27ae41848f3"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> SetDLMallocMMap </td>
<td>(</td>
<td class="paramtype">void *(*)(size_t size)&#160;</td>
<td class="paramname"><em>userFunction</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d9/d4c/_rak_memory_override_8cpp_source.xhtml#l00098">98</a> of file <a class="el" href="../../d9/d4c/_rak_memory_override_8cpp_source.xhtml">RakMemoryOverride.cpp</a>.</p>
<p>References <a class="el" href="../../d9/d4c/_rak_memory_override_8cpp_source.xhtml#l00066">dlMallocMMap</a>.</p>
</div>
</div>
<a class="anchor" id="ae8755116b78d1951674d00af43c1ec88"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> SetDLMallocMUnmap </td>
<td>(</td>
<td class="paramtype">int(*)(void *ptr, size_t size)&#160;</td>
<td class="paramname"><em>userFunction</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d9/d4c/_rak_memory_override_8cpp_source.xhtml#l00106">106</a> of file <a class="el" href="../../d9/d4c/_rak_memory_override_8cpp_source.xhtml">RakMemoryOverride.cpp</a>.</p>
<p>References <a class="el" href="../../d9/d4c/_rak_memory_override_8cpp_source.xhtml#l00068">dlMallocMUnmap</a>.</p>
</div>
</div>
<a class="anchor" id="a6739912016f2f23a86c55e84301e30ab"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> SetFree </td>
<td>(</td>
<td class="paramtype">void(*)(void *p)&#160;</td>
<td class="paramname"><em>userFunction</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d9/d4c/_rak_memory_override_8cpp_source.xhtml#l00078">78</a> of file <a class="el" href="../../d9/d4c/_rak_memory_override_8cpp_source.xhtml">RakMemoryOverride.cpp</a>.</p>
<p>References <a class="el" href="../../d9/d4c/_rak_memory_override_8cpp_source.xhtml#l00061">rakFree</a>.</p>
</div>
</div>
<a class="anchor" id="a704865b9c1fd85082077bda943bf71ba"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> SetFree_Ex </td>
<td>(</td>
<td class="paramtype">void(*)(void *p, const char *file, unsigned int line)&#160;</td>
<td class="paramname"><em>userFunction</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d9/d4c/_rak_memory_override_8cpp_source.xhtml#l00090">90</a> of file <a class="el" href="../../d9/d4c/_rak_memory_override_8cpp_source.xhtml">RakMemoryOverride.cpp</a>.</p>
<p>References <a class="el" href="../../d9/d4c/_rak_memory_override_8cpp_source.xhtml#l00064">rakFree_Ex</a>.</p>
</div>
</div>
<a class="anchor" id="a7190bbda4327864c5e35e6ae59cb96f1"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> SetMalloc </td>
<td>(</td>
<td class="paramtype">void *(*)(size_t size)&#160;</td>
<td class="paramname"><em>userFunction</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d9/d4c/_rak_memory_override_8cpp_source.xhtml#l00070">70</a> of file <a class="el" href="../../d9/d4c/_rak_memory_override_8cpp_source.xhtml">RakMemoryOverride.cpp</a>.</p>
<p>References <a class="el" href="../../d9/d4c/_rak_memory_override_8cpp_source.xhtml#l00059">rakMalloc</a>.</p>
</div>
</div>
<a class="anchor" id="a1a26d4e004d6c7235849e7a06ef892b3"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> SetMalloc_Ex </td>
<td>(</td>
<td class="paramtype">void *(*)(size_t size, const char *file, unsigned int line)&#160;</td>
<td class="paramname"><em>userFunction</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d9/d4c/_rak_memory_override_8cpp_source.xhtml#l00082">82</a> of file <a class="el" href="../../d9/d4c/_rak_memory_override_8cpp_source.xhtml">RakMemoryOverride.cpp</a>.</p>
<p>References <a class="el" href="../../d9/d4c/_rak_memory_override_8cpp_source.xhtml#l00062">rakMalloc_Ex</a>.</p>
</div>
</div>
<a class="anchor" id="a11d817ec43f2a6aba67c979c5c4f1362"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> SetNotifyOutOfMemory </td>
<td>(</td>
<td class="paramtype">void(*)(const char *file, const long line)&#160;</td>
<td class="paramname"><em>userFunction</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d9/d4c/_rak_memory_override_8cpp_source.xhtml#l00094">94</a> of file <a class="el" href="../../d9/d4c/_rak_memory_override_8cpp_source.xhtml">RakMemoryOverride.cpp</a>.</p>
<p>References <a class="el" href="../../d9/d4c/_rak_memory_override_8cpp_source.xhtml#l00065">notifyOutOfMemory</a>.</p>
</div>
</div>
<a class="anchor" id="a675c429fa299ef50630d3a1d302b5525"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> SetRealloc </td>
<td>(</td>
<td class="paramtype">void *(*)(void *p, size_t size)&#160;</td>
<td class="paramname"><em>userFunction</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d9/d4c/_rak_memory_override_8cpp_source.xhtml#l00074">74</a> of file <a class="el" href="../../d9/d4c/_rak_memory_override_8cpp_source.xhtml">RakMemoryOverride.cpp</a>.</p>
<p>References <a class="el" href="../../d9/d4c/_rak_memory_override_8cpp_source.xhtml#l00060">rakRealloc</a>.</p>
</div>
</div>
<a class="anchor" id="ac9b6c7d71b96281ea681b5fb4b30a482"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> SetRealloc_Ex </td>
<td>(</td>
<td class="paramtype">void *(*)(void *p, size_t size, const char *file, unsigned int line)&#160;</td>
<td class="paramname"><em>userFunction</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d9/d4c/_rak_memory_override_8cpp_source.xhtml#l00086">86</a> of file <a class="el" href="../../d9/d4c/_rak_memory_override_8cpp_source.xhtml">RakMemoryOverride.cpp</a>.</p>
<p>References <a class="el" href="../../d9/d4c/_rak_memory_override_8cpp_source.xhtml#l00063">rakRealloc_Ex</a>.</p>
</div>
</div>
<a class="anchor" id="aab43d5deb57795862e780918a11a9217"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void UseRaknetFixedHeap </td>
<td>(</td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>initialCapacity</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *(*)(size_t size)&#160;</td>
<td class="paramname"><em>yourMMapFunction</em> = <code><a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#ab53f5c8ceb17e864457a90e4a96d99fc">SLNet::_DLMallocMMap</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *(*)(size_t size)&#160;</td>
<td class="paramname"><em>yourDirectMMapFunction</em> = <code><a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#a14b68afb1843d2b99e6d6e5544c851ff">SLNet::_DLMallocDirectMMap</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int(*)(void *p, size_t size)&#160;</td>
<td class="paramname"><em>yourMUnmapFunction</em> = <code><a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#a3e839404a96ba8633ede4ed4b547f0d6">SLNet::_DLMallocMUnmap</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d9/d4c/_rak_memory_override_8cpp_source.xhtml#l00283">283</a> of file <a class="el" href="../../d9/d4c/_rak_memory_override_8cpp_source.xhtml">RakMemoryOverride.cpp</a>.</p>
</div>
</div>
<h2 class="groupheader">Variable Documentation</h2>
<a class="anchor" id="ad5a8fc276382feab852d95865978644d"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> void*(* dlMallocDirectMMap)(size_t size)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d9/d4c/_rak_memory_override_8cpp_source.xhtml#l00067">67</a> of file <a class="el" href="../../d9/d4c/_rak_memory_override_8cpp_source.xhtml">RakMemoryOverride.cpp</a>.</p>
<p>Referenced by <a class="el" href="../../d9/d4c/_rak_memory_override_8cpp_source.xhtml#l00102">SetDLMallocDirectMMap()</a>.</p>
</div>
</div>
<a class="anchor" id="acf55999ba5855725fda4513e9a8de1aa"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> void*(* dlMallocMMap)(size_t size)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d9/d4c/_rak_memory_override_8cpp_source.xhtml#l00066">66</a> of file <a class="el" href="../../d9/d4c/_rak_memory_override_8cpp_source.xhtml">RakMemoryOverride.cpp</a>.</p>
<p>Referenced by <a class="el" href="../../d9/d4c/_rak_memory_override_8cpp_source.xhtml#l00098">SetDLMallocMMap()</a>.</p>
</div>
</div>
<a class="anchor" id="afbb9b74667c57853346fbda53e12a084"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> int(* dlMallocMUnmap)(void *ptr, size_t size)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d9/d4c/_rak_memory_override_8cpp_source.xhtml#l00068">68</a> of file <a class="el" href="../../d9/d4c/_rak_memory_override_8cpp_source.xhtml">RakMemoryOverride.cpp</a>.</p>
<p>Referenced by <a class="el" href="../../d9/d4c/_rak_memory_override_8cpp_source.xhtml#l00106">SetDLMallocMUnmap()</a>.</p>
</div>
</div>
<a class="anchor" id="ad7e5fc03349fbc056249a564a4b89af0"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> void*(*)(size_t size) GetDLMallocDirectMMap()</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d9/d4c/_rak_memory_override_8cpp_source.xhtml#l00138">138</a> of file <a class="el" href="../../d9/d4c/_rak_memory_override_8cpp_source.xhtml">RakMemoryOverride.cpp</a>.</p>
</div>
</div>
<a class="anchor" id="ac840ec64dc15e0556ab3164300fb584b"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> void*(*)(size_t size) GetDLMallocMMap()</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d9/d4c/_rak_memory_override_8cpp_source.xhtml#l00134">134</a> of file <a class="el" href="../../d9/d4c/_rak_memory_override_8cpp_source.xhtml">RakMemoryOverride.cpp</a>.</p>
</div>
</div>
<a class="anchor" id="a0ae4775988576e08bdd7841475aef9c0"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> int(*)(void* ptr, size_t size) GetDLMallocMUnmap()</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d9/d4c/_rak_memory_override_8cpp_source.xhtml#l00142">142</a> of file <a class="el" href="../../d9/d4c/_rak_memory_override_8cpp_source.xhtml">RakMemoryOverride.cpp</a>.</p>
</div>
</div>
<a class="anchor" id="aa6108bf4d6d5eb9ba8c194005f45e513"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> void(*)(void *p) GetFree()</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d9/d4c/_rak_memory_override_8cpp_source.xhtml#l00118">118</a> of file <a class="el" href="../../d9/d4c/_rak_memory_override_8cpp_source.xhtml">RakMemoryOverride.cpp</a>.</p>
</div>
</div>
<a class="anchor" id="a9521d72ca3a28d3ff2db3f427f77a84c"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> void(*)(void *p, const char *file, unsigned int line) GetFree_Ex()</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d9/d4c/_rak_memory_override_8cpp_source.xhtml#l00130">130</a> of file <a class="el" href="../../d9/d4c/_rak_memory_override_8cpp_source.xhtml">RakMemoryOverride.cpp</a>.</p>
<p>Referenced by <a class="el" href="../../dd/dc5/memoryoverride_8h_source.xhtml#l00182">SLNet::OP_DELETE()</a>, and <a class="el" href="../../dd/dc5/memoryoverride_8h_source.xhtml#l00197">SLNet::OP_DELETE_ARRAY()</a>.</p>
</div>
</div>
<a class="anchor" id="a41c11a44a2e1f4b06ca0435aae5c89fd"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> void*(*)(size_t size) GetMalloc()</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d9/d4c/_rak_memory_override_8cpp_source.xhtml#l00110">110</a> of file <a class="el" href="../../d9/d4c/_rak_memory_override_8cpp_source.xhtml">RakMemoryOverride.cpp</a>.</p>
</div>
</div>
<a class="anchor" id="ad373814b63bc0ab5cead0485d31d31ca"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> void*(*)(size_t size, const char *file, unsigned int line) GetMalloc_Ex()</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d9/d4c/_rak_memory_override_8cpp_source.xhtml#l00122">122</a> of file <a class="el" href="../../d9/d4c/_rak_memory_override_8cpp_source.xhtml">RakMemoryOverride.cpp</a>.</p>
<p>Referenced by <a class="el" href="../../dd/dc5/memoryoverride_8h_source.xhtml#l00087">SLNet::OP_NEW()</a>, <a class="el" href="../../dd/dc5/memoryoverride_8h_source.xhtml#l00101">SLNet::OP_NEW_1()</a>, <a class="el" href="../../dd/dc5/memoryoverride_8h_source.xhtml#l00115">SLNet::OP_NEW_2()</a>, <a class="el" href="../../dd/dc5/memoryoverride_8h_source.xhtml#l00129">SLNet::OP_NEW_3()</a>, <a class="el" href="../../dd/dc5/memoryoverride_8h_source.xhtml#l00143">SLNet::OP_NEW_4()</a>, and <a class="el" href="../../dd/dc5/memoryoverride_8h_source.xhtml#l00158">SLNet::OP_NEW_ARRAY()</a>.</p>
</div>
</div>
<a class="anchor" id="ad1882b45276861ba0431ebf524984218"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> void*(*)(void *p, size_t size) GetRealloc()</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d9/d4c/_rak_memory_override_8cpp_source.xhtml#l00114">114</a> of file <a class="el" href="../../d9/d4c/_rak_memory_override_8cpp_source.xhtml">RakMemoryOverride.cpp</a>.</p>
</div>
</div>
<a class="anchor" id="a54e21e839e9742ad7bbff6c4b10bfeff"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> void*(*)(void *p, size_t size, const char *file, unsigned int line) GetRealloc_Ex()</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d9/d4c/_rak_memory_override_8cpp_source.xhtml#l00126">126</a> of file <a class="el" href="../../d9/d4c/_rak_memory_override_8cpp_source.xhtml">RakMemoryOverride.cpp</a>.</p>
</div>
</div>
<a class="anchor" id="a8e3a56ae91a1dfd92b1271c41208d5be"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> void(* notifyOutOfMemory)(const char *file, const long line)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d9/d4c/_rak_memory_override_8cpp_source.xhtml#l00065">65</a> of file <a class="el" href="../../d9/d4c/_rak_memory_override_8cpp_source.xhtml">RakMemoryOverride.cpp</a>.</p>
<p>Referenced by <a class="el" href="../../dd/d5f/_rak_string_8cpp_source.xhtml#l01383">SLNet::RakString::Assign()</a>, <a class="el" href="../../d0/dea/_rak_w_string_8cpp_source.xhtml#l00147">SLNet::RakWString::operator+=()</a>, <a class="el" href="../../d0/dea/_rak_w_string_8cpp_source.xhtml#l00063">SLNet::RakWString::operator=()</a>, <a class="el" href="../../d9/d15/_reliability_layer_8cpp_source.xhtml#l01555">SLNet::ReliabilityLayer::Send()</a>, <a class="el" href="../../d5/d55/_rak_peer_8cpp_source.xhtml#l04173">SLNet::RakPeer::SendBuffered()</a>, <a class="el" href="../../d5/d55/_rak_peer_8cpp_source.xhtml#l04209">SLNet::RakPeer::SendBufferedList()</a>, <a class="el" href="../../d5/d40/_plugin_interface2_8cpp_source.xhtml#l00161">SLNet::PluginInterface2::SendListUnified()</a>, and <a class="el" href="../../d9/d4c/_rak_memory_override_8cpp_source.xhtml#l00094">SetNotifyOutOfMemory()</a>.</p>
</div>
</div>
<a class="anchor" id="a8ee3457a85d54bf656cadcba67224968"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> void(* rakFree)(void *p)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d9/d4c/_rak_memory_override_8cpp_source.xhtml#l00061">61</a> of file <a class="el" href="../../d9/d4c/_rak_memory_override_8cpp_source.xhtml">RakMemoryOverride.cpp</a>.</p>
<p>Referenced by <a class="el" href="../../d9/d4c/_rak_memory_override_8cpp_source.xhtml#l00078">SetFree()</a>.</p>
</div>
</div>
<a class="anchor" id="adaadb4582ec0cdb9c7189541a273271e"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> void(* rakFree_Ex)(void *p, const char *file, unsigned int line)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d9/d4c/_rak_memory_override_8cpp_source.xhtml#l00064">64</a> of file <a class="el" href="../../d9/d4c/_rak_memory_override_8cpp_source.xhtml">RakMemoryOverride.cpp</a>.</p>
<p>Referenced by <a class="el" href="../../dd/d5f/_rak_string_8cpp_source.xhtml#l01383">SLNet::RakString::Assign()</a>, <a class="el" href="../../d0/d0c/_d_s___table_8cpp_source.xhtml#l00070">DataStructures::Table::Cell::Cell()</a>, <a class="el" href="../../d7/d26/_d_s___byte_queue_8cpp_source.xhtml#l00111">DataStructures::ByteQueue::Clear()</a>, <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="../../d0/d0c/_d_s___table_8cpp_source.xhtml#l00243">DataStructures::Table::Cell::Clear()</a>, <a class="el" href="../../d0/dea/_rak_w_string_8cpp_source.xhtml#l00278">SLNet::RakWString::Clear()</a>, <a class="el" href="../../dd/d9f/_cloud_server_8h_source.xhtml#l00157">SLNet::CloudServer::CloudData::Clear()</a>, <a class="el" href="../../d5/d55/_rak_peer_8cpp_source.xhtml#l01940">SLNet::RakPeer::ClearBanList()</a>, <a class="el" href="../../d5/d55/_rak_peer_8cpp_source.xhtml#l04401">SLNet::RakPeer::ClearBufferedCommands()</a>, <a class="el" href="../../d5/d55/_rak_peer_8cpp_source.xhtml#l01610">SLNet::RakPeer::DeallocatePacket()</a>, <a class="el" href="../../d5/d40/_plugin_interface2_8cpp_source.xhtml#l00143">SLNet::PluginInterface2::DeallocPacketUnified()</a>, <a class="el" href="../../d5/df6/_string_compressor_8cpp_source.xhtml#l00486">SLNet::StringCompressor::DecodeString()</a>, <a class="el" href="../../d0/dea/_rak_w_string_8cpp_source.xhtml#l00318">SLNet::RakWString::Deserialize()</a>, <a class="el" href="../../dd/d5f/_rak_string_8cpp_source.xhtml#l01522">SLNet::RakString::Free()</a>, <a class="el" href="../../d8/db0/_variadic_s_q_l_parser_8cpp_source.xhtml#l00155">VariadicSQLParser::FreeArguments()</a>, <a class="el" href="../../da/d7b/_d_s___huffman_encoding_tree_8cpp_source.xhtml#l00033">SLNet::HuffmanEncodingTree::FreeMemory()</a>, <a class="el" href="../../dd/d5f/_rak_string_8cpp_source.xhtml#l01220">SLNet::RakString::FreeMemoryNoMutex()</a>, <a class="el" href="../../d6/d7e/_d_s___memory_pool_8h_source.xhtml#l00276">DataStructures::MemoryPool&lt; MemoryBlockType &gt;::InitPage()</a>, <a class="el" href="../../d5/d55/_rak_peer_8cpp_source.xhtml#l01973">SLNet::RakPeer::IsBanned()</a>, <a class="el" href="../../d0/d0c/_d_s___table_8cpp_source.xhtml#l00054">DataStructures::Table::Cell::operator=()</a>, <a class="el" href="../../dc/dc5/_bit_stream_8cpp_source.xhtml#l00413">SLNet::BitStream::ReadAlignedBytesSafeAlloc()</a>, <a class="el" href="../../dd/d79/_d_s___byte_pool_8cpp_source.xhtml#l00101">DataStructures::BytePool::Release()</a>, <a class="el" href="../../d6/d7e/_d_s___memory_pool_8h_source.xhtml#l00159">DataStructures::MemoryPool&lt; MemoryBlockType &gt;::Release()</a>, <a class="el" href="../../d5/d55/_rak_peer_8cpp_source.xhtml#l01902">SLNet::RakPeer::RemoveFromBanList()</a>, <a class="el" href="../../d5/d55/_rak_peer_8cpp_source.xhtml#l05540">SLNet::RakPeer::RunUpdateCycle()</a>, <a class="el" href="../../d5/d55/_rak_peer_8cpp_source.xhtml#l04209">SLNet::RakPeer::SendBufferedList()</a>, <a class="el" href="../../d5/d55/_rak_peer_8cpp_source.xhtml#l04270">SLNet::RakPeer::SendImmediate()</a>, <a class="el" href="../../d5/d40/_plugin_interface2_8cpp_source.xhtml#l00161">SLNet::PluginInterface2::SendListUnified()</a>, <a class="el" href="../../d0/dea/_rak_w_string_8cpp_source.xhtml#l00296">SLNet::RakWString::Serialize()</a>, <a class="el" href="../../d9/d4c/_rak_memory_override_8cpp_source.xhtml#l00090">SetFree_Ex()</a>, <a class="el" href="../../dc/dc5/_bit_stream_8cpp_source.xhtml#l00138">SLNet::BitStream::~BitStream()</a>, <a class="el" href="../../dd/d9f/_cloud_server_8h_source.xhtml#l00155">SLNet::CloudServer::CloudData::~CloudData()</a>, <a class="el" href="../../d0/dea/_rak_w_string_8cpp_source.xhtml#l00059">SLNet::RakWString::~RakWString()</a>, <a class="el" href="../../d7/dcf/_string_table_8cpp_source.xhtml#l00040">SLNet::StringTable::~StringTable()</a>, and <a class="el" href="../../d4/d61/_variable_list_delta_tracker_8cpp_source.xhtml#l00021">SLNet::VariableListDeltaTracker::~VariableListDeltaTracker()</a>.</p>
</div>
</div>
<a class="anchor" id="a1aea27069cfa149c5a2c833d4899e2eb"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> void*(* rakMalloc)(size_t size)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d9/d4c/_rak_memory_override_8cpp_source.xhtml#l00059">59</a> of file <a class="el" href="../../d9/d4c/_rak_memory_override_8cpp_source.xhtml">RakMemoryOverride.cpp</a>.</p>
<p>Referenced by <a class="el" href="../../d9/d4c/_rak_memory_override_8cpp_source.xhtml#l00070">SetMalloc()</a>.</p>
</div>
</div>
<a class="anchor" id="af5594a49369994aed51c57a94dafff29"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> void*(* rakMalloc_Ex)(size_t size, const char *file, unsigned int line)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d9/d4c/_rak_memory_override_8cpp_source.xhtml#l00062">62</a> of file <a class="el" href="../../d9/d4c/_rak_memory_override_8cpp_source.xhtml">RakMemoryOverride.cpp</a>.</p>
<p>Referenced by <a class="el" href="../../dc/dc5/_bit_stream_8cpp_source.xhtml#l00697">SLNet::BitStream::AddBitsAndReallocate()</a>, <a class="el" href="../../d7/dcf/_string_table_8cpp_source.xhtml#l00076">SLNet::StringTable::AddString()</a>, <a class="el" href="../../d5/d55/_rak_peer_8cpp_source.xhtml#l01853">SLNet::RakPeer::AddToBanList()</a>, <a class="el" href="../../dd/d79/_d_s___byte_pool_8cpp_source.xhtml#l00042">DataStructures::BytePool::Allocate()</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="../../dd/d5f/_rak_string_8cpp_source.xhtml#l01333">SLNet::RakString::Allocate()</a>, <a class="el" href="../../d5/d40/_plugin_interface2_8cpp_source.xhtml#l00103">SLNet::PluginInterface2::AllocatePacketUnified()</a>, <a class="el" href="../../d5/d55/_rak_peer_8cpp_source.xhtml#l00143">SLNet::RakPeer::AllocPacket()</a>, <a class="el" href="../../dc/dc5/_bit_stream_8cpp_source.xhtml#l01032">SLNet::BitStream::AssertCopyData()</a>, <a class="el" href="../../d9/d9b/_base64_encoder_8cpp_source.xhtml#l00096">Base64Encoding()</a>, <a class="el" href="../../dc/dc5/_bit_stream_8cpp_source.xhtml#l00076">SLNet::BitStream::BitStream()</a>, <a class="el" href="../../d0/d0c/_d_s___table_8cpp_source.xhtml#l00070">DataStructures::Table::Cell::Cell()</a>, <a class="el" href="../../dc/dc5/_bit_stream_8cpp_source.xhtml#l00959">SLNet::BitStream::CopyData()</a>, <a class="el" href="../../d5/df6/_string_compressor_8cpp_source.xhtml#l00486">SLNet::StringCompressor::DecodeString()</a>, <a class="el" href="../../d7/dbe/_data_compressor_8cpp_source.xhtml#l00053">SLNet::DataCompressor::DecompressAndAllocate()</a>, <a class="el" href="../../d0/dea/_rak_w_string_8cpp_source.xhtml#l00318">SLNet::RakWString::Deserialize()</a>, <a class="el" href="../../d8/db0/_variadic_s_q_l_parser_8cpp_source.xhtml#l00075">VariadicSQLParser::ExtractArguments()</a>, <a class="el" href="../../d6/d7e/_d_s___memory_pool_8h_source.xhtml#l00276">DataStructures::MemoryPool&lt; MemoryBlockType &gt;::InitPage()</a>, <a class="el" href="../../dd/d5f/_rak_string_8cpp_source.xhtml#l00286">operator+()</a>, <a class="el" href="../../d0/dea/_rak_w_string_8cpp_source.xhtml#l00147">SLNet::RakWString::operator+=()</a>, <a class="el" href="../../d0/dea/_rak_w_string_8cpp_source.xhtml#l00063">SLNet::RakWString::operator=()</a>, <a class="el" href="../../d0/d0c/_d_s___table_8cpp_source.xhtml#l00054">DataStructures::Table::Cell::operator=()</a>, <a class="el" href="../../dc/dc5/_bit_stream_8cpp_source.xhtml#l00413">SLNet::BitStream::ReadAlignedBytesSafeAlloc()</a>, <a class="el" href="../../dd/d5f/_rak_string_8cpp_source.xhtml#l00163">SLNet::RakString::Realloc()</a>, <a class="el" href="../../d5/d55/_rak_peer_8cpp_source.xhtml#l04173">SLNet::RakPeer::SendBuffered()</a>, <a class="el" href="../../d5/d55/_rak_peer_8cpp_source.xhtml#l04209">SLNet::RakPeer::SendBufferedList()</a>, <a class="el" href="../../d5/d55/_rak_peer_8cpp_source.xhtml#l04270">SLNet::RakPeer::SendImmediate()</a>, <a class="el" href="../../d5/d40/_plugin_interface2_8cpp_source.xhtml#l00161">SLNet::PluginInterface2::SendListUnified()</a>, <a class="el" href="../../d0/dea/_rak_w_string_8cpp_source.xhtml#l00296">SLNet::RakWString::Serialize()</a>, <a class="el" href="../../d0/d0c/_d_s___table_8cpp_source.xhtml#l00104">DataStructures::Table::Cell::Set()</a>, <a class="el" href="../../d9/d4c/_rak_memory_override_8cpp_source.xhtml#l00082">SetMalloc_Ex()</a>, and <a class="el" href="../../d4/d61/_variable_list_delta_tracker_8cpp_source.xhtml#l00046">SLNet::VariableListDeltaTracker::VariableLastValueNode::VariableLastValueNode()</a>.</p>
</div>
</div>
<a class="anchor" id="abeb999577dd69d4f0f0a2edf91c6e0fd"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> void*(* rakRealloc)(void *p, size_t size)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d9/d4c/_rak_memory_override_8cpp_source.xhtml#l00060">60</a> of file <a class="el" href="../../d9/d4c/_rak_memory_override_8cpp_source.xhtml">RakMemoryOverride.cpp</a>.</p>
<p>Referenced by <a class="el" href="../../d9/d4c/_rak_memory_override_8cpp_source.xhtml#l00074">SetRealloc()</a>.</p>
</div>
</div>
<a class="anchor" id="a0e91ca46a0ba5f06403846bef6ff6b5e"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> void*(* rakRealloc_Ex)(void *p, size_t size, const char *file, unsigned int line)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d9/d4c/_rak_memory_override_8cpp_source.xhtml#l00063">63</a> of file <a class="el" href="../../d9/d4c/_rak_memory_override_8cpp_source.xhtml">RakMemoryOverride.cpp</a>.</p>
<p>Referenced by <a class="el" href="../../dc/dc5/_bit_stream_8cpp_source.xhtml#l00697">SLNet::BitStream::AddBitsAndReallocate()</a>, <a class="el" href="../../dd/d5f/_rak_string_8cpp_source.xhtml#l01383">SLNet::RakString::Assign()</a>, <a class="el" href="../../d0/dea/_rak_w_string_8cpp_source.xhtml#l00147">SLNet::RakWString::operator+=()</a>, <a class="el" href="../../dd/d5f/_rak_string_8cpp_source.xhtml#l00163">SLNet::RakString::Realloc()</a>, <a class="el" href="../../d9/d4c/_rak_memory_override_8cpp_source.xhtml#l00086">SetRealloc_Ex()</a>, <a class="el" href="../../d7/d26/_d_s___byte_queue_8cpp_source.xhtml#l00035">DataStructures::ByteQueue::WriteBytes()</a>, and <a class="el" href="../../d8/d00/_variable_list_delta_tracker_8h_source.xhtml#l00043">SLNet::VariableListDeltaTracker::WriteVar()</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="../../dd/dc5/memoryoverride_8h.xhtml">memoryoverride.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,367 @@
<!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/memoryoverride.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('dd/dc5/memoryoverride_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">memoryoverride.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="../../dd/dc5/memoryoverride_8h.xhtml">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> * Original work: Copyright (c) 2014, Oculus VR, Inc.</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> * All rights reserved.</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> * This source code is licensed under the BSD-style license found in the</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> * RakNet License.txt file in the licenses directory of this source tree. An additional grant </span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> * of patent rights can be found in the RakNet Patents.txt file in the same directory.</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment"> * Modified work: Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> * This source code was modified by SLikeSoft. Modifications are licensed under the MIT-style</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> * license found in the license.txt file in the root directory of this source tree.</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;</div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;</div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;</div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;</div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="preprocessor">#ifndef __RAK_MEMORY_H</span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define __RAK_MEMORY_H</span></div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../db/dbd/_export_8h.xhtml">Export.h</a>&quot;</span></div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../d8/db0/defines_8h.xhtml">defines.h</a>&quot;</span></div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="preprocessor">#include &lt;new&gt;</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;</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;<span class="preprocessor">#include &quot;<a class="code" href="../../d1/d42/alloca_8h.xhtml">alloca.h</a>&quot;</span></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="comment">// #if _USE_RAK_MEMORY_OVERRIDE==1</span></div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;<span class="comment">// #if defined(new)</span></div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;<span class="comment">// #pragma push_macro(&quot;new&quot;)</span></div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;<span class="comment">// #undef new</span></div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;<span class="comment">// #define RMO_NEW_UNDEF</span></div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;<span class="comment">// #endif</span></div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;<span class="comment">// #endif</span></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">// These pointers are statically and globally defined in RakMemoryOverride.cpp</span></div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;<span class="comment">// Change them to point to your own allocators if you want.</span></div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;<span class="comment">// Use the functions for a DLL, or just reassign the variable if using source</span></div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;<span class="keyword">extern</span> <a class="code" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> <span class="keywordtype">void</span> * (*rakMalloc) (<span class="keywordtype">size_t</span> size);</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;<span class="keyword">extern</span> <a class="code" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> <span class="keywordtype">void</span> * (*rakRealloc) (<span class="keywordtype">void</span> *p, <span class="keywordtype">size_t</span> size);</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;<span class="keyword">extern</span> <a class="code" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> void (*<a class="code" href="../../d9/d4c/_rak_memory_override_8cpp.xhtml#a173229983aaea32d1b8c0adf6bea883a">rakFree</a>) (<span class="keywordtype">void</span> *p);</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;<span class="keyword">extern</span> <a class="code" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> <span class="keywordtype">void</span> * (*rakMalloc_Ex) (<span class="keywordtype">size_t</span> size, <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="l00053"></a><span class="lineno"> 53</span>&#160;<span class="keyword">extern</span> <a class="code" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> <span class="keywordtype">void</span> * (*rakRealloc_Ex) (<span class="keywordtype">void</span> *p, <span class="keywordtype">size_t</span> size, <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="l00054"></a><span class="lineno"> 54</span>&#160;<span class="keyword">extern</span> <a class="code" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> void (*<a class="code" href="../../d9/d4c/_rak_memory_override_8cpp.xhtml#ab91fbe0570bf501cd97a53c6cffcef8f">rakFree_Ex</a>) (<span class="keywordtype">void</span> *p, <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="l00055"></a><span class="lineno"> 55</span>&#160;<span class="keyword">extern</span> <a class="code" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> void (*<a class="code" href="../../d9/d4c/_rak_memory_override_8cpp.xhtml#aa4ec18d5e86e162b63d9b2ded4df5596">notifyOutOfMemory</a>) (<span class="keyword">const</span> <span class="keywordtype">char</span> *file, <span class="keyword">const</span> <span class="keywordtype">long</span> line);</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;<span class="keyword">extern</span> <a class="code" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> <span class="keywordtype">void</span> * (*dlMallocMMap) (<span class="keywordtype">size_t</span> size);</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;<span class="keyword">extern</span> <a class="code" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> <span class="keywordtype">void</span> * (*dlMallocDirectMMap) (<span class="keywordtype">size_t</span> size);</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;<span class="keyword">extern</span> <a class="code" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> int (*<a class="code" href="../../d9/d4c/_rak_memory_override_8cpp.xhtml#a60ca9485e95f28af95d4658b17ecce9e">dlMallocMUnmap</a>) (<span class="keywordtype">void</span>* ptr, <span class="keywordtype">size_t</span> size);</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;<span class="comment">// Change to a user defined allocation function</span></div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> <a class="code" href="../../d9/d4c/_rak_memory_override_8cpp.xhtml#abbf9de823479078030ba7aafc9c68c47">SetMalloc</a>( <span class="keywordtype">void</span>* (*userFunction)(<span class="keywordtype">size_t</span> size) );</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> <a class="code" href="../../d9/d4c/_rak_memory_override_8cpp.xhtml#ab12a2607ec7e5b6dfdc283883c98e0ee">SetRealloc</a>( <span class="keywordtype">void</span>* (*userFunction)(<span class="keywordtype">void</span> *p, <span class="keywordtype">size_t</span> size) );</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> <a class="code" href="../../d9/d4c/_rak_memory_override_8cpp.xhtml#ad7688486f06380cfbe36c628e94b247a">SetFree</a>( <span class="keywordtype">void</span> (*userFunction)(<span class="keywordtype">void</span> *p) );</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> <a class="code" href="../../d9/d4c/_rak_memory_override_8cpp.xhtml#afa96adc494d6e39b1fcafe5f50530236">SetMalloc_Ex</a>( <span class="keywordtype">void</span>* (*userFunction)(<span class="keywordtype">size_t</span> size, <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="l00065"></a><span class="lineno"> 65</span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> <a class="code" href="../../d9/d4c/_rak_memory_override_8cpp.xhtml#aeb5609ee3081419369acfdda6031bbe9">SetRealloc_Ex</a>( <span class="keywordtype">void</span>* (*userFunction)(<span class="keywordtype">void</span> *p, <span class="keywordtype">size_t</span> size, <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="l00066"></a><span class="lineno"> 66</span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> <a class="code" href="../../d9/d4c/_rak_memory_override_8cpp.xhtml#a4457cda1d35f84a8d62b557c39d42662">SetFree_Ex</a>( <span class="keywordtype">void</span> (*userFunction)(<span class="keywordtype">void</span> *p, <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="l00067"></a><span class="lineno"> 67</span>&#160;<span class="comment">// Change to a user defined out of memory function</span></div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> <a class="code" href="../../d9/d4c/_rak_memory_override_8cpp.xhtml#a2ca6d3dedf19e284f4b533076227ecc6">SetNotifyOutOfMemory</a>( <span class="keywordtype">void</span> (*userFunction)(<span class="keyword">const</span> <span class="keywordtype">char</span> *file, <span class="keyword">const</span> <span class="keywordtype">long</span> line) );</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> <a class="code" href="../../d9/d4c/_rak_memory_override_8cpp.xhtml#a5cb80314f2d82463bc23c654180aaef0">SetDLMallocMMap</a>( <span class="keywordtype">void</span>* (*userFunction)(<span class="keywordtype">size_t</span> size) );</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> <a class="code" href="../../d9/d4c/_rak_memory_override_8cpp.xhtml#ae8b40b9bcc3dcdd0ee618592e65cd99e">SetDLMallocDirectMMap</a>( <span class="keywordtype">void</span>* (*userFunction)(<span class="keywordtype">size_t</span> size) );</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> <a class="code" href="../../d9/d4c/_rak_memory_override_8cpp.xhtml#ac39a8d75427168550073c885fc39fe90">SetDLMallocMUnmap</a>( <span class="keywordtype">int</span> (*userFunction)(<span class="keywordtype">void</span>* ptr, <span class="keywordtype">size_t</span> size) );</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;<span class="keyword">extern</span> <a class="code" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> <span class="keywordtype">void</span> * (*<a class="code" href="../../d9/d4c/_rak_memory_override_8cpp.xhtml#a8a3c422a9972c427ab1427cde9362a2f">GetMalloc</a>()) (<span class="keywordtype">size_t</span> size);</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;<span class="keyword">extern</span> <a class="code" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> <span class="keywordtype">void</span> * (*<a class="code" href="../../d9/d4c/_rak_memory_override_8cpp.xhtml#ac800b6988093cab0ffb55631615bda8e">GetRealloc</a>()) (<span class="keywordtype">void</span> *p, <span class="keywordtype">size_t</span> size);</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;<span class="keyword">extern</span> <a class="code" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> void (*<a class="code" href="../../d9/d4c/_rak_memory_override_8cpp.xhtml#a33f226dbdc7a76c2e913664d108bb3dd">GetFree</a>()) (<span class="keywordtype">void</span> *p);</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160;<span class="keyword">extern</span> <a class="code" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> <span class="keywordtype">void</span> * (*<a class="code" href="../../d9/d4c/_rak_memory_override_8cpp.xhtml#abf0eab7cc5ea634418ea5b182de64e1a">GetMalloc_Ex</a>()) (<span class="keywordtype">size_t</span> size, <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="l00077"></a><span class="lineno"> 77</span>&#160;<span class="keyword">extern</span> <a class="code" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> <span class="keywordtype">void</span> * (*<a class="code" href="../../d9/d4c/_rak_memory_override_8cpp.xhtml#ac9102e3121b5dfef2e4cbc2fa4b2f4d5">GetRealloc_Ex</a>()) (<span class="keywordtype">void</span> *p, <span class="keywordtype">size_t</span> size, <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="l00078"></a><span class="lineno"> 78</span>&#160;<span class="keyword">extern</span> <a class="code" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> void (*<a class="code" href="../../d9/d4c/_rak_memory_override_8cpp.xhtml#aacc9c9b51e450dc720ca1676914458a7">GetFree_Ex</a>()) (<span class="keywordtype">void</span> *p, <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="l00079"></a><span class="lineno"> 79</span>&#160;<span class="keyword">extern</span> <a class="code" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> <span class="keywordtype">void</span> *(*<a class="code" href="../../d9/d4c/_rak_memory_override_8cpp.xhtml#aa2b7f94783395cb2106c43090e1b00a1">GetDLMallocMMap</a>())(<span class="keywordtype">size_t</span> size);</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;<span class="keyword">extern</span> <a class="code" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> <span class="keywordtype">void</span> *(*<a class="code" href="../../d9/d4c/_rak_memory_override_8cpp.xhtml#aeb09aa341b4e0c8a2e5cb38abe9c94dc">GetDLMallocDirectMMap</a>())(<span class="keywordtype">size_t</span> size);</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160;<span class="keyword">extern</span> <a class="code" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> int (*<a class="code" href="../../d9/d4c/_rak_memory_override_8cpp.xhtml#a172a935bfa77ae2063f5274142533bec">GetDLMallocMUnmap</a>())(<span class="keywordtype">void</span>* ptr, <span class="keywordtype">size_t</span> size);</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160;</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160;<span class="keyword">namespace </span>SLNet</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="keyword">template</span> &lt;<span class="keyword">class</span> Type&gt;</div>
<div class="line"><a name="l00087"></a><span class="lineno"><a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#af78c01538ca9bd144136bdce3dfd174d"> 87</a></span>&#160; <a class="code" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> Type* <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#af78c01538ca9bd144136bdce3dfd174d">OP_NEW</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="l00088"></a><span class="lineno"> 88</span>&#160; {</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;<span class="preprocessor">#if _USE_RAK_MEMORY_OVERRIDE==1</span></div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160;<span class="preprocessor"></span> <span class="keywordtype">char</span> *buffer = (<span class="keywordtype">char</span> *) (<a class="code" href="../../d9/d4c/_rak_memory_override_8cpp.xhtml#abf0eab7cc5ea634418ea5b182de64e1a">GetMalloc_Ex</a>())(<span class="keyword">sizeof</span>(Type), file, line);</div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; Type *t = <span class="keyword">new</span> (buffer) Type;</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <span class="keywordflow">return</span> t;</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160;<span class="preprocessor">#else</span></div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160;<span class="preprocessor"></span> (void) file;</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; (void) line;</div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; <span class="keywordflow">return</span> <span class="keyword">new</span> Type;</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160;<span class="preprocessor"></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; <span class="keyword">template</span> &lt;<span class="keyword">class</span> Type, <span class="keyword">class</span> P1&gt;</div>
<div class="line"><a name="l00101"></a><span class="lineno"><a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#aa35b7f43727a279b6ceabccc89079189"> 101</a></span>&#160; <a class="code" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> Type* <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#aa35b7f43727a279b6ceabccc89079189">OP_NEW_1</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *file, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> line, <span class="keyword">const</span> P1 &amp;p1)</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;<span class="preprocessor">#if _USE_RAK_MEMORY_OVERRIDE==1</span></div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;<span class="preprocessor"></span> <span class="keywordtype">char</span> *buffer = (<span class="keywordtype">char</span> *) (<a class="code" href="../../d9/d4c/_rak_memory_override_8cpp.xhtml#abf0eab7cc5ea634418ea5b182de64e1a">GetMalloc_Ex</a>())(<span class="keyword">sizeof</span>(Type), file, line);</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; Type *t = <span class="keyword">new</span> (buffer) Type(p1);</div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <span class="keywordflow">return</span> t;</div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;<span class="preprocessor">#else</span></div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;<span class="preprocessor"></span> (void) file;</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; (void) line;</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; <span class="keywordflow">return</span> <span class="keyword">new</span> Type(p1);</div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;<span class="preprocessor"></span> }</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;</div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">class</span> Type, <span class="keyword">class</span> P1, <span class="keyword">class</span> P2&gt;</div>
<div class="line"><a name="l00115"></a><span class="lineno"><a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ae34c51dd709b53b77531c8cbf3c2efa1"> 115</a></span>&#160; <a class="code" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> Type* <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ae34c51dd709b53b77531c8cbf3c2efa1">OP_NEW_2</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *file, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> line, <span class="keyword">const</span> P1 &amp;p1, <span class="keyword">const</span> P2 &amp;p2)</div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; {</div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;<span class="preprocessor">#if _USE_RAK_MEMORY_OVERRIDE==1</span></div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;<span class="preprocessor"></span> <span class="keywordtype">char</span> *buffer = (<span class="keywordtype">char</span> *) (<a class="code" href="../../d9/d4c/_rak_memory_override_8cpp.xhtml#abf0eab7cc5ea634418ea5b182de64e1a">GetMalloc_Ex</a>())(<span class="keyword">sizeof</span>(Type), file, line);</div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; Type *t = <span class="keyword">new</span> (buffer) Type(p1, p2);</div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; <span class="keywordflow">return</span> t;</div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;<span class="preprocessor">#else</span></div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;<span class="preprocessor"></span> (void) file;</div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; (void) line;</div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <span class="keywordflow">return</span> <span class="keyword">new</span> Type(p1, p2);</div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;<span class="preprocessor"></span> }</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; <span class="keyword">template</span> &lt;<span class="keyword">class</span> Type, <span class="keyword">class</span> P1, <span class="keyword">class</span> P2, <span class="keyword">class</span> P3&gt;</div>
<div class="line"><a name="l00129"></a><span class="lineno"><a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#af2a915a9ae41529cc63f2a936e2ba1e4"> 129</a></span>&#160; <a class="code" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> Type* <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#af2a915a9ae41529cc63f2a936e2ba1e4">OP_NEW_3</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *file, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> line, <span class="keyword">const</span> P1 &amp;p1, <span class="keyword">const</span> P2 &amp;p2, <span class="keyword">const</span> P3 &amp;p3)</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="preprocessor">#if _USE_RAK_MEMORY_OVERRIDE==1</span></div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;<span class="preprocessor"></span> <span class="keywordtype">char</span> *buffer = (<span class="keywordtype">char</span> *) (<a class="code" href="../../d9/d4c/_rak_memory_override_8cpp.xhtml#abf0eab7cc5ea634418ea5b182de64e1a">GetMalloc_Ex</a>())(<span class="keyword">sizeof</span>(Type), file, line);</div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; Type *t = <span class="keyword">new</span> (buffer) Type(p1, p2, p3);</div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; <span class="keywordflow">return</span> t;</div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;<span class="preprocessor">#else</span></div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;<span class="preprocessor"></span> (void) file;</div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; (void) line;</div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; <span class="keywordflow">return</span> <span class="keyword">new</span> Type(p1, p2, p3);</div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160;<span class="preprocessor"></span> }</div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160;</div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">class</span> Type, <span class="keyword">class</span> P1, <span class="keyword">class</span> P2, <span class="keyword">class</span> P3, <span class="keyword">class</span> P4&gt;</div>
<div class="line"><a name="l00143"></a><span class="lineno"><a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#abc7704b809071ede33eedc6a31f3853b"> 143</a></span>&#160; <a class="code" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> Type* <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#abc7704b809071ede33eedc6a31f3853b">OP_NEW_4</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *file, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> line, <span class="keyword">const</span> P1 &amp;p1, <span class="keyword">const</span> P2 &amp;p2, <span class="keyword">const</span> P3 &amp;p3, <span class="keyword">const</span> P4 &amp;p4)</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;<span class="preprocessor">#if _USE_RAK_MEMORY_OVERRIDE==1</span></div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;<span class="preprocessor"></span> <span class="keywordtype">char</span> *buffer = (<span class="keywordtype">char</span> *) (<a class="code" href="../../d9/d4c/_rak_memory_override_8cpp.xhtml#abf0eab7cc5ea634418ea5b182de64e1a">GetMalloc_Ex</a>())(<span class="keyword">sizeof</span>(Type), file, line);</div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; Type *t = <span class="keyword">new</span> (buffer) Type(p1, p2, p3, p4);</div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; <span class="keywordflow">return</span> t;</div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160;<span class="preprocessor">#else</span></div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160;<span class="preprocessor"></span> (void) file;</div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; (void) line;</div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; <span class="keywordflow">return</span> <span class="keyword">new</span> Type(p1, p2, p3, p4);</div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;<span class="preprocessor"></span> }</div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;</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; <span class="keyword">template</span> &lt;<span class="keyword">class</span> Type&gt;</div>
<div class="line"><a name="l00158"></a><span class="lineno"><a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ac96ed430786d47b5993d40137617a2fd"> 158</a></span>&#160; <a class="code" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> Type* <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ac96ed430786d47b5993d40137617a2fd">OP_NEW_ARRAY</a>(<span class="keyword">const</span> <span class="keywordtype">int</span> count, <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="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> (count==0)</div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; <span class="keywordflow">return</span> 0;</div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160;</div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160;<span class="preprocessor">#if _USE_RAK_MEMORY_OVERRIDE==1</span></div>
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160;<span class="preprocessor"></span><span class="comment">// Type *t;</span></div>
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; <span class="keywordtype">char</span> *buffer = (<span class="keywordtype">char</span> *) (<a class="code" href="../../d9/d4c/_rak_memory_override_8cpp.xhtml#abf0eab7cc5ea634418ea5b182de64e1a">GetMalloc_Ex</a>())(<span class="keyword">sizeof</span>(<span class="keywordtype">int</span>)+<span class="keyword">sizeof</span>(Type)*count, file, line);</div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; ((<span class="keywordtype">int</span>*)buffer)[0]=count;</div>
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i=0; i&lt;count; i++)</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; <span class="comment">//t = </span></div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; <span class="keyword">new</span>(buffer+<span class="keyword">sizeof</span>(int)+i*<span class="keyword">sizeof</span>(Type)) Type;</div>
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; }</div>
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; <span class="keywordflow">return</span> (Type *) (buffer+<span class="keyword">sizeof</span>(int));</div>
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160;<span class="preprocessor">#else</span></div>
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160;<span class="preprocessor"></span> (void) file;</div>
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; (void) line;</div>
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; <span class="keywordflow">return</span> <span class="keyword">new</span> Type[count];</div>
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; }</div>
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160;</div>
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">class</span> Type&gt;</div>
<div class="line"><a name="l00182"></a><span class="lineno"><a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a79772d09451f784e87bec85694fad1ed"> 182</a></span>&#160; <a class="code" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> <span class="keywordtype">void</span> <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a79772d09451f784e87bec85694fad1ed">OP_DELETE</a>(Type *buff, <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="l00183"></a><span class="lineno"> 183</span>&#160; {</div>
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160;<span class="preprocessor">#if _USE_RAK_MEMORY_OVERRIDE==1</span></div>
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160;<span class="preprocessor"></span> <span class="keywordflow">if</span> (buff==0) <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; buff-&gt;~Type();</div>
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; (<a class="code" href="../../d9/d4c/_rak_memory_override_8cpp.xhtml#aacc9c9b51e450dc720ca1676914458a7">GetFree_Ex</a>())((<span class="keywordtype">char</span>*)buff, file, line );</div>
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160;<span class="preprocessor">#else</span></div>
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160;<span class="preprocessor"></span> (void) file;</div>
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; (void) line;</div>
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; <span class="keyword">delete</span> buff;</div>
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160;<span class="preprocessor"></span></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;</div>
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">class</span> Type&gt;</div>
<div class="line"><a name="l00197"></a><span class="lineno"><a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#acd53258ab2c0b731df325c91b2e85c9b"> 197</a></span>&#160; <a class="code" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> <span class="keywordtype">void</span> <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#acd53258ab2c0b731df325c91b2e85c9b">OP_DELETE_ARRAY</a>(Type *buff, <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="l00198"></a><span class="lineno"> 198</span>&#160; {</div>
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160;<span class="preprocessor">#if _USE_RAK_MEMORY_OVERRIDE==1</span></div>
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160;<span class="preprocessor"></span> <span class="keywordflow">if</span> (buff==0)</div>
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160;</div>
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; <span class="keywordtype">int</span> count = ((<span class="keywordtype">int</span>*)((<span class="keywordtype">char</span>*)buff-<span class="keyword">sizeof</span>(int)))[0];</div>
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; Type *t;</div>
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i=0; i&lt;count; 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; t = buff+i;</div>
<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; t-&gt;~Type();</div>
<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; }</div>
<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; (<a class="code" href="../../d9/d4c/_rak_memory_override_8cpp.xhtml#aacc9c9b51e450dc720ca1676914458a7">GetFree_Ex</a>())((<span class="keywordtype">char</span>*)buff-<span class="keyword">sizeof</span>(int), file, line );</div>
<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160;<span class="preprocessor">#else</span></div>
<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160;<span class="preprocessor"></span> (void) file;</div>
<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; (void) line;</div>
<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; <span class="keyword">delete</span> [] buff;</div>
<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; }</div>
<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160;</div>
<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; <span class="keywordtype">void</span> <a class="code" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> * <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a2246a317cafe897cc1e04505b825b149">_RakMalloc</a> (<span class="keywordtype">size_t</span> size);</div>
<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; <span class="keywordtype">void</span> <a class="code" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> * <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a373332442113db2f77f9d4bcde34fd85">_RakRealloc</a> (<span class="keywordtype">void</span> *p, <span class="keywordtype">size_t</span> size);</div>
<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; <span class="keywordtype">void</span> <a class="code" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#af59997858a79daeb89c74162cee89ca5">_RakFree</a> (<span class="keywordtype">void</span> *p);</div>
<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; <span class="keywordtype">void</span> <a class="code" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> * <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a6fcc82b5cd24ed0f7d9a5c12167a9e22">_RakMalloc_Ex</a> (<span class="keywordtype">size_t</span> size, <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="l00223"></a><span class="lineno"> 223</span>&#160; <span class="keywordtype">void</span> <a class="code" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> * <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#abf43ab0d5643e947ca21ec290bb8b50f">_RakRealloc_Ex</a> (<span class="keywordtype">void</span> *p, <span class="keywordtype">size_t</span> size, <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="l00224"></a><span class="lineno"> 224</span>&#160; <span class="keywordtype">void</span> <a class="code" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ad506002bf4c56ae8bbf1480c3aa07b21">_RakFree_Ex</a> (<span class="keywordtype">void</span> *p, <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="l00225"></a><span class="lineno"> 225</span>&#160; <span class="keywordtype">void</span> <a class="code" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> * <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ab53f5c8ceb17e864457a90e4a96d99fc">_DLMallocMMap</a> (<span class="keywordtype">size_t</span> size);</div>
<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; <span class="keywordtype">void</span> <a class="code" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> * <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a14b68afb1843d2b99e6d6e5544c851ff">_DLMallocDirectMMap</a> (<span class="keywordtype">size_t</span> size);</div>
<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; <span class="keywordtype">int</span> <a class="code" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a3e839404a96ba8633ede4ed4b547f0d6">_DLMallocMUnmap</a> (<span class="keywordtype">void</span> *p, <span class="keywordtype">size_t</span> size);</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;}</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;<span class="comment">// Call to make RakNet allocate a large block of memory, and do all subsequent allocations in that memory block</span></div>
<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160;<span class="comment">// Initial and reallocations will be done through whatever function is pointed to by yourMMapFunction, and yourDirectMMapFunction (default is malloc)</span></div>
<div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160;<span class="comment">// Allocations will be freed through whatever function is pointed to by yourMUnmapFunction (default free)</span></div>
<div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../d9/d4c/_rak_memory_override_8cpp.xhtml#a3c103444393566f71e2a3bdda81a8afa">UseRaknetFixedHeap</a>(<span class="keywordtype">size_t</span> initialCapacity,</div>
<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; <span class="keywordtype">void</span> * (*yourMMapFunction) (<span class="keywordtype">size_t</span> size) = <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ab53f5c8ceb17e864457a90e4a96d99fc">SLNet::_DLMallocMMap</a>,</div>
<div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; <span class="keywordtype">void</span> * (*yourDirectMMapFunction) (<span class="keywordtype">size_t</span> size) = <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a14b68afb1843d2b99e6d6e5544c851ff">SLNet::_DLMallocDirectMMap</a>,</div>
<div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; <span class="keywordtype">int</span> (*yourMUnmapFunction) (<span class="keywordtype">void</span> *p, <span class="keywordtype">size_t</span> size) = <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a3e839404a96ba8633ede4ed4b547f0d6">SLNet::_DLMallocMUnmap</a>);</div>
<div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160;</div>
<div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;<span class="comment">// Free memory allocated from UseRaknetFixedHeap</span></div>
<div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../d9/d4c/_rak_memory_override_8cpp.xhtml#a29e0131e4d447f9590fe534523f13b27">FreeRakNetFixedHeap</a>(<span class="keywordtype">void</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;<span class="comment">// #if _USE_RAK_MEMORY_OVERRIDE==1</span></div>
<div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160;<span class="comment">// #if defined(RMO_NEW_UNDEF)</span></div>
<div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160;<span class="comment">// #pragma pop_macro(&quot;new&quot;)</span></div>
<div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160;<span class="comment">// #undef RMO_NEW_UNDEF</span></div>
<div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160;<span class="comment">// #endif</span></div>
<div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160;<span class="comment">// #endif</span></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="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="../../dd/dc5/memoryoverride_8h.xhtml">memoryoverride.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,62 @@
var _rackspace_8h =
[
[ "Rackspace2EventCallback", "d0/dcb/class_s_l_net_1_1_rackspace2_event_callback.xhtml", "d0/dcb/class_s_l_net_1_1_rackspace2_event_callback" ],
[ "RackspaceEventCallback_Default", "db/d6c/class_s_l_net_1_1_rackspace_event_callback___default.xhtml", "db/d6c/class_s_l_net_1_1_rackspace_event_callback___default" ],
[ "Rackspace", "d4/dc9/class_s_l_net_1_1_rackspace.xhtml", "d4/dc9/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 ]
] ],
[ "RackspaceEventType", "dd/dcb/_rackspace_8h.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460", [
[ "RET_Success_200", "dd/dcb/_rackspace_8h.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460ac0d28d631272251bbce5b5d2b280b5ab", null ],
[ "RET_Success_201", "dd/dcb/_rackspace_8h.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460a87a358272f25e2d8ba2cbb5ec92b6723", null ],
[ "RET_Success_202", "dd/dcb/_rackspace_8h.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460a794058d2c0d9a585f38833520dfcd409", null ],
[ "RET_Success_203", "dd/dcb/_rackspace_8h.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460a4de86b209780293111ab8e9ab67c9765", null ],
[ "RET_Success_204", "dd/dcb/_rackspace_8h.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460adb953e70a1462b55b789a7ce5b6d230c", null ],
[ "RET_Cloud_Servers_Fault_500", "dd/dcb/_rackspace_8h.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460a2ed39e243cec88a3f516876e858453ab", null ],
[ "RET_Service_Unavailable_503", "dd/dcb/_rackspace_8h.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460abba19f9f4427356857b6ab9bf17b2bb2", null ],
[ "RET_Unauthorized_401", "dd/dcb/_rackspace_8h.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460a940ffb29225f7392996487ac3f28ce8e", null ],
[ "RET_Bad_Request_400", "dd/dcb/_rackspace_8h.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460af28da7edba4d5ff77808fda5dd127af1", null ],
[ "RET_Over_Limit_413", "dd/dcb/_rackspace_8h.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460ad5bc6cad2ad752d8613d48bfa5609419", null ],
[ "RET_Bad_Media_Type_415", "dd/dcb/_rackspace_8h.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460aa6d1c8dc585f86b3f2784b915c382829", null ],
[ "RET_Item_Not_Found_404", "dd/dcb/_rackspace_8h.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460a73e2562f980d8d6bf86140bec83e257c", null ],
[ "RET_Build_In_Progress_409", "dd/dcb/_rackspace_8h.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460a8fcddf94cfaff6a9512a61bef163f822", null ],
[ "RET_Resize_Not_Allowed_403", "dd/dcb/_rackspace_8h.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460a79d620502ab5b1ce53ce7530ef55f2cb", null ],
[ "RET_Connection_Closed_Without_Reponse", "dd/dcb/_rackspace_8h.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460a7fe71e60ab0693e235dc380c4bf54a2d", null ],
[ "RET_Unknown_Failure", "dd/dcb/_rackspace_8h.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460ac0b50727fb24918e71acd1bc7fcf3462", null ]
] ],
[ "RackspaceOperationType", "dd/dcb/_rackspace_8h.xhtml#a320ff923e99b7e3fc90edd602b4aecc1", [
[ "RO_CONNECT_AND_AUTHENTICATE", "dd/dcb/_rackspace_8h.xhtml#a320ff923e99b7e3fc90edd602b4aecc1ac7de7f72078b0b8eed77003d6d3a9af4", null ],
[ "RO_LIST_SERVERS", "dd/dcb/_rackspace_8h.xhtml#a320ff923e99b7e3fc90edd602b4aecc1ad5de198fe6e9fff351b81920b450f5c2", null ],
[ "RO_LIST_SERVERS_WITH_DETAILS", "dd/dcb/_rackspace_8h.xhtml#a320ff923e99b7e3fc90edd602b4aecc1aa6afb6aa8dca84100b6792321964d8fa", null ],
[ "RO_CREATE_SERVER", "dd/dcb/_rackspace_8h.xhtml#a320ff923e99b7e3fc90edd602b4aecc1ab853ec42b4cc114db92e83a5ca378541", null ],
[ "RO_GET_SERVER_DETAILS", "dd/dcb/_rackspace_8h.xhtml#a320ff923e99b7e3fc90edd602b4aecc1a15784e9c0162df1354aa37987e710da3", null ],
[ "RO_UPDATE_SERVER_NAME_OR_PASSWORD", "dd/dcb/_rackspace_8h.xhtml#a320ff923e99b7e3fc90edd602b4aecc1ae5dc5faef9353b1da6b347cb1276e9ab", null ],
[ "RO_DELETE_SERVER", "dd/dcb/_rackspace_8h.xhtml#a320ff923e99b7e3fc90edd602b4aecc1a15aa4373c555b1046912c6a7f1f11f96", null ],
[ "RO_LIST_SERVER_ADDRESSES", "dd/dcb/_rackspace_8h.xhtml#a320ff923e99b7e3fc90edd602b4aecc1a3a1e74e9d835269aa5181c94157eee93", null ],
[ "RO_SHARE_SERVER_ADDRESS", "dd/dcb/_rackspace_8h.xhtml#a320ff923e99b7e3fc90edd602b4aecc1a5a7915781d42c663e49b5011deef6a93", null ],
[ "RO_DELETE_SERVER_ADDRESS", "dd/dcb/_rackspace_8h.xhtml#a320ff923e99b7e3fc90edd602b4aecc1a4a1e08ab54cf30cbee2b2e89b07f792f", null ],
[ "RO_REBOOT_SERVER", "dd/dcb/_rackspace_8h.xhtml#a320ff923e99b7e3fc90edd602b4aecc1acca2af49467134602514774d01dea870", null ],
[ "RO_REBUILD_SERVER", "dd/dcb/_rackspace_8h.xhtml#a320ff923e99b7e3fc90edd602b4aecc1aee2a6cd2aba1b6f8507f3c6714c17cd1", null ],
[ "RO_RESIZE_SERVER", "dd/dcb/_rackspace_8h.xhtml#a320ff923e99b7e3fc90edd602b4aecc1ac87aae84e394d4a5cf125b10ca74d483", null ],
[ "RO_CONFIRM_RESIZED_SERVER", "dd/dcb/_rackspace_8h.xhtml#a320ff923e99b7e3fc90edd602b4aecc1ac1a9742b5ed320668622e15c0f8d84d3", null ],
[ "RO_REVERT_RESIZED_SERVER", "dd/dcb/_rackspace_8h.xhtml#a320ff923e99b7e3fc90edd602b4aecc1a1bb726d603373fe795584c6cf2b48337", null ],
[ "RO_LIST_FLAVORS", "dd/dcb/_rackspace_8h.xhtml#a320ff923e99b7e3fc90edd602b4aecc1aab1d3fd5f2d70920376a65a4cea6417d", null ],
[ "RO_GET_FLAVOR_DETAILS", "dd/dcb/_rackspace_8h.xhtml#a320ff923e99b7e3fc90edd602b4aecc1a6fe919349cdaa665ca4455c34b06ee86", null ],
[ "RO_LIST_IMAGES", "dd/dcb/_rackspace_8h.xhtml#a320ff923e99b7e3fc90edd602b4aecc1a6065408e288b33e8502dd7e9c1ec89b6", null ],
[ "RO_CREATE_IMAGE", "dd/dcb/_rackspace_8h.xhtml#a320ff923e99b7e3fc90edd602b4aecc1abf51c3e1f4b7bd04d4b58825dfaea86f", null ],
[ "RO_GET_IMAGE_DETAILS", "dd/dcb/_rackspace_8h.xhtml#a320ff923e99b7e3fc90edd602b4aecc1aa43a0ecf149be043a9e30d2f0cd32f9f", null ],
[ "RO_DELETE_IMAGE", "dd/dcb/_rackspace_8h.xhtml#a320ff923e99b7e3fc90edd602b4aecc1ad7245560bb411882da18f57bbe3e8e81", null ],
[ "RO_LIST_SHARED_IP_GROUPS", "dd/dcb/_rackspace_8h.xhtml#a320ff923e99b7e3fc90edd602b4aecc1afa1786ef486eb7d2429b0ce8ea89a324", null ],
[ "RO_LIST_SHARED_IP_GROUPS_WITH_DETAILS", "dd/dcb/_rackspace_8h.xhtml#a320ff923e99b7e3fc90edd602b4aecc1ac8f95f27c17265c4135462448442b8f4", null ],
[ "RO_CREATE_SHARED_IP_GROUP", "dd/dcb/_rackspace_8h.xhtml#a320ff923e99b7e3fc90edd602b4aecc1a839bf13a9fbdf8e8248707f100eeec80", null ],
[ "RO_GET_SHARED_IP_GROUP_DETAILS", "dd/dcb/_rackspace_8h.xhtml#a320ff923e99b7e3fc90edd602b4aecc1a07341e2abda8535f94afe95d5a9185da", null ],
[ "RO_DELETE_SHARED_IP_GROUP", "dd/dcb/_rackspace_8h.xhtml#a320ff923e99b7e3fc90edd602b4aecc1a2dee9fc2e9e4b124cda1d427ea9c8a0a", null ],
[ "RO_NONE", "dd/dcb/_rackspace_8h.xhtml#a320ff923e99b7e3fc90edd602b4aecc1af538a685f2853f248d618ee1de775bdc", null ]
] ]
];

View File

@ -0,0 +1,285 @@
<!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/Rackspace.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('dd/dcb/_rackspace_8h.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#namespaces">Namespaces</a> &#124;
<a href="#enum-members">Enumerations</a> </div>
<div class="headertitle">
<div class="title">Rackspace.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>Helper to class to manage Rackspace servers.
<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="../../db/dbd/_export_8h_source.xhtml">Export.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../d9/d7f/_d_s___list_8h_source.xhtml">DS_List.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="../../dc/d8d/_d_s___queue_8h_source.xhtml">DS_Queue.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../da/d66/string_8h_source.xhtml">string.h</a>&quot;</code><br/>
</div>
<p><a href="../../dd/dcb/_rackspace_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="../../d0/dcb/class_s_l_net_1_1_rackspace2_event_callback.xhtml">SLNet::Rackspace2EventCallback</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Callback interface to receive the results of operations. <a href="../../d0/dcb/class_s_l_net_1_1_rackspace2_event_callback.xhtml#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d6c/class_s_l_net_1_1_rackspace_event_callback___default.xhtml">SLNet::RackspaceEventCallback_Default</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Callback interface to receive the results of operations, with a default result. <a href="../../db/d6c/class_s_l_net_1_1_rackspace_event_callback___default.xhtml#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</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/dc9/class_s_l_net_1_1_rackspace.xhtml">SLNet::Rackspace</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Code that uses the <a class="el" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml">TCPInterface</a> class to communicate with the <a class="el" href="../../d4/dc9/class_s_l_net_1_1_rackspace.xhtml" title="Code that uses the TCPInterface class to communicate with the Rackspace API servers.">Rackspace</a> API servers. <a href="../../d4/dc9/class_s_l_net_1_1_rackspace.xhtml#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:d6/d93/struct_s_l_net_1_1_rackspace_1_1_rackspace_operation"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/dc9/class_s_l_net_1_1_rackspace.xhtml#d6/d93/struct_s_l_net_1_1_rackspace_1_1_rackspace_operation">SLNet::Rackspace::RackspaceOperation</a></td></tr>
<tr class="separator:d6/d93/struct_s_l_net_1_1_rackspace_1_1_rackspace_operation"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:dd/d30/namespace_s_l_net"><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d30/namespace_s_l_net.xhtml">SLNet</a></td></tr>
<tr class="memdesc:dd/d30/namespace_s_l_net"><td class="mdescLeft">&#160;</td><td class="mdescRight">Simple class to send changes between directories. In essence, a simple autopatcher that can be used for transmitting levels, skins, etc. <br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:ac63aeb5a0c76eb1e9423646aef1fb460"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460">SLNet::RackspaceEventType</a> { <br/>
&#160;&#160;<a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460ac0d28d631272251bbce5b5d2b280b5ab">SLNet::RET_Success_200</a>,
<a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460a87a358272f25e2d8ba2cbb5ec92b6723">SLNet::RET_Success_201</a>,
<a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460a794058d2c0d9a585f38833520dfcd409">SLNet::RET_Success_202</a>,
<a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460a4de86b209780293111ab8e9ab67c9765">SLNet::RET_Success_203</a>,
<br/>
&#160;&#160;<a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460adb953e70a1462b55b789a7ce5b6d230c">SLNet::RET_Success_204</a>,
<a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460a2ed39e243cec88a3f516876e858453ab">SLNet::RET_Cloud_Servers_Fault_500</a>,
<a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460abba19f9f4427356857b6ab9bf17b2bb2">SLNet::RET_Service_Unavailable_503</a>,
<a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460a940ffb29225f7392996487ac3f28ce8e">SLNet::RET_Unauthorized_401</a>,
<br/>
&#160;&#160;<a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460af28da7edba4d5ff77808fda5dd127af1">SLNet::RET_Bad_Request_400</a>,
<a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460ad5bc6cad2ad752d8613d48bfa5609419">SLNet::RET_Over_Limit_413</a>,
<a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460aa6d1c8dc585f86b3f2784b915c382829">SLNet::RET_Bad_Media_Type_415</a>,
<a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460a73e2562f980d8d6bf86140bec83e257c">SLNet::RET_Item_Not_Found_404</a>,
<br/>
&#160;&#160;<a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460a8fcddf94cfaff6a9512a61bef163f822">SLNet::RET_Build_In_Progress_409</a>,
<a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460a79d620502ab5b1ce53ce7530ef55f2cb">SLNet::RET_Resize_Not_Allowed_403</a>,
<a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460a7fe71e60ab0693e235dc380c4bf54a2d">SLNet::RET_Connection_Closed_Without_Reponse</a>,
<a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460ac0b50727fb24918e71acd1bc7fcf3462">SLNet::RET_Unknown_Failure</a>
<br/>
}</td></tr>
<tr class="memdesc:ac63aeb5a0c76eb1e9423646aef1fb460"><td class="mdescLeft">&#160;</td><td class="mdescRight">Result codes for Rackspace commands /sa Rackspace::EventTypeToString() <a href="../../dd/d30/namespace_s_l_net.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460">More...</a><br/></td></tr>
<tr class="separator:ac63aeb5a0c76eb1e9423646aef1fb460"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a320ff923e99b7e3fc90edd602b4aecc1"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#a320ff923e99b7e3fc90edd602b4aecc1">SLNet::RackspaceOperationType</a> { <br/>
&#160;&#160;<a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#a320ff923e99b7e3fc90edd602b4aecc1ac7de7f72078b0b8eed77003d6d3a9af4">SLNet::RO_CONNECT_AND_AUTHENTICATE</a>,
<a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#a320ff923e99b7e3fc90edd602b4aecc1ad5de198fe6e9fff351b81920b450f5c2">SLNet::RO_LIST_SERVERS</a>,
<a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#a320ff923e99b7e3fc90edd602b4aecc1aa6afb6aa8dca84100b6792321964d8fa">SLNet::RO_LIST_SERVERS_WITH_DETAILS</a>,
<a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#a320ff923e99b7e3fc90edd602b4aecc1ab853ec42b4cc114db92e83a5ca378541">SLNet::RO_CREATE_SERVER</a>,
<br/>
&#160;&#160;<a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#a320ff923e99b7e3fc90edd602b4aecc1a15784e9c0162df1354aa37987e710da3">SLNet::RO_GET_SERVER_DETAILS</a>,
<a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#a320ff923e99b7e3fc90edd602b4aecc1ae5dc5faef9353b1da6b347cb1276e9ab">SLNet::RO_UPDATE_SERVER_NAME_OR_PASSWORD</a>,
<a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#a320ff923e99b7e3fc90edd602b4aecc1a15aa4373c555b1046912c6a7f1f11f96">SLNet::RO_DELETE_SERVER</a>,
<a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#a320ff923e99b7e3fc90edd602b4aecc1a3a1e74e9d835269aa5181c94157eee93">SLNet::RO_LIST_SERVER_ADDRESSES</a>,
<br/>
&#160;&#160;<a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#a320ff923e99b7e3fc90edd602b4aecc1a5a7915781d42c663e49b5011deef6a93">SLNet::RO_SHARE_SERVER_ADDRESS</a>,
<a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#a320ff923e99b7e3fc90edd602b4aecc1a4a1e08ab54cf30cbee2b2e89b07f792f">SLNet::RO_DELETE_SERVER_ADDRESS</a>,
<a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#a320ff923e99b7e3fc90edd602b4aecc1acca2af49467134602514774d01dea870">SLNet::RO_REBOOT_SERVER</a>,
<a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#a320ff923e99b7e3fc90edd602b4aecc1aee2a6cd2aba1b6f8507f3c6714c17cd1">SLNet::RO_REBUILD_SERVER</a>,
<br/>
&#160;&#160;<a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#a320ff923e99b7e3fc90edd602b4aecc1ac87aae84e394d4a5cf125b10ca74d483">SLNet::RO_RESIZE_SERVER</a>,
<a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#a320ff923e99b7e3fc90edd602b4aecc1ac1a9742b5ed320668622e15c0f8d84d3">SLNet::RO_CONFIRM_RESIZED_SERVER</a>,
<a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#a320ff923e99b7e3fc90edd602b4aecc1a1bb726d603373fe795584c6cf2b48337">SLNet::RO_REVERT_RESIZED_SERVER</a>,
<a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#a320ff923e99b7e3fc90edd602b4aecc1aab1d3fd5f2d70920376a65a4cea6417d">SLNet::RO_LIST_FLAVORS</a>,
<br/>
&#160;&#160;<a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#a320ff923e99b7e3fc90edd602b4aecc1a6fe919349cdaa665ca4455c34b06ee86">SLNet::RO_GET_FLAVOR_DETAILS</a>,
<a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#a320ff923e99b7e3fc90edd602b4aecc1a6065408e288b33e8502dd7e9c1ec89b6">SLNet::RO_LIST_IMAGES</a>,
<a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#a320ff923e99b7e3fc90edd602b4aecc1abf51c3e1f4b7bd04d4b58825dfaea86f">SLNet::RO_CREATE_IMAGE</a>,
<a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#a320ff923e99b7e3fc90edd602b4aecc1aa43a0ecf149be043a9e30d2f0cd32f9f">SLNet::RO_GET_IMAGE_DETAILS</a>,
<br/>
&#160;&#160;<a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#a320ff923e99b7e3fc90edd602b4aecc1ad7245560bb411882da18f57bbe3e8e81">SLNet::RO_DELETE_IMAGE</a>,
<a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#a320ff923e99b7e3fc90edd602b4aecc1afa1786ef486eb7d2429b0ce8ea89a324">SLNet::RO_LIST_SHARED_IP_GROUPS</a>,
<a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#a320ff923e99b7e3fc90edd602b4aecc1ac8f95f27c17265c4135462448442b8f4">SLNet::RO_LIST_SHARED_IP_GROUPS_WITH_DETAILS</a>,
<a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#a320ff923e99b7e3fc90edd602b4aecc1a839bf13a9fbdf8e8248707f100eeec80">SLNet::RO_CREATE_SHARED_IP_GROUP</a>,
<br/>
&#160;&#160;<a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#a320ff923e99b7e3fc90edd602b4aecc1a07341e2abda8535f94afe95d5a9185da">SLNet::RO_GET_SHARED_IP_GROUP_DETAILS</a>,
<a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#a320ff923e99b7e3fc90edd602b4aecc1a2dee9fc2e9e4b124cda1d427ea9c8a0a">SLNet::RO_DELETE_SHARED_IP_GROUP</a>,
<a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#a320ff923e99b7e3fc90edd602b4aecc1af538a685f2853f248d618ee1de775bdc">SLNet::RO_NONE</a>
<br/>
}</td></tr>
<tr class="separator:a320ff923e99b7e3fc90edd602b4aecc1"><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>Helper to class to manage Rackspace servers. </p>
<p>Definition in file <a class="el" href="../../dd/dcb/_rackspace_8h_source.xhtml">Rackspace.h</a>.</p>
</div><hr/><h2 class="groupheader">Class Documentation</h2>
<a name="d6/d93/struct_s_l_net_1_1_rackspace_1_1_rackspace_operation" id="d6/d93/struct_s_l_net_1_1_rackspace_1_1_rackspace_operation"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct SLNet::Rackspace::RackspaceOperation</td>
</tr>
</table>
</div><div class="memdoc">
<div class="textblock">
<p>Definition at line <a class="el" href="../../dd/dcb/_rackspace_8h_source.xhtml#l00371">371</a> of file <a class="el" href="../../dd/dcb/_rackspace_8h_source.xhtml">Rackspace.h</a>.</p>
</div><table class="fieldtable">
<tr><th colspan="3">Class Members</th></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a9928715e08718f181c67c7018ab992c9"></a><a class="el" href="../../d8/dbe/struct_s_l_net_1_1_system_address.xhtml">SystemAddress</a></td>
<td class="fieldname">
connectionAddress</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a819f987ceea53024c6b9074387c1249e"></a><a class="el" href="../../d2/d66/class_s_l_net_1_1_rak_string.xhtml">RakString</a></td>
<td class="fieldname">
httpCommand</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a6516c8e8d23b1f3aa9cc08737dee874f"></a><a class="el" href="../../d2/d66/class_s_l_net_1_1_rak_string.xhtml">RakString</a></td>
<td class="fieldname">
incomingStream</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="ac96f1dbb30cdbc0b487d57804ffb644d"></a>bool</td>
<td class="fieldname">
isPendingAuthentication</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a438a0f2b053bdcc76536f008e403a2c8"></a><a class="el" href="../../d2/d66/class_s_l_net_1_1_rak_string.xhtml">RakString</a></td>
<td class="fieldname">
operation</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a6b3a38889a07ff5bc8859ec34e1540df"></a><a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#a320ff923e99b7e3fc90edd602b4aecc1">RackspaceOperationType</a></td>
<td class="fieldname">
type</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a7e7e0ff25f44fb1dd023df915aedd263"></a><a class="el" href="../../d2/d66/class_s_l_net_1_1_rak_string.xhtml">RakString</a></td>
<td class="fieldname">
xml</td>
<td class="fielddoc">
</td></tr>
</table>
</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="../../dd/dcb/_rackspace_8h.xhtml">Rackspace.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,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: Source/include/slikenet/Rackspace.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('dd/dcb/_rackspace_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">Rackspace.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="../../dd/dcb/_rackspace_8h.xhtml">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> * Original work: Copyright (c) 2014, Oculus VR, Inc.</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> * All rights reserved.</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> * This source code is licensed under the BSD-style license found in the</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> * RakNet License.txt file in the licenses directory of this source tree. An additional grant </span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> * of patent rights can be found in the RakNet Patents.txt file in the same directory.</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment"> * Modified work: Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> * This source code was modified by SLikeSoft. Modifications are licensed under the MIT-style</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> * license found in the license.txt file in the root directory of this source tree.</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;</div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;</div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;</div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../de/ddb/_native_feature_includes_8h.xhtml">NativeFeatureIncludes.h</a>&quot;</span></div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;</div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="preprocessor">#if _RAKNET_SUPPORT_Rackspace==1 &amp;&amp; _RAKNET_SUPPORT_TCPInterface==1</span></div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../db/dbd/_export_8h.xhtml">Export.h</a>&quot;</span></div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../d9/d7f/_d_s___list_8h.xhtml">DS_List.h</a>&quot;</span></div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../d9/d49/types_8h.xhtml" title="Types used by RakNet, most of which involve user code.">types.h</a>&quot;</span></div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../dc/d8d/_d_s___queue_8h.xhtml">DS_Queue.h</a>&quot;</span></div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../da/d66/string_8h.xhtml">string.h</a>&quot;</span></div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="preprocessor">#ifndef __RACKSPACE_H</span></div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define __RACKSPACE_H</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;<span class="keyword">namespace </span>SLNet</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="keyword">class </span>TCPInterface;</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; <span class="keyword">struct </span>Packet;</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;</div>
<div class="line"><a name="l00042"></a><span class="lineno"><a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460"> 42</a></span>&#160; <span class="keyword">enum</span> <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460" title="Result codes for Rackspace commands /sa Rackspace::EventTypeToString()">RackspaceEventType</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"><a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460ac0d28d631272251bbce5b5d2b280b5ab"> 44</a></span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460ac0d28d631272251bbce5b5d2b280b5ab">RET_Success_200</a>,</div>
<div class="line"><a name="l00045"></a><span class="lineno"><a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460a87a358272f25e2d8ba2cbb5ec92b6723"> 45</a></span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460a87a358272f25e2d8ba2cbb5ec92b6723">RET_Success_201</a>,</div>
<div class="line"><a name="l00046"></a><span class="lineno"><a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460a794058d2c0d9a585f38833520dfcd409"> 46</a></span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460a794058d2c0d9a585f38833520dfcd409">RET_Success_202</a>,</div>
<div class="line"><a name="l00047"></a><span class="lineno"><a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460a4de86b209780293111ab8e9ab67c9765"> 47</a></span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460a4de86b209780293111ab8e9ab67c9765">RET_Success_203</a>,</div>
<div class="line"><a name="l00048"></a><span class="lineno"><a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460adb953e70a1462b55b789a7ce5b6d230c"> 48</a></span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460adb953e70a1462b55b789a7ce5b6d230c">RET_Success_204</a>,</div>
<div class="line"><a name="l00049"></a><span class="lineno"><a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460a2ed39e243cec88a3f516876e858453ab"> 49</a></span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460a2ed39e243cec88a3f516876e858453ab">RET_Cloud_Servers_Fault_500</a>,</div>
<div class="line"><a name="l00050"></a><span class="lineno"><a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460abba19f9f4427356857b6ab9bf17b2bb2"> 50</a></span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460abba19f9f4427356857b6ab9bf17b2bb2">RET_Service_Unavailable_503</a>,</div>
<div class="line"><a name="l00051"></a><span class="lineno"><a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460a940ffb29225f7392996487ac3f28ce8e"> 51</a></span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460a940ffb29225f7392996487ac3f28ce8e">RET_Unauthorized_401</a>,</div>
<div class="line"><a name="l00052"></a><span class="lineno"><a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460af28da7edba4d5ff77808fda5dd127af1"> 52</a></span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460af28da7edba4d5ff77808fda5dd127af1">RET_Bad_Request_400</a>,</div>
<div class="line"><a name="l00053"></a><span class="lineno"><a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460ad5bc6cad2ad752d8613d48bfa5609419"> 53</a></span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460ad5bc6cad2ad752d8613d48bfa5609419">RET_Over_Limit_413</a>,</div>
<div class="line"><a name="l00054"></a><span class="lineno"><a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460aa6d1c8dc585f86b3f2784b915c382829"> 54</a></span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460aa6d1c8dc585f86b3f2784b915c382829">RET_Bad_Media_Type_415</a>,</div>
<div class="line"><a name="l00055"></a><span class="lineno"><a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460a73e2562f980d8d6bf86140bec83e257c"> 55</a></span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460a73e2562f980d8d6bf86140bec83e257c">RET_Item_Not_Found_404</a>,</div>
<div class="line"><a name="l00056"></a><span class="lineno"><a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460a8fcddf94cfaff6a9512a61bef163f822"> 56</a></span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460a8fcddf94cfaff6a9512a61bef163f822">RET_Build_In_Progress_409</a>,</div>
<div class="line"><a name="l00057"></a><span class="lineno"><a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460a79d620502ab5b1ce53ce7530ef55f2cb"> 57</a></span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460a79d620502ab5b1ce53ce7530ef55f2cb">RET_Resize_Not_Allowed_403</a>,</div>
<div class="line"><a name="l00058"></a><span class="lineno"><a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460a7fe71e60ab0693e235dc380c4bf54a2d"> 58</a></span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460a7fe71e60ab0693e235dc380c4bf54a2d">RET_Connection_Closed_Without_Reponse</a>,</div>
<div class="line"><a name="l00059"></a><span class="lineno"><a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460ac0b50727fb24918e71acd1bc7fcf3462"> 59</a></span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460ac0b50727fb24918e71acd1bc7fcf3462">RET_Unknown_Failure</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;</div>
<div class="line"><a name="l00063"></a><span class="lineno"><a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a320ff923e99b7e3fc90edd602b4aecc1"> 63</a></span>&#160; <span class="keyword">enum</span> <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a320ff923e99b7e3fc90edd602b4aecc1">RackspaceOperationType</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"><a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a320ff923e99b7e3fc90edd602b4aecc1ac7de7f72078b0b8eed77003d6d3a9af4"> 65</a></span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a320ff923e99b7e3fc90edd602b4aecc1ac7de7f72078b0b8eed77003d6d3a9af4">RO_CONNECT_AND_AUTHENTICATE</a>,</div>
<div class="line"><a name="l00066"></a><span class="lineno"><a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a320ff923e99b7e3fc90edd602b4aecc1ad5de198fe6e9fff351b81920b450f5c2"> 66</a></span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a320ff923e99b7e3fc90edd602b4aecc1ad5de198fe6e9fff351b81920b450f5c2">RO_LIST_SERVERS</a>,</div>
<div class="line"><a name="l00067"></a><span class="lineno"><a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a320ff923e99b7e3fc90edd602b4aecc1aa6afb6aa8dca84100b6792321964d8fa"> 67</a></span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a320ff923e99b7e3fc90edd602b4aecc1aa6afb6aa8dca84100b6792321964d8fa">RO_LIST_SERVERS_WITH_DETAILS</a>,</div>
<div class="line"><a name="l00068"></a><span class="lineno"><a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a320ff923e99b7e3fc90edd602b4aecc1ab853ec42b4cc114db92e83a5ca378541"> 68</a></span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a320ff923e99b7e3fc90edd602b4aecc1ab853ec42b4cc114db92e83a5ca378541">RO_CREATE_SERVER</a>,</div>
<div class="line"><a name="l00069"></a><span class="lineno"><a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a320ff923e99b7e3fc90edd602b4aecc1a15784e9c0162df1354aa37987e710da3"> 69</a></span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a320ff923e99b7e3fc90edd602b4aecc1a15784e9c0162df1354aa37987e710da3">RO_GET_SERVER_DETAILS</a>,</div>
<div class="line"><a name="l00070"></a><span class="lineno"><a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a320ff923e99b7e3fc90edd602b4aecc1ae5dc5faef9353b1da6b347cb1276e9ab"> 70</a></span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a320ff923e99b7e3fc90edd602b4aecc1ae5dc5faef9353b1da6b347cb1276e9ab">RO_UPDATE_SERVER_NAME_OR_PASSWORD</a>,</div>
<div class="line"><a name="l00071"></a><span class="lineno"><a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a320ff923e99b7e3fc90edd602b4aecc1a15aa4373c555b1046912c6a7f1f11f96"> 71</a></span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a320ff923e99b7e3fc90edd602b4aecc1a15aa4373c555b1046912c6a7f1f11f96">RO_DELETE_SERVER</a>,</div>
<div class="line"><a name="l00072"></a><span class="lineno"><a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a320ff923e99b7e3fc90edd602b4aecc1a3a1e74e9d835269aa5181c94157eee93"> 72</a></span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a320ff923e99b7e3fc90edd602b4aecc1a3a1e74e9d835269aa5181c94157eee93">RO_LIST_SERVER_ADDRESSES</a>,</div>
<div class="line"><a name="l00073"></a><span class="lineno"><a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a320ff923e99b7e3fc90edd602b4aecc1a5a7915781d42c663e49b5011deef6a93"> 73</a></span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a320ff923e99b7e3fc90edd602b4aecc1a5a7915781d42c663e49b5011deef6a93">RO_SHARE_SERVER_ADDRESS</a>,</div>
<div class="line"><a name="l00074"></a><span class="lineno"><a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a320ff923e99b7e3fc90edd602b4aecc1a4a1e08ab54cf30cbee2b2e89b07f792f"> 74</a></span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a320ff923e99b7e3fc90edd602b4aecc1a4a1e08ab54cf30cbee2b2e89b07f792f">RO_DELETE_SERVER_ADDRESS</a>,</div>
<div class="line"><a name="l00075"></a><span class="lineno"><a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a320ff923e99b7e3fc90edd602b4aecc1acca2af49467134602514774d01dea870"> 75</a></span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a320ff923e99b7e3fc90edd602b4aecc1acca2af49467134602514774d01dea870">RO_REBOOT_SERVER</a>,</div>
<div class="line"><a name="l00076"></a><span class="lineno"><a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a320ff923e99b7e3fc90edd602b4aecc1aee2a6cd2aba1b6f8507f3c6714c17cd1"> 76</a></span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a320ff923e99b7e3fc90edd602b4aecc1aee2a6cd2aba1b6f8507f3c6714c17cd1">RO_REBUILD_SERVER</a>,</div>
<div class="line"><a name="l00077"></a><span class="lineno"><a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a320ff923e99b7e3fc90edd602b4aecc1ac87aae84e394d4a5cf125b10ca74d483"> 77</a></span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a320ff923e99b7e3fc90edd602b4aecc1ac87aae84e394d4a5cf125b10ca74d483">RO_RESIZE_SERVER</a>,</div>
<div class="line"><a name="l00078"></a><span class="lineno"><a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a320ff923e99b7e3fc90edd602b4aecc1ac1a9742b5ed320668622e15c0f8d84d3"> 78</a></span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a320ff923e99b7e3fc90edd602b4aecc1ac1a9742b5ed320668622e15c0f8d84d3">RO_CONFIRM_RESIZED_SERVER</a>,</div>
<div class="line"><a name="l00079"></a><span class="lineno"><a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a320ff923e99b7e3fc90edd602b4aecc1a1bb726d603373fe795584c6cf2b48337"> 79</a></span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a320ff923e99b7e3fc90edd602b4aecc1a1bb726d603373fe795584c6cf2b48337">RO_REVERT_RESIZED_SERVER</a>,</div>
<div class="line"><a name="l00080"></a><span class="lineno"><a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a320ff923e99b7e3fc90edd602b4aecc1aab1d3fd5f2d70920376a65a4cea6417d"> 80</a></span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a320ff923e99b7e3fc90edd602b4aecc1aab1d3fd5f2d70920376a65a4cea6417d">RO_LIST_FLAVORS</a>,</div>
<div class="line"><a name="l00081"></a><span class="lineno"><a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a320ff923e99b7e3fc90edd602b4aecc1a6fe919349cdaa665ca4455c34b06ee86"> 81</a></span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a320ff923e99b7e3fc90edd602b4aecc1a6fe919349cdaa665ca4455c34b06ee86">RO_GET_FLAVOR_DETAILS</a>,</div>
<div class="line"><a name="l00082"></a><span class="lineno"><a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a320ff923e99b7e3fc90edd602b4aecc1a6065408e288b33e8502dd7e9c1ec89b6"> 82</a></span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a320ff923e99b7e3fc90edd602b4aecc1a6065408e288b33e8502dd7e9c1ec89b6">RO_LIST_IMAGES</a>,</div>
<div class="line"><a name="l00083"></a><span class="lineno"><a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a320ff923e99b7e3fc90edd602b4aecc1abf51c3e1f4b7bd04d4b58825dfaea86f"> 83</a></span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a320ff923e99b7e3fc90edd602b4aecc1abf51c3e1f4b7bd04d4b58825dfaea86f">RO_CREATE_IMAGE</a>,</div>
<div class="line"><a name="l00084"></a><span class="lineno"><a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a320ff923e99b7e3fc90edd602b4aecc1aa43a0ecf149be043a9e30d2f0cd32f9f"> 84</a></span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a320ff923e99b7e3fc90edd602b4aecc1aa43a0ecf149be043a9e30d2f0cd32f9f">RO_GET_IMAGE_DETAILS</a>,</div>
<div class="line"><a name="l00085"></a><span class="lineno"><a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a320ff923e99b7e3fc90edd602b4aecc1ad7245560bb411882da18f57bbe3e8e81"> 85</a></span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a320ff923e99b7e3fc90edd602b4aecc1ad7245560bb411882da18f57bbe3e8e81">RO_DELETE_IMAGE</a>,</div>
<div class="line"><a name="l00086"></a><span class="lineno"><a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a320ff923e99b7e3fc90edd602b4aecc1afa1786ef486eb7d2429b0ce8ea89a324"> 86</a></span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a320ff923e99b7e3fc90edd602b4aecc1afa1786ef486eb7d2429b0ce8ea89a324">RO_LIST_SHARED_IP_GROUPS</a>,</div>
<div class="line"><a name="l00087"></a><span class="lineno"><a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a320ff923e99b7e3fc90edd602b4aecc1ac8f95f27c17265c4135462448442b8f4"> 87</a></span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a320ff923e99b7e3fc90edd602b4aecc1ac8f95f27c17265c4135462448442b8f4">RO_LIST_SHARED_IP_GROUPS_WITH_DETAILS</a>,</div>
<div class="line"><a name="l00088"></a><span class="lineno"><a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a320ff923e99b7e3fc90edd602b4aecc1a839bf13a9fbdf8e8248707f100eeec80"> 88</a></span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a320ff923e99b7e3fc90edd602b4aecc1a839bf13a9fbdf8e8248707f100eeec80">RO_CREATE_SHARED_IP_GROUP</a>,</div>
<div class="line"><a name="l00089"></a><span class="lineno"><a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a320ff923e99b7e3fc90edd602b4aecc1a07341e2abda8535f94afe95d5a9185da"> 89</a></span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a320ff923e99b7e3fc90edd602b4aecc1a07341e2abda8535f94afe95d5a9185da">RO_GET_SHARED_IP_GROUP_DETAILS</a>,</div>
<div class="line"><a name="l00090"></a><span class="lineno"><a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a320ff923e99b7e3fc90edd602b4aecc1a2dee9fc2e9e4b124cda1d427ea9c8a0a"> 90</a></span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a320ff923e99b7e3fc90edd602b4aecc1a2dee9fc2e9e4b124cda1d427ea9c8a0a">RO_DELETE_SHARED_IP_GROUP</a>,</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"><a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a320ff923e99b7e3fc90edd602b4aecc1af538a685f2853f248d618ee1de775bdc"> 92</a></span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a320ff923e99b7e3fc90edd602b4aecc1af538a685f2853f248d618ee1de775bdc">RO_NONE</a>,</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; };</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160;</div>
<div class="line"><a name="l00096"></a><span class="lineno"><a class="code" href="../../d0/dcb/class_s_l_net_1_1_rackspace2_event_callback.xhtml"> 96</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="../../d0/dcb/class_s_l_net_1_1_rackspace2_event_callback.xhtml" title="Callback interface to receive the results of operations.">Rackspace2EventCallback</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="keyword">public</span>:</div>
<div class="line"><a name="l00099"></a><span class="lineno"><a class="code" href="../../d0/dcb/class_s_l_net_1_1_rackspace2_event_callback.xhtml#af4ff215d4425fd1d0c2a934bbe401f92"> 99</a></span>&#160; <a class="code" href="../../d0/dcb/class_s_l_net_1_1_rackspace2_event_callback.xhtml#af4ff215d4425fd1d0c2a934bbe401f92">Rackspace2EventCallback</a>() {}</div>
<div class="line"><a name="l00100"></a><span class="lineno"><a class="code" href="../../d0/dcb/class_s_l_net_1_1_rackspace2_event_callback.xhtml#ab3ff4e28189da4ca112b2c494eac793d"> 100</a></span>&#160; <span class="keyword">virtual</span> <a class="code" href="../../d0/dcb/class_s_l_net_1_1_rackspace2_event_callback.xhtml#ab3ff4e28189da4ca112b2c494eac793d">~Rackspace2EventCallback</a>() {}</div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> OnAuthenticationResult(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460" title="Result codes for Rackspace commands /sa Rackspace::EventTypeToString()">RackspaceEventType</a> eventType, <span class="keyword">const</span> <span class="keywordtype">char</span> *htmlAdditionalInfo)=0;</div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> OnListServersResult(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460" title="Result codes for Rackspace commands /sa Rackspace::EventTypeToString()">RackspaceEventType</a> eventType, <span class="keyword">const</span> <span class="keywordtype">char</span> *htmlAdditionalInfo)=0;</div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> OnListServersWithDetailsResult(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460" title="Result codes for Rackspace commands /sa Rackspace::EventTypeToString()">RackspaceEventType</a> eventType, <span class="keyword">const</span> <span class="keywordtype">char</span> *htmlAdditionalInfo)=0;</div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> OnCreateServerResult(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460" title="Result codes for Rackspace commands /sa Rackspace::EventTypeToString()">RackspaceEventType</a> eventType, <span class="keyword">const</span> <span class="keywordtype">char</span> *htmlAdditionalInfo)=0;</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> OnGetServerDetails(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460" title="Result codes for Rackspace commands /sa Rackspace::EventTypeToString()">RackspaceEventType</a> eventType, <span class="keyword">const</span> <span class="keywordtype">char</span> *htmlAdditionalInfo)=0;</div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> OnUpdateServerNameOrPassword(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460" title="Result codes for Rackspace commands /sa Rackspace::EventTypeToString()">RackspaceEventType</a> eventType, <span class="keyword">const</span> <span class="keywordtype">char</span> *htmlAdditionalInfo)=0;</div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> OnDeleteServer(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460" title="Result codes for Rackspace commands /sa Rackspace::EventTypeToString()">RackspaceEventType</a> eventType, <span class="keyword">const</span> <span class="keywordtype">char</span> *htmlAdditionalInfo)=0;</div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> OnListServerAddresses(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460" title="Result codes for Rackspace commands /sa Rackspace::EventTypeToString()">RackspaceEventType</a> eventType, <span class="keyword">const</span> <span class="keywordtype">char</span> *htmlAdditionalInfo)=0;</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> OnShareServerAddress(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460" title="Result codes for Rackspace commands /sa Rackspace::EventTypeToString()">RackspaceEventType</a> eventType, <span class="keyword">const</span> <span class="keywordtype">char</span> *htmlAdditionalInfo)=0;</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> OnDeleteServerAddress(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460" title="Result codes for Rackspace commands /sa Rackspace::EventTypeToString()">RackspaceEventType</a> eventType, <span class="keyword">const</span> <span class="keywordtype">char</span> *htmlAdditionalInfo)=0;</div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> OnRebootServer(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460" title="Result codes for Rackspace commands /sa Rackspace::EventTypeToString()">RackspaceEventType</a> eventType, <span class="keyword">const</span> <span class="keywordtype">char</span> *htmlAdditionalInfo)=0;</div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> OnRebuildServer(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460" title="Result codes for Rackspace commands /sa Rackspace::EventTypeToString()">RackspaceEventType</a> eventType, <span class="keyword">const</span> <span class="keywordtype">char</span> *htmlAdditionalInfo)=0;</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> OnResizeServer(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460" title="Result codes for Rackspace commands /sa Rackspace::EventTypeToString()">RackspaceEventType</a> eventType, <span class="keyword">const</span> <span class="keywordtype">char</span> *htmlAdditionalInfo)=0;</div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> OnConfirmResizedServer(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460" title="Result codes for Rackspace commands /sa Rackspace::EventTypeToString()">RackspaceEventType</a> eventType, <span class="keyword">const</span> <span class="keywordtype">char</span> *htmlAdditionalInfo)=0;</div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> OnRevertResizedServer(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460" title="Result codes for Rackspace commands /sa Rackspace::EventTypeToString()">RackspaceEventType</a> eventType, <span class="keyword">const</span> <span class="keywordtype">char</span> *htmlAdditionalInfo)=0;</div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> OnListFlavorsResult(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460" title="Result codes for Rackspace commands /sa Rackspace::EventTypeToString()">RackspaceEventType</a> eventType, <span class="keyword">const</span> <span class="keywordtype">char</span> *htmlAdditionalInfo)=0;</div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> OnGetFlavorDetailsResult(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460" title="Result codes for Rackspace commands /sa Rackspace::EventTypeToString()">RackspaceEventType</a> eventType, <span class="keyword">const</span> <span class="keywordtype">char</span> *htmlAdditionalInfo)=0;</div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> OnListImagesResult(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460" title="Result codes for Rackspace commands /sa Rackspace::EventTypeToString()">RackspaceEventType</a> eventType, <span class="keyword">const</span> <span class="keywordtype">char</span> *htmlAdditionalInfo)=0;</div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> OnCreateImageResult(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460" title="Result codes for Rackspace commands /sa Rackspace::EventTypeToString()">RackspaceEventType</a> eventType, <span class="keyword">const</span> <span class="keywordtype">char</span> *htmlAdditionalInfo)=0;</div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> OnGetImageDetailsResult(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460" title="Result codes for Rackspace commands /sa Rackspace::EventTypeToString()">RackspaceEventType</a> eventType, <span class="keyword">const</span> <span class="keywordtype">char</span> *htmlAdditionalInfo)=0;</div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> OnDeleteImageResult(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460" title="Result codes for Rackspace commands /sa Rackspace::EventTypeToString()">RackspaceEventType</a> eventType, <span class="keyword">const</span> <span class="keywordtype">char</span> *htmlAdditionalInfo)=0;</div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> OnListSharedIPGroups(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460" title="Result codes for Rackspace commands /sa Rackspace::EventTypeToString()">RackspaceEventType</a> eventType, <span class="keyword">const</span> <span class="keywordtype">char</span> *htmlAdditionalInfo)=0;</div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> OnListSharedIPGroupsWithDetails(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460" title="Result codes for Rackspace commands /sa Rackspace::EventTypeToString()">RackspaceEventType</a> eventType, <span class="keyword">const</span> <span class="keywordtype">char</span> *htmlAdditionalInfo)=0;</div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> OnCreateSharedIPGroup(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460" title="Result codes for Rackspace commands /sa Rackspace::EventTypeToString()">RackspaceEventType</a> eventType, <span class="keyword">const</span> <span class="keywordtype">char</span> *htmlAdditionalInfo)=0;</div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> OnGetSharedIPGroupDetails(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460" title="Result codes for Rackspace commands /sa Rackspace::EventTypeToString()">RackspaceEventType</a> eventType, <span class="keyword">const</span> <span class="keywordtype">char</span> *htmlAdditionalInfo)=0;</div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> OnDeleteSharedIPGroup(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460" title="Result codes for Rackspace commands /sa Rackspace::EventTypeToString()">RackspaceEventType</a> eventType, <span class="keyword">const</span> <span class="keywordtype">char</span> *htmlAdditionalInfo)=0;</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; <span class="keyword">virtual</span> <span class="keywordtype">void</span> OnConnectionAttemptFailure(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a320ff923e99b7e3fc90edd602b4aecc1">RackspaceOperationType</a> operationType, <span class="keyword">const</span> <span class="keywordtype">char</span> *url)=0;</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="l00132"></a><span class="lineno"><a class="code" href="../../db/d6c/class_s_l_net_1_1_rackspace_event_callback___default.xhtml"> 132</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="../../db/d6c/class_s_l_net_1_1_rackspace_event_callback___default.xhtml" title="Callback interface to receive the results of operations, with a default result.">RackspaceEventCallback_Default</a> : <span class="keyword">public</span> <a class="code" href="../../d0/dcb/class_s_l_net_1_1_rackspace2_event_callback.xhtml" title="Callback interface to receive the results of operations.">Rackspace2EventCallback</a></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="keyword">public</span>:</div>
<div class="line"><a name="l00135"></a><span class="lineno"><a class="code" href="../../db/d6c/class_s_l_net_1_1_rackspace_event_callback___default.xhtml#a86047c3d1d52bd7037d69d5a2e259b6f"> 135</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="../../db/d6c/class_s_l_net_1_1_rackspace_event_callback___default.xhtml#a86047c3d1d52bd7037d69d5a2e259b6f">ExecuteDefault</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *callbackName, <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460" title="Result codes for Rackspace commands /sa Rackspace::EventTypeToString()">RackspaceEventType</a> eventType, <span class="keyword">const</span> <span class="keywordtype">char</span> *htmlAdditionalInfo) {(void) callbackName; (void) eventType; (void) htmlAdditionalInfo;}</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"><a class="code" href="../../db/d6c/class_s_l_net_1_1_rackspace_event_callback___default.xhtml#af18be4c0ad29f53fbb9c71e33f7fcfd3"> 137</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="../../db/d6c/class_s_l_net_1_1_rackspace_event_callback___default.xhtml#af18be4c0ad29f53fbb9c71e33f7fcfd3">OnAuthenticationResult</a>(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460" title="Result codes for Rackspace commands /sa Rackspace::EventTypeToString()">RackspaceEventType</a> eventType, <span class="keyword">const</span> <span class="keywordtype">char</span> *htmlAdditionalInfo) {ExecuteDefault(<span class="stringliteral">&quot;OnAuthenticationResult&quot;</span>, eventType, htmlAdditionalInfo);}</div>
<div class="line"><a name="l00138"></a><span class="lineno"><a class="code" href="../../db/d6c/class_s_l_net_1_1_rackspace_event_callback___default.xhtml#a55567072887b669cf8c9c97b00bff9a8"> 138</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="../../db/d6c/class_s_l_net_1_1_rackspace_event_callback___default.xhtml#a55567072887b669cf8c9c97b00bff9a8">OnListServersResult</a>(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460" title="Result codes for Rackspace commands /sa Rackspace::EventTypeToString()">RackspaceEventType</a> eventType, <span class="keyword">const</span> <span class="keywordtype">char</span> *htmlAdditionalInfo) {ExecuteDefault(<span class="stringliteral">&quot;OnListServersResult&quot;</span>, eventType, htmlAdditionalInfo);}</div>
<div class="line"><a name="l00139"></a><span class="lineno"><a class="code" href="../../db/d6c/class_s_l_net_1_1_rackspace_event_callback___default.xhtml#a835cf471a99344517a856645399efbe7"> 139</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="../../db/d6c/class_s_l_net_1_1_rackspace_event_callback___default.xhtml#a835cf471a99344517a856645399efbe7">OnListServersWithDetailsResult</a>(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460" title="Result codes for Rackspace commands /sa Rackspace::EventTypeToString()">RackspaceEventType</a> eventType, <span class="keyword">const</span> <span class="keywordtype">char</span> *htmlAdditionalInfo) {ExecuteDefault(<span class="stringliteral">&quot;OnListServersWithDetailsResult&quot;</span>, eventType, htmlAdditionalInfo);}</div>
<div class="line"><a name="l00140"></a><span class="lineno"><a class="code" href="../../db/d6c/class_s_l_net_1_1_rackspace_event_callback___default.xhtml#ac075e79240095c557a540d6d51d97ec8"> 140</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="../../db/d6c/class_s_l_net_1_1_rackspace_event_callback___default.xhtml#ac075e79240095c557a540d6d51d97ec8">OnCreateServerResult</a>(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460" title="Result codes for Rackspace commands /sa Rackspace::EventTypeToString()">RackspaceEventType</a> eventType, <span class="keyword">const</span> <span class="keywordtype">char</span> *htmlAdditionalInfo) {ExecuteDefault(<span class="stringliteral">&quot;OnCreateServerResult&quot;</span>, eventType, htmlAdditionalInfo);}</div>
<div class="line"><a name="l00141"></a><span class="lineno"><a class="code" href="../../db/d6c/class_s_l_net_1_1_rackspace_event_callback___default.xhtml#a3dcb891cef759013347ac9b39b3dc78b"> 141</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="../../db/d6c/class_s_l_net_1_1_rackspace_event_callback___default.xhtml#a3dcb891cef759013347ac9b39b3dc78b">OnGetServerDetails</a>(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460" title="Result codes for Rackspace commands /sa Rackspace::EventTypeToString()">RackspaceEventType</a> eventType, <span class="keyword">const</span> <span class="keywordtype">char</span> *htmlAdditionalInfo) {ExecuteDefault(<span class="stringliteral">&quot;OnGetServerDetails&quot;</span>, eventType, htmlAdditionalInfo);}</div>
<div class="line"><a name="l00142"></a><span class="lineno"><a class="code" href="../../db/d6c/class_s_l_net_1_1_rackspace_event_callback___default.xhtml#ad0c21e450b01fe76532a385f41a1d1df"> 142</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="../../db/d6c/class_s_l_net_1_1_rackspace_event_callback___default.xhtml#ad0c21e450b01fe76532a385f41a1d1df">OnUpdateServerNameOrPassword</a>(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460" title="Result codes for Rackspace commands /sa Rackspace::EventTypeToString()">RackspaceEventType</a> eventType, <span class="keyword">const</span> <span class="keywordtype">char</span> *htmlAdditionalInfo) {ExecuteDefault(<span class="stringliteral">&quot;OnUpdateServerNameOrPassword&quot;</span>, eventType, htmlAdditionalInfo);}</div>
<div class="line"><a name="l00143"></a><span class="lineno"><a class="code" href="../../db/d6c/class_s_l_net_1_1_rackspace_event_callback___default.xhtml#ac147ef3d2a57f294a1505e3abd7a90fa"> 143</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="../../db/d6c/class_s_l_net_1_1_rackspace_event_callback___default.xhtml#ac147ef3d2a57f294a1505e3abd7a90fa">OnDeleteServer</a>(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460" title="Result codes for Rackspace commands /sa Rackspace::EventTypeToString()">RackspaceEventType</a> eventType, <span class="keyword">const</span> <span class="keywordtype">char</span> *htmlAdditionalInfo) {ExecuteDefault(<span class="stringliteral">&quot;OnDeleteServer&quot;</span>, eventType, htmlAdditionalInfo);}</div>
<div class="line"><a name="l00144"></a><span class="lineno"><a class="code" href="../../db/d6c/class_s_l_net_1_1_rackspace_event_callback___default.xhtml#aefdfecd2a949b33a3c557c8c2472d5a3"> 144</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="../../db/d6c/class_s_l_net_1_1_rackspace_event_callback___default.xhtml#aefdfecd2a949b33a3c557c8c2472d5a3">OnListServerAddresses</a>(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460" title="Result codes for Rackspace commands /sa Rackspace::EventTypeToString()">RackspaceEventType</a> eventType, <span class="keyword">const</span> <span class="keywordtype">char</span> *htmlAdditionalInfo) {ExecuteDefault(<span class="stringliteral">&quot;OnListServerAddresses&quot;</span>, eventType, htmlAdditionalInfo);}</div>
<div class="line"><a name="l00145"></a><span class="lineno"><a class="code" href="../../db/d6c/class_s_l_net_1_1_rackspace_event_callback___default.xhtml#a70b6d023e270dce8d0e9eb0fbeeb6c54"> 145</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="../../db/d6c/class_s_l_net_1_1_rackspace_event_callback___default.xhtml#a70b6d023e270dce8d0e9eb0fbeeb6c54">OnShareServerAddress</a>(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460" title="Result codes for Rackspace commands /sa Rackspace::EventTypeToString()">RackspaceEventType</a> eventType, <span class="keyword">const</span> <span class="keywordtype">char</span> *htmlAdditionalInfo) {ExecuteDefault(<span class="stringliteral">&quot;OnShareServerAddress&quot;</span>, eventType, htmlAdditionalInfo);}</div>
<div class="line"><a name="l00146"></a><span class="lineno"><a class="code" href="../../db/d6c/class_s_l_net_1_1_rackspace_event_callback___default.xhtml#a0f6b1e6712e11c44baec98040d277c06"> 146</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="../../db/d6c/class_s_l_net_1_1_rackspace_event_callback___default.xhtml#a0f6b1e6712e11c44baec98040d277c06">OnDeleteServerAddress</a>(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460" title="Result codes for Rackspace commands /sa Rackspace::EventTypeToString()">RackspaceEventType</a> eventType, <span class="keyword">const</span> <span class="keywordtype">char</span> *htmlAdditionalInfo) {ExecuteDefault(<span class="stringliteral">&quot;OnDeleteServerAddress&quot;</span>, eventType, htmlAdditionalInfo);}</div>
<div class="line"><a name="l00147"></a><span class="lineno"><a class="code" href="../../db/d6c/class_s_l_net_1_1_rackspace_event_callback___default.xhtml#a921433381fb8c7e05008ca9c507bee90"> 147</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="../../db/d6c/class_s_l_net_1_1_rackspace_event_callback___default.xhtml#a921433381fb8c7e05008ca9c507bee90">OnRebootServer</a>(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460" title="Result codes for Rackspace commands /sa Rackspace::EventTypeToString()">RackspaceEventType</a> eventType, <span class="keyword">const</span> <span class="keywordtype">char</span> *htmlAdditionalInfo) {ExecuteDefault(<span class="stringliteral">&quot;OnRebootServer&quot;</span>, eventType, htmlAdditionalInfo);}</div>
<div class="line"><a name="l00148"></a><span class="lineno"><a class="code" href="../../db/d6c/class_s_l_net_1_1_rackspace_event_callback___default.xhtml#afbd59ed1ce666a977e969d3d35b515d8"> 148</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="../../db/d6c/class_s_l_net_1_1_rackspace_event_callback___default.xhtml#afbd59ed1ce666a977e969d3d35b515d8">OnRebuildServer</a>(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460" title="Result codes for Rackspace commands /sa Rackspace::EventTypeToString()">RackspaceEventType</a> eventType, <span class="keyword">const</span> <span class="keywordtype">char</span> *htmlAdditionalInfo) {ExecuteDefault(<span class="stringliteral">&quot;OnRebuildServer&quot;</span>, eventType, htmlAdditionalInfo);}</div>
<div class="line"><a name="l00149"></a><span class="lineno"><a class="code" href="../../db/d6c/class_s_l_net_1_1_rackspace_event_callback___default.xhtml#a6b30072bf8fdd295ab21debd63d83f81"> 149</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="../../db/d6c/class_s_l_net_1_1_rackspace_event_callback___default.xhtml#a6b30072bf8fdd295ab21debd63d83f81">OnResizeServer</a>(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460" title="Result codes for Rackspace commands /sa Rackspace::EventTypeToString()">RackspaceEventType</a> eventType, <span class="keyword">const</span> <span class="keywordtype">char</span> *htmlAdditionalInfo) {ExecuteDefault(<span class="stringliteral">&quot;OnResizeServer&quot;</span>, eventType, htmlAdditionalInfo);}</div>
<div class="line"><a name="l00150"></a><span class="lineno"><a class="code" href="../../db/d6c/class_s_l_net_1_1_rackspace_event_callback___default.xhtml#a618b14cdcdec648475b7604fbd4540a1"> 150</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="../../db/d6c/class_s_l_net_1_1_rackspace_event_callback___default.xhtml#a618b14cdcdec648475b7604fbd4540a1">OnConfirmResizedServer</a>(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460" title="Result codes for Rackspace commands /sa Rackspace::EventTypeToString()">RackspaceEventType</a> eventType, <span class="keyword">const</span> <span class="keywordtype">char</span> *htmlAdditionalInfo) {ExecuteDefault(<span class="stringliteral">&quot;OnConfirmResizedServer&quot;</span>, eventType, htmlAdditionalInfo);}</div>
<div class="line"><a name="l00151"></a><span class="lineno"><a class="code" href="../../db/d6c/class_s_l_net_1_1_rackspace_event_callback___default.xhtml#a1d8e405de3ba157eea7eec688f8b206a"> 151</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="../../db/d6c/class_s_l_net_1_1_rackspace_event_callback___default.xhtml#a1d8e405de3ba157eea7eec688f8b206a">OnRevertResizedServer</a>(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460" title="Result codes for Rackspace commands /sa Rackspace::EventTypeToString()">RackspaceEventType</a> eventType, <span class="keyword">const</span> <span class="keywordtype">char</span> *htmlAdditionalInfo) {ExecuteDefault(<span class="stringliteral">&quot;OnRevertResizedServer&quot;</span>, eventType, htmlAdditionalInfo);}</div>
<div class="line"><a name="l00152"></a><span class="lineno"><a class="code" href="../../db/d6c/class_s_l_net_1_1_rackspace_event_callback___default.xhtml#a18cc4d3461ee0d2db78f8cf211ef81d3"> 152</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="../../db/d6c/class_s_l_net_1_1_rackspace_event_callback___default.xhtml#a18cc4d3461ee0d2db78f8cf211ef81d3">OnListFlavorsResult</a>(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460" title="Result codes for Rackspace commands /sa Rackspace::EventTypeToString()">RackspaceEventType</a> eventType, <span class="keyword">const</span> <span class="keywordtype">char</span> *htmlAdditionalInfo) {ExecuteDefault(<span class="stringliteral">&quot;OnListFlavorsResult&quot;</span>, eventType, htmlAdditionalInfo);}</div>
<div class="line"><a name="l00153"></a><span class="lineno"><a class="code" href="../../db/d6c/class_s_l_net_1_1_rackspace_event_callback___default.xhtml#ab9b34e2d6bc8934b2bc826d20e3d860c"> 153</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="../../db/d6c/class_s_l_net_1_1_rackspace_event_callback___default.xhtml#ab9b34e2d6bc8934b2bc826d20e3d860c">OnGetFlavorDetailsResult</a>(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460" title="Result codes for Rackspace commands /sa Rackspace::EventTypeToString()">RackspaceEventType</a> eventType, <span class="keyword">const</span> <span class="keywordtype">char</span> *htmlAdditionalInfo) {ExecuteDefault(<span class="stringliteral">&quot;OnGetFlavorDetailsResult&quot;</span>, eventType, htmlAdditionalInfo);}</div>
<div class="line"><a name="l00154"></a><span class="lineno"><a class="code" href="../../db/d6c/class_s_l_net_1_1_rackspace_event_callback___default.xhtml#a15bbad7b4c366b9d8dfcffb8971beb1f"> 154</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="../../db/d6c/class_s_l_net_1_1_rackspace_event_callback___default.xhtml#a15bbad7b4c366b9d8dfcffb8971beb1f">OnListImagesResult</a>(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460" title="Result codes for Rackspace commands /sa Rackspace::EventTypeToString()">RackspaceEventType</a> eventType, <span class="keyword">const</span> <span class="keywordtype">char</span> *htmlAdditionalInfo) {ExecuteDefault(<span class="stringliteral">&quot;OnListImagesResult&quot;</span>, eventType, htmlAdditionalInfo);}</div>
<div class="line"><a name="l00155"></a><span class="lineno"><a class="code" href="../../db/d6c/class_s_l_net_1_1_rackspace_event_callback___default.xhtml#a0b840d5cd26a33699d0ed282c7040970"> 155</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="../../db/d6c/class_s_l_net_1_1_rackspace_event_callback___default.xhtml#a0b840d5cd26a33699d0ed282c7040970">OnCreateImageResult</a>(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460" title="Result codes for Rackspace commands /sa Rackspace::EventTypeToString()">RackspaceEventType</a> eventType, <span class="keyword">const</span> <span class="keywordtype">char</span> *htmlAdditionalInfo) {ExecuteDefault(<span class="stringliteral">&quot;OnCreateImageResult&quot;</span>, eventType, htmlAdditionalInfo);}</div>
<div class="line"><a name="l00156"></a><span class="lineno"><a class="code" href="../../db/d6c/class_s_l_net_1_1_rackspace_event_callback___default.xhtml#a53fea4b214170c3df4001affe2b83526"> 156</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="../../db/d6c/class_s_l_net_1_1_rackspace_event_callback___default.xhtml#a53fea4b214170c3df4001affe2b83526">OnGetImageDetailsResult</a>(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460" title="Result codes for Rackspace commands /sa Rackspace::EventTypeToString()">RackspaceEventType</a> eventType, <span class="keyword">const</span> <span class="keywordtype">char</span> *htmlAdditionalInfo) {ExecuteDefault(<span class="stringliteral">&quot;OnGetImageDetailsResult&quot;</span>, eventType, htmlAdditionalInfo);}</div>
<div class="line"><a name="l00157"></a><span class="lineno"><a class="code" href="../../db/d6c/class_s_l_net_1_1_rackspace_event_callback___default.xhtml#a0727dcb5a9e4cfda50ad9992d142837f"> 157</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="../../db/d6c/class_s_l_net_1_1_rackspace_event_callback___default.xhtml#a0727dcb5a9e4cfda50ad9992d142837f">OnDeleteImageResult</a>(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460" title="Result codes for Rackspace commands /sa Rackspace::EventTypeToString()">RackspaceEventType</a> eventType, <span class="keyword">const</span> <span class="keywordtype">char</span> *htmlAdditionalInfo) {ExecuteDefault(<span class="stringliteral">&quot;OnDeleteImageResult&quot;</span>, eventType, htmlAdditionalInfo);}</div>
<div class="line"><a name="l00158"></a><span class="lineno"><a class="code" href="../../db/d6c/class_s_l_net_1_1_rackspace_event_callback___default.xhtml#a5382d6ed559423111eb8a7297e6347e1"> 158</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="../../db/d6c/class_s_l_net_1_1_rackspace_event_callback___default.xhtml#a5382d6ed559423111eb8a7297e6347e1">OnListSharedIPGroups</a>(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460" title="Result codes for Rackspace commands /sa Rackspace::EventTypeToString()">RackspaceEventType</a> eventType, <span class="keyword">const</span> <span class="keywordtype">char</span> *htmlAdditionalInfo) {ExecuteDefault(<span class="stringliteral">&quot;OnListSharedIPGroups&quot;</span>, eventType, htmlAdditionalInfo);}</div>
<div class="line"><a name="l00159"></a><span class="lineno"><a class="code" href="../../db/d6c/class_s_l_net_1_1_rackspace_event_callback___default.xhtml#a8f87996e78af93f4c0675d95084becb4"> 159</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="../../db/d6c/class_s_l_net_1_1_rackspace_event_callback___default.xhtml#a8f87996e78af93f4c0675d95084becb4">OnListSharedIPGroupsWithDetails</a>(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460" title="Result codes for Rackspace commands /sa Rackspace::EventTypeToString()">RackspaceEventType</a> eventType, <span class="keyword">const</span> <span class="keywordtype">char</span> *htmlAdditionalInfo) {ExecuteDefault(<span class="stringliteral">&quot;OnListSharedIPGroupsWithDetails&quot;</span>, eventType, htmlAdditionalInfo);}</div>
<div class="line"><a name="l00160"></a><span class="lineno"><a class="code" href="../../db/d6c/class_s_l_net_1_1_rackspace_event_callback___default.xhtml#a51974ce90a72e3c2aa8309e4438a968f"> 160</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="../../db/d6c/class_s_l_net_1_1_rackspace_event_callback___default.xhtml#a51974ce90a72e3c2aa8309e4438a968f">OnCreateSharedIPGroup</a>(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460" title="Result codes for Rackspace commands /sa Rackspace::EventTypeToString()">RackspaceEventType</a> eventType, <span class="keyword">const</span> <span class="keywordtype">char</span> *htmlAdditionalInfo) {ExecuteDefault(<span class="stringliteral">&quot;OnCreateSharedIPGroup&quot;</span>, eventType, htmlAdditionalInfo);}</div>
<div class="line"><a name="l00161"></a><span class="lineno"><a class="code" href="../../db/d6c/class_s_l_net_1_1_rackspace_event_callback___default.xhtml#a056a8c11ee113c361c09241db68cfd25"> 161</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="../../db/d6c/class_s_l_net_1_1_rackspace_event_callback___default.xhtml#a056a8c11ee113c361c09241db68cfd25">OnGetSharedIPGroupDetails</a>(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460" title="Result codes for Rackspace commands /sa Rackspace::EventTypeToString()">RackspaceEventType</a> eventType, <span class="keyword">const</span> <span class="keywordtype">char</span> *htmlAdditionalInfo) {ExecuteDefault(<span class="stringliteral">&quot;OnGetSharedIPGroupDetails&quot;</span>, eventType, htmlAdditionalInfo);}</div>
<div class="line"><a name="l00162"></a><span class="lineno"><a class="code" href="../../db/d6c/class_s_l_net_1_1_rackspace_event_callback___default.xhtml#a2e271e1fe0b9631a11caeeefe1230ca5"> 162</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="../../db/d6c/class_s_l_net_1_1_rackspace_event_callback___default.xhtml#a2e271e1fe0b9631a11caeeefe1230ca5">OnDeleteSharedIPGroup</a>(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460" title="Result codes for Rackspace commands /sa Rackspace::EventTypeToString()">RackspaceEventType</a> eventType, <span class="keyword">const</span> <span class="keywordtype">char</span> *htmlAdditionalInfo) {ExecuteDefault(<span class="stringliteral">&quot;OnDeleteSharedIPGroup&quot;</span>, eventType, htmlAdditionalInfo);}</div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160;</div>
<div class="line"><a name="l00164"></a><span class="lineno"><a class="code" href="../../db/d6c/class_s_l_net_1_1_rackspace_event_callback___default.xhtml#a5510853f8df84e4e25c4bfcd8ae87f4d"> 164</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="../../db/d6c/class_s_l_net_1_1_rackspace_event_callback___default.xhtml#a5510853f8df84e4e25c4bfcd8ae87f4d">OnConnectionAttemptFailure</a>(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a320ff923e99b7e3fc90edd602b4aecc1">RackspaceOperationType</a> operationType, <span class="keyword">const</span> <span class="keywordtype">char</span> *url) {(void) operationType; (void) url;}</div>
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; };</div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160;</div>
<div class="line"><a name="l00171"></a><span class="lineno"><a class="code" href="../../d4/dc9/class_s_l_net_1_1_rackspace.xhtml"> 171</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/dc9/class_s_l_net_1_1_rackspace.xhtml" title="Code that uses the TCPInterface class to communicate with the Rackspace API servers.">Rackspace</a></div>
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; {</div>
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; <a class="code" href="../../d4/dc9/class_s_l_net_1_1_rackspace.xhtml" title="Code that uses the TCPInterface class to communicate with the Rackspace API servers.">Rackspace</a>();</div>
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; ~<a class="code" href="../../d4/dc9/class_s_l_net_1_1_rackspace.xhtml" title="Code that uses the TCPInterface class to communicate with the Rackspace API servers.">Rackspace</a>();</div>
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160;</div>
<div class="line"><a name="l00186"></a><span class="lineno"> 186</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> Authenticate(<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> <span class="keywordtype">char</span> *_authenticationURL, <span class="keyword">const</span> <span class="keywordtype">char</span> *_rackspaceCloudUsername, <span class="keyword">const</span> <span class="keywordtype">char</span> *_apiAccessKey);</div>
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160;</div>
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; <span class="keywordtype">void</span> ListServers(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160;</div>
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; <span class="keywordtype">void</span> ListServersWithDetails(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160;</div>
<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; <span class="keywordtype">void</span> CreateServer(<a class="code" href="../../d2/d66/class_s_l_net_1_1_rak_string.xhtml" title="String class.">SLNet::RakString</a> name, <a class="code" href="../../d2/d66/class_s_l_net_1_1_rak_string.xhtml" title="String class.">SLNet::RakString</a> imageId, <a class="code" href="../../d2/d66/class_s_l_net_1_1_rak_string.xhtml" title="String class.">SLNet::RakString</a> flavorId);</div>
<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160;</div>
<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; <span class="keywordtype">void</span> GetServerDetails(<a class="code" href="../../d2/d66/class_s_l_net_1_1_rak_string.xhtml" title="String class.">SLNet::RakString</a> serverId);</div>
<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160;</div>
<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; <span class="keywordtype">void</span> UpdateServerNameOrPassword(<a class="code" href="../../d2/d66/class_s_l_net_1_1_rak_string.xhtml" title="String class.">SLNet::RakString</a> serverId, <a class="code" href="../../d2/d66/class_s_l_net_1_1_rak_string.xhtml" title="String class.">SLNet::RakString</a> newName, <a class="code" href="../../d2/d66/class_s_l_net_1_1_rak_string.xhtml" title="String class.">SLNet::RakString</a> newPassword);</div>
<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160;</div>
<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; <span class="keywordtype">void</span> DeleteServer(<a class="code" href="../../d2/d66/class_s_l_net_1_1_rak_string.xhtml" title="String class.">SLNet::RakString</a> serverId);</div>
<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; </div>
<div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; <span class="keywordtype">void</span> ListServerAddresses(<a class="code" href="../../d2/d66/class_s_l_net_1_1_rak_string.xhtml" title="String class.">SLNet::RakString</a> serverId);</div>
<div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160;</div>
<div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; <span class="keywordtype">void</span> ShareServerAddress(<a class="code" href="../../d2/d66/class_s_l_net_1_1_rak_string.xhtml" title="String class.">SLNet::RakString</a> serverId, <a class="code" href="../../d2/d66/class_s_l_net_1_1_rak_string.xhtml" title="String class.">SLNet::RakString</a> ipAddress);</div>
<div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160;</div>
<div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; <span class="keywordtype">void</span> DeleteServerAddress(<a class="code" href="../../d2/d66/class_s_l_net_1_1_rak_string.xhtml" title="String class.">SLNet::RakString</a> serverId, <a class="code" href="../../d2/d66/class_s_l_net_1_1_rak_string.xhtml" title="String class.">SLNet::RakString</a> ipAddress);</div>
<div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160;</div>
<div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; <span class="keywordtype">void</span> RebootServer(<a class="code" href="../../d2/d66/class_s_l_net_1_1_rak_string.xhtml" title="String class.">SLNet::RakString</a> serverId, <a class="code" href="../../d2/d66/class_s_l_net_1_1_rak_string.xhtml" title="String class.">SLNet::RakString</a> rebootType);</div>
<div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160;</div>
<div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160; <span class="keywordtype">void</span> RebuildServer(<a class="code" href="../../d2/d66/class_s_l_net_1_1_rak_string.xhtml" title="String class.">SLNet::RakString</a> serverId, <a class="code" href="../../d2/d66/class_s_l_net_1_1_rak_string.xhtml" title="String class.">SLNet::RakString</a> imageId);</div>
<div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160;</div>
<div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; <span class="keywordtype">void</span> ResizeServer(<a class="code" href="../../d2/d66/class_s_l_net_1_1_rak_string.xhtml" title="String class.">SLNet::RakString</a> serverId, <a class="code" href="../../d2/d66/class_s_l_net_1_1_rak_string.xhtml" title="String class.">SLNet::RakString</a> flavorId);</div>
<div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160;</div>
<div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160; <span class="keywordtype">void</span> ConfirmResizedServer(<a class="code" href="../../d2/d66/class_s_l_net_1_1_rak_string.xhtml" title="String class.">SLNet::RakString</a> serverId);</div>
<div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160;</div>
<div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160; <span class="keywordtype">void</span> RevertResizedServer(<a class="code" href="../../d2/d66/class_s_l_net_1_1_rak_string.xhtml" title="String class.">SLNet::RakString</a> serverId);</div>
<div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160;</div>
<div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; <span class="keywordtype">void</span> ListFlavors(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160;</div>
<div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160; <span class="keywordtype">void</span> GetFlavorDetails(<a class="code" href="../../d2/d66/class_s_l_net_1_1_rak_string.xhtml" title="String class.">SLNet::RakString</a> flavorId);</div>
<div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160;</div>
<div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; <span class="keywordtype">void</span> ListImages(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160;</div>
<div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160; <span class="keywordtype">void</span> CreateImage(<a class="code" href="../../d2/d66/class_s_l_net_1_1_rak_string.xhtml" title="String class.">SLNet::RakString</a> serverId, <a class="code" href="../../d2/d66/class_s_l_net_1_1_rak_string.xhtml" title="String class.">SLNet::RakString</a> imageName);</div>
<div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160;</div>
<div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160; <span class="keywordtype">void</span> GetImageDetails(<a class="code" href="../../d2/d66/class_s_l_net_1_1_rak_string.xhtml" title="String class.">SLNet::RakString</a> imageId);</div>
<div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160;</div>
<div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160; <span class="keywordtype">void</span> DeleteImage(<a class="code" href="../../d2/d66/class_s_l_net_1_1_rak_string.xhtml" title="String class.">SLNet::RakString</a> imageId);</div>
<div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160;</div>
<div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160; <span class="keywordtype">void</span> ListSharedIPGroups(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160;</div>
<div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160; <span class="keywordtype">void</span> ListSharedIPGroupsWithDetails(<span class="keywordtype">void</span>);</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; <span class="comment">// I don&#39;t know what this does</span></div>
<div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; <span class="keywordtype">void</span> CreateSharedIPGroup(<a class="code" href="../../d2/d66/class_s_l_net_1_1_rak_string.xhtml" title="String class.">SLNet::RakString</a> name, <a class="code" href="../../d2/d66/class_s_l_net_1_1_rak_string.xhtml" title="String class.">SLNet::RakString</a> optionalServerId);</div>
<div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160; <span class="comment">// I don&#39;t know what this does</span></div>
<div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160; <span class="keywordtype">void</span> GetSharedIPGroupDetails(<a class="code" href="../../d2/d66/class_s_l_net_1_1_rak_string.xhtml" title="String class.">SLNet::RakString</a> groupId);</div>
<div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; <span class="comment">// I don&#39;t know what this does</span></div>
<div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; <span class="keywordtype">void</span> DeleteSharedIPGroup(<a class="code" href="../../d2/d66/class_s_l_net_1_1_rak_string.xhtml" title="String class.">SLNet::RakString</a> groupId);</div>
<div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160;</div>
<div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160; <span class="keywordtype">void</span> AddEventCallback(<a class="code" href="../../d0/dcb/class_s_l_net_1_1_rackspace2_event_callback.xhtml" title="Callback interface to receive the results of operations.">Rackspace2EventCallback</a> *callback);</div>
<div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160; <span class="keywordtype">void</span> RemoveEventCallback(<a class="code" href="../../d0/dcb/class_s_l_net_1_1_rackspace2_event_callback.xhtml" title="Callback interface to receive the results of operations.">Rackspace2EventCallback</a> *callback);</div>
<div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160; <span class="keywordtype">void</span> ClearEventCallbacks(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160;</div>
<div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160; <span class="keywordtype">void</span> 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="l00357"></a><span class="lineno"> 357</span>&#160;</div>
<div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160; <span class="keywordtype">void</span> OnClosedConnection(<a class="code" href="../../d8/dbe/struct_s_l_net_1_1_system_address.xhtml" title="Network address for a system.">SystemAddress</a> systemAddress);</div>
<div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160;</div>
<div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * EventTypeToString(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ac63aeb5a0c76eb1e9423646aef1fb460" title="Result codes for Rackspace commands /sa Rackspace::EventTypeToString()">RackspaceEventType</a> eventType);</div>
<div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160;</div>
<div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160; <span class="keywordtype">void</span> AddOperation(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a320ff923e99b7e3fc90edd602b4aecc1">RackspaceOperationType</a> type, <a class="code" href="../../d2/d66/class_s_l_net_1_1_rak_string.xhtml" title="String class.">SLNet::RakString</a> httpCommand, <a class="code" href="../../d2/d66/class_s_l_net_1_1_rak_string.xhtml" title="String class.">SLNet::RakString</a> operation, <a class="code" href="../../d2/d66/class_s_l_net_1_1_rak_string.xhtml" title="String class.">SLNet::RakString</a> xml);</div>
<div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160; <span class="keyword">protected</span>:</div>
<div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160;</div>
<div class="line"><a name="l00369"></a><span class="lineno"><a class="code" href="../../d4/dc9/class_s_l_net_1_1_rackspace.xhtml#a990d107391a983a91f9568d91ecf0ce7"> 369</a></span>&#160; <a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml">DataStructures::List&lt;Rackspace2EventCallback*&gt;</a> <a class="code" href="../../d4/dc9/class_s_l_net_1_1_rackspace.xhtml#a990d107391a983a91f9568d91ecf0ce7">eventCallbacks</a>;</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"><a class="code" href="../../d4/dc9/class_s_l_net_1_1_rackspace.xhtml"> 371</a></span>&#160; <span class="keyword">struct </span><a class="code" href="../../d4/dc9/class_s_l_net_1_1_rackspace.xhtml#d6/d93/struct_s_l_net_1_1_rackspace_1_1_rackspace_operation">RackspaceOperation</a></div>
<div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160; {</div>
<div class="line"><a name="l00373"></a><span class="lineno"><a class="code" href="../../d4/dc9/class_s_l_net_1_1_rackspace.xhtml#a6b3a38889a07ff5bc8859ec34e1540df"> 373</a></span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a320ff923e99b7e3fc90edd602b4aecc1">RackspaceOperationType</a> <a class="code" href="../../d4/dc9/class_s_l_net_1_1_rackspace.xhtml#a6b3a38889a07ff5bc8859ec34e1540df">type</a>;</div>
<div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; <span class="comment">// SLNet::RakString stringInfo;</span></div>
<div class="line"><a name="l00375"></a><span class="lineno"><a class="code" href="../../d4/dc9/class_s_l_net_1_1_rackspace.xhtml#a9928715e08718f181c67c7018ab992c9"> 375</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/dc9/class_s_l_net_1_1_rackspace.xhtml#a9928715e08718f181c67c7018ab992c9">connectionAddress</a>;</div>
<div class="line"><a name="l00376"></a><span class="lineno"><a class="code" href="../../d4/dc9/class_s_l_net_1_1_rackspace.xhtml#ac96f1dbb30cdbc0b487d57804ffb644d"> 376</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="../../d4/dc9/class_s_l_net_1_1_rackspace.xhtml#ac96f1dbb30cdbc0b487d57804ffb644d">isPendingAuthentication</a>;</div>
<div class="line"><a name="l00377"></a><span class="lineno"><a class="code" href="../../d4/dc9/class_s_l_net_1_1_rackspace.xhtml#a6516c8e8d23b1f3aa9cc08737dee874f"> 377</a></span>&#160; <a class="code" href="../../d2/d66/class_s_l_net_1_1_rak_string.xhtml" title="String class.">SLNet::RakString</a> <a class="code" href="../../d4/dc9/class_s_l_net_1_1_rackspace.xhtml#a6516c8e8d23b1f3aa9cc08737dee874f">incomingStream</a>;</div>
<div class="line"><a name="l00378"></a><span class="lineno"><a class="code" href="../../d4/dc9/class_s_l_net_1_1_rackspace.xhtml#a819f987ceea53024c6b9074387c1249e"> 378</a></span>&#160; <a class="code" href="../../d2/d66/class_s_l_net_1_1_rak_string.xhtml" title="String class.">SLNet::RakString</a> <a class="code" href="../../d4/dc9/class_s_l_net_1_1_rackspace.xhtml#a819f987ceea53024c6b9074387c1249e">httpCommand</a>;</div>
<div class="line"><a name="l00379"></a><span class="lineno"><a class="code" href="../../d4/dc9/class_s_l_net_1_1_rackspace.xhtml#a438a0f2b053bdcc76536f008e403a2c8"> 379</a></span>&#160; <a class="code" href="../../d2/d66/class_s_l_net_1_1_rak_string.xhtml" title="String class.">SLNet::RakString</a> <a class="code" href="../../d4/dc9/class_s_l_net_1_1_rackspace.xhtml#a438a0f2b053bdcc76536f008e403a2c8">operation</a>;</div>
<div class="line"><a name="l00380"></a><span class="lineno"><a class="code" href="../../d4/dc9/class_s_l_net_1_1_rackspace.xhtml#a7e7e0ff25f44fb1dd023df915aedd263"> 380</a></span>&#160; <a class="code" href="../../d2/d66/class_s_l_net_1_1_rak_string.xhtml" title="String class.">SLNet::RakString</a> <a class="code" href="../../d4/dc9/class_s_l_net_1_1_rackspace.xhtml#a7e7e0ff25f44fb1dd023df915aedd263">xml</a>;</div>
<div class="line"><a name="l00381"></a><span class="lineno"> 381</span>&#160; };</div>
<div class="line"><a name="l00382"></a><span class="lineno"> 382</span>&#160;</div>
<div class="line"><a name="l00383"></a><span class="lineno"><a class="code" href="../../d4/dc9/class_s_l_net_1_1_rackspace.xhtml#a9fe73d11bcad6ba5718ddb356affd179"> 383</a></span>&#160; <a class="code" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml">TCPInterface</a> *<a class="code" href="../../d4/dc9/class_s_l_net_1_1_rackspace.xhtml#a9fe73d11bcad6ba5718ddb356affd179">tcpInterface</a>;</div>
<div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160;</div>
<div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160; <span class="comment">// RackspaceOperationType currentOperation;</span></div>
<div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160; <span class="comment">// DataStructures::Queue&lt;RackspaceOperation&gt; nextOperationQueue;</span></div>
<div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160;</div>
<div class="line"><a name="l00388"></a><span class="lineno"><a class="code" href="../../d4/dc9/class_s_l_net_1_1_rackspace.xhtml#a58bff3ea37f0df4c2c333369a2291c84"> 388</a></span>&#160; <a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml">DataStructures::List&lt;RackspaceOperation&gt;</a> <a class="code" href="../../d4/dc9/class_s_l_net_1_1_rackspace.xhtml#a58bff3ea37f0df4c2c333369a2291c84">operations</a>;</div>
<div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160; <span class="keywordtype">bool</span> HasOperationOfType(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a320ff923e99b7e3fc90edd602b4aecc1">RackspaceOperationType</a> t);</div>
<div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> GetOperationOfTypeIndex(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a320ff923e99b7e3fc90edd602b4aecc1">RackspaceOperationType</a> t);</div>
<div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160;</div>
<div class="line"><a name="l00392"></a><span class="lineno"><a class="code" href="../../d4/dc9/class_s_l_net_1_1_rackspace.xhtml#a4161abbb7b0146a6daeb6f8596abd852"> 392</a></span>&#160; <a class="code" href="../../d2/d66/class_s_l_net_1_1_rak_string.xhtml" title="String class.">SLNet::RakString</a> <a class="code" href="../../d4/dc9/class_s_l_net_1_1_rackspace.xhtml#a4161abbb7b0146a6daeb6f8596abd852">serverManagementURL</a>;</div>
<div class="line"><a name="l00393"></a><span class="lineno"><a class="code" href="../../d4/dc9/class_s_l_net_1_1_rackspace.xhtml#a8d9fdc8190c46486eff0af1a0cde6ddc"> 393</a></span>&#160; <a class="code" href="../../d2/d66/class_s_l_net_1_1_rak_string.xhtml" title="String class.">SLNet::RakString</a> <a class="code" href="../../d4/dc9/class_s_l_net_1_1_rackspace.xhtml#a8d9fdc8190c46486eff0af1a0cde6ddc">serverManagementDomain</a>;</div>
<div class="line"><a name="l00394"></a><span class="lineno"><a class="code" href="../../d4/dc9/class_s_l_net_1_1_rackspace.xhtml#a18e03eef8f2d742e13f6dbba60bf0e1e"> 394</a></span>&#160; <a class="code" href="../../d2/d66/class_s_l_net_1_1_rak_string.xhtml" title="String class.">SLNet::RakString</a> <a class="code" href="../../d4/dc9/class_s_l_net_1_1_rackspace.xhtml#a18e03eef8f2d742e13f6dbba60bf0e1e">serverManagementPath</a>;</div>
<div class="line"><a name="l00395"></a><span class="lineno"><a class="code" href="../../d4/dc9/class_s_l_net_1_1_rackspace.xhtml#a13aca4ff519895ad9e3f11ec5afdffee"> 395</a></span>&#160; <a class="code" href="../../d2/d66/class_s_l_net_1_1_rak_string.xhtml" title="String class.">SLNet::RakString</a> <a class="code" href="../../d4/dc9/class_s_l_net_1_1_rackspace.xhtml#a13aca4ff519895ad9e3f11ec5afdffee">storageURL</a>;</div>
<div class="line"><a name="l00396"></a><span class="lineno"><a class="code" href="../../d4/dc9/class_s_l_net_1_1_rackspace.xhtml#aa542df3c410dd649a4b707e89834e5be"> 396</a></span>&#160; <a class="code" href="../../d2/d66/class_s_l_net_1_1_rak_string.xhtml" title="String class.">SLNet::RakString</a> <a class="code" href="../../d4/dc9/class_s_l_net_1_1_rackspace.xhtml#aa542df3c410dd649a4b707e89834e5be">storageDomain</a>;</div>
<div class="line"><a name="l00397"></a><span class="lineno"><a class="code" href="../../d4/dc9/class_s_l_net_1_1_rackspace.xhtml#a10b8f8b7dcb07a5ae34837345a0a20dc"> 397</a></span>&#160; <a class="code" href="../../d2/d66/class_s_l_net_1_1_rak_string.xhtml" title="String class.">SLNet::RakString</a> <a class="code" href="../../d4/dc9/class_s_l_net_1_1_rackspace.xhtml#a10b8f8b7dcb07a5ae34837345a0a20dc">storagePath</a>;</div>
<div class="line"><a name="l00398"></a><span class="lineno"><a class="code" href="../../d4/dc9/class_s_l_net_1_1_rackspace.xhtml#a44dd4dc00c54938f8bc40125e6f56364"> 398</a></span>&#160; <a class="code" href="../../d2/d66/class_s_l_net_1_1_rak_string.xhtml" title="String class.">SLNet::RakString</a> <a class="code" href="../../d4/dc9/class_s_l_net_1_1_rackspace.xhtml#a44dd4dc00c54938f8bc40125e6f56364">cdnManagementURL</a>;</div>
<div class="line"><a name="l00399"></a><span class="lineno"><a class="code" href="../../d4/dc9/class_s_l_net_1_1_rackspace.xhtml#a3189bb7d53cb2d9ce6cbd42daa6284f0"> 399</a></span>&#160; <a class="code" href="../../d2/d66/class_s_l_net_1_1_rak_string.xhtml" title="String class.">SLNet::RakString</a> <a class="code" href="../../d4/dc9/class_s_l_net_1_1_rackspace.xhtml#a3189bb7d53cb2d9ce6cbd42daa6284f0">cdnManagementDomain</a>;</div>
<div class="line"><a name="l00400"></a><span class="lineno"><a class="code" href="../../d4/dc9/class_s_l_net_1_1_rackspace.xhtml#aab3cc73ecd606ecb05d709c875a79497"> 400</a></span>&#160; <a class="code" href="../../d2/d66/class_s_l_net_1_1_rak_string.xhtml" title="String class.">SLNet::RakString</a> <a class="code" href="../../d4/dc9/class_s_l_net_1_1_rackspace.xhtml#aab3cc73ecd606ecb05d709c875a79497">cdnManagementPath</a>;</div>
<div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160;</div>
<div class="line"><a name="l00402"></a><span class="lineno"><a class="code" href="../../d4/dc9/class_s_l_net_1_1_rackspace.xhtml#aeadbecd19b15d593af45fefba52e5fa0"> 402</a></span>&#160; <a class="code" href="../../d2/d66/class_s_l_net_1_1_rak_string.xhtml" title="String class.">SLNet::RakString</a> <a class="code" href="../../d4/dc9/class_s_l_net_1_1_rackspace.xhtml#aeadbecd19b15d593af45fefba52e5fa0">storageToken</a>;</div>
<div class="line"><a name="l00403"></a><span class="lineno"><a class="code" href="../../d4/dc9/class_s_l_net_1_1_rackspace.xhtml#a02be9f1f25b7aa1eea83ba0ebb0517b5"> 403</a></span>&#160; <a class="code" href="../../d2/d66/class_s_l_net_1_1_rak_string.xhtml" title="String class.">SLNet::RakString</a> <a class="code" href="../../d4/dc9/class_s_l_net_1_1_rackspace.xhtml#a02be9f1f25b7aa1eea83ba0ebb0517b5">authToken</a>;</div>
<div class="line"><a name="l00404"></a><span class="lineno"><a class="code" href="../../d4/dc9/class_s_l_net_1_1_rackspace.xhtml#ad3f4e778bbc955cefb117b2f9ac82018"> 404</a></span>&#160; <a class="code" href="../../d2/d66/class_s_l_net_1_1_rak_string.xhtml" title="String class.">SLNet::RakString</a> <a class="code" href="../../d4/dc9/class_s_l_net_1_1_rackspace.xhtml#ad3f4e778bbc955cefb117b2f9ac82018">rackspaceCloudUsername</a>;</div>
<div class="line"><a name="l00405"></a><span class="lineno"><a class="code" href="../../d4/dc9/class_s_l_net_1_1_rackspace.xhtml#ab385abfaafa213fde6a0172348a9920e"> 405</a></span>&#160; <a class="code" href="../../d2/d66/class_s_l_net_1_1_rak_string.xhtml" title="String class.">SLNet::RakString</a> <a class="code" href="../../d4/dc9/class_s_l_net_1_1_rackspace.xhtml#ab385abfaafa213fde6a0172348a9920e">apiAccessKey</a>;</div>
<div class="line"><a name="l00406"></a><span class="lineno"> 406</span>&#160;</div>
<div class="line"><a name="l00407"></a><span class="lineno"> 407</span>&#160; <span class="keywordtype">bool</span> ExecuteOperation(<a class="code" href="../../d4/dc9/class_s_l_net_1_1_rackspace.xhtml#d6/d93/struct_s_l_net_1_1_rackspace_1_1_rackspace_operation">RackspaceOperation</a> &amp;ro);</div>
<div class="line"><a name="l00408"></a><span class="lineno"> 408</span>&#160; <span class="keywordtype">void</span> ReadLine(<span class="keyword">const</span> <span class="keywordtype">char</span> *data, <span class="keyword">const</span> <span class="keywordtype">char</span> *stringStart, <a class="code" href="../../d2/d66/class_s_l_net_1_1_rak_string.xhtml" title="String class.">SLNet::RakString</a> &amp;output);</div>
<div class="line"><a name="l00409"></a><span class="lineno"> 409</span>&#160; <span class="keywordtype">bool</span> ConnectToServerManagementDomain(<a class="code" href="../../d4/dc9/class_s_l_net_1_1_rackspace.xhtml#d6/d93/struct_s_l_net_1_1_rackspace_1_1_rackspace_operation">RackspaceOperation</a> &amp;ro);</div>
<div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160;</div>
<div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160;</div>
<div class="line"><a name="l00412"></a><span class="lineno"> 412</span>&#160; };</div>
<div class="line"><a name="l00413"></a><span class="lineno"> 413</span>&#160;</div>
<div class="line"><a name="l00414"></a><span class="lineno"> 414</span>&#160;} <span class="comment">// namespace SLNet</span></div>
<div class="line"><a name="l00415"></a><span class="lineno"> 415</span>&#160;</div>
<div class="line"><a name="l00416"></a><span class="lineno"> 416</span>&#160;<span class="preprocessor">#endif // __RACKSPACE_API_H</span></div>
<div class="line"><a name="l00417"></a><span class="lineno"> 417</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00418"></a><span class="lineno"> 418</span>&#160;<span class="preprocessor">#endif // _RAKNET_SUPPORT_Rackspace</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="../../dd/dcb/_rackspace_8h.xhtml">Rackspace.h</a></li>
<li class="footer">Generated on Wed Aug 14 2019 22:09:46 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,123 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>SLikeNet: Source/src/LinuxStrings.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('dd/dd2/_linux_strings_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">LinuxStrings.cpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><a href="../../dd/dd2/_linux_strings_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="../../dd/dd2/_linux_strings_8cpp.xhtml">LinuxStrings.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,162 @@
<!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/LinuxStrings.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('dd/dd2/_linux_strings_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">LinuxStrings.cpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="../../dd/dd2/_linux_strings_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, SLikeSoft UG (haftungsbeschränkt)</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> * This source code was modified by SLikeSoft. Modifications are licensed under the MIT-style</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> * license found in the license.txt file in the root directory of this source tree.</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;</div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="preprocessor">#if (defined(__GNUC__) || defined(__ARMCC_VERSION) || defined(__GCCXML__) || defined(__S3E__) ) &amp;&amp; !defined(_WIN32)</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#include &lt;<a class="code" href="../../da/d66/string_8h.xhtml">string.h</a>&gt;</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="preprocessor">#ifndef _stricmp</span></div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="preprocessor"></span><span class="keywordtype">int</span> _stricmp(<span class="keyword">const</span> <span class="keywordtype">char</span>* s1, <span class="keyword">const</span> <span class="keywordtype">char</span>* s2)</div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;{</div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160; <span class="keywordflow">return</span> strcasecmp(s1,s2);</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">#endif</span></div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="preprocessor"></span><span class="keywordtype">int</span> _strnicmp(<span class="keyword">const</span> <span class="keywordtype">char</span>* s1, <span class="keyword">const</span> <span class="keywordtype">char</span>* s2, <span class="keywordtype">size_t</span> n)</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="keywordflow">return</span> strncasecmp(s1,s2,n);</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">#ifndef __APPLE__</span></div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="preprocessor"></span><span class="keywordtype">char</span> *_strlwr(<span class="keywordtype">char</span> * str )</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;{</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160; <span class="keywordflow">if</span> (str==0)</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160; <span class="keywordflow">return</span> 0;</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i=0; str[i]; i++)</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; {</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; <span class="keywordflow">if</span> (str[i]&gt;=<span class="charliteral">&#39;A&#39;</span> &amp;&amp; str[i]&lt;=<span class="charliteral">&#39;Z&#39;</span>)</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; str[i]+=<span class="charliteral">&#39;a&#39;</span>-<span class="charliteral">&#39;A&#39;</span>;</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; }</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; <span class="keywordflow">return</span> str;</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="preprocessor">#endif</span></div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;<span class="preprocessor"></span><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_d1eb22c2ecfd8b50f59e9cbaf8260105.xhtml">src</a></li><li class="navelem"><a class="el" href="../../dd/dd2/_linux_strings_8cpp.xhtml">LinuxStrings.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>