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,9 @@
var _reliability_layer_8cpp =
[
[ "BitstreamLengthEncoding", "d9/d15/_reliability_layer_8cpp.xhtml#a876a7fcb38b382f026f24d72759c49c9", null ],
[ "Ceil", "d9/d15/_reliability_layer_8cpp.xhtml#ad4fc12d284880f25441149ec051a6e71", null ],
[ "SplitPacketIndexComp", "d9/d15/_reliability_layer_8cpp.xhtml#a3cf791a96cc3d754697e64ede1f0c34c", null ],
[ "DEFAULT_HAS_RECEIVED_PACKET_QUEUE_SIZE", "d9/d15/_reliability_layer_8cpp.xhtml#ae70493628411f07443fec90b99b988c6", null ],
[ "MAX_TIME_BETWEEN_PACKETS", "d9/d15/_reliability_layer_8cpp.xhtml#ab71ae4ff858c0448f3e3c2258ffb7a59", null ],
[ "STARTING_TIME_BETWEEN_PACKETS", "d9/d15/_reliability_layer_8cpp.xhtml#a21d7466dd4fc30691074c33b1adbe324", null ]
];

View File

@ -0,0 +1,292 @@
<!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/ReliabilityLayer.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('d9/d15/_reliability_layer_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="#typedef-members">Typedefs</a> &#124;
<a href="#func-members">Functions</a> &#124;
<a href="#var-members">Variables</a> </div>
<div class="headertitle">
<div class="title">ReliabilityLayer.cpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &quot;<a class="el" href="../../dd/dba/_reliability_layer_8h_source.xhtml">slikenet/ReliabilityLayer.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../d6/d76/_get_time_8h_source.xhtml">slikenet/GetTime.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../d8/da4/_socket_layer_8h_source.xhtml">slikenet/SocketLayer.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../d7/ddd/_plugin_interface2_8h_source.xhtml">slikenet/PluginInterface2.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="../../d7/d10/_rand_8h_source.xhtml">slikenet/Rand.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../d6/d83/_message_identifiers_8h_source.xhtml">slikenet/MessageIdentifiers.h</a>&quot;</code><br/>
<code>#include &lt;math.h&gt;</code><br/>
<code>#include &quot;<a class="el" href="../../d7/db2/linux__adapter_8h_source.xhtml">slikenet/linux_adapter.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../da/dff/osx__adapter_8h_source.xhtml">slikenet/osx_adapter.h</a>&quot;</code><br/>
</div>
<p><a href="../../d9/d15/_reliability_layer_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="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:a876a7fcb38b382f026f24d72759c49c9"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="../../df/df2/_native_types_8h.xhtml#a6eb1e68cc391dd753bc8ce896dbb8315">uint32_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d15/_reliability_layer_8cpp.xhtml#a876a7fcb38b382f026f24d72759c49c9">BitstreamLengthEncoding</a></td></tr>
<tr class="separator:a876a7fcb38b382f026f24d72759c49c9"><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:ad4fc12d284880f25441149ec051a6e71"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d15/_reliability_layer_8cpp.xhtml#ad4fc12d284880f25441149ec051a6e71">Ceil</a> (double d)</td></tr>
<tr class="separator:ad4fc12d284880f25441149ec051a6e71"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3cf791a96cc3d754697e64ede1f0c34c"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d15/_reliability_layer_8cpp.xhtml#a3cf791a96cc3d754697e64ede1f0c34c">SplitPacketIndexComp</a> (<a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#afe219620b084e1150e61e8ff98f7c855">SplitPacketIndexType</a> const &amp;key, <a class="el" href="../../d9/d9a/struct_s_l_net_1_1_internal_packet.xhtml">InternalPacket</a> *const &amp;data)</td></tr>
<tr class="separator:a3cf791a96cc3d754697e64ede1f0c34c"><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:ab71ae4ff858c0448f3e3c2258ffb7a59"><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="../../d0/dfb/_c_c_rak_net_sliding_window_8h.xhtml#af68854e24d09ea8058bf8b27ce0f24e6">CCTimeType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d15/_reliability_layer_8cpp.xhtml#ab71ae4ff858c0448f3e3c2258ffb7a59">MAX_TIME_BETWEEN_PACKETS</a> = 350000</td></tr>
<tr class="separator:ab71ae4ff858c0448f3e3c2258ffb7a59"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae70493628411f07443fec90b99b988c6"><td class="memItemLeft" align="right" valign="top">static const int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d15/_reliability_layer_8cpp.xhtml#ae70493628411f07443fec90b99b988c6">DEFAULT_HAS_RECEIVED_PACKET_QUEUE_SIZE</a> =512</td></tr>
<tr class="separator:ae70493628411f07443fec90b99b988c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a21d7466dd4fc30691074c33b1adbe324"><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="../../d0/dfb/_c_c_rak_net_sliding_window_8h.xhtml#af68854e24d09ea8058bf8b27ce0f24e6">CCTimeType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d15/_reliability_layer_8cpp.xhtml#a21d7466dd4fc30691074c33b1adbe324">STARTING_TIME_BETWEEN_PACKETS</a> =<a class="el" href="../../d9/d15/_reliability_layer_8cpp.xhtml#ab71ae4ff858c0448f3e3c2258ffb7a59">MAX_TIME_BETWEEN_PACKETS</a></td></tr>
<tr class="separator:a21d7466dd4fc30691074c33b1adbe324"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Typedef Documentation</h2>
<a class="anchor" id="a876a7fcb38b382f026f24d72759c49c9"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef <a class="el" href="../../df/df2/_native_types_8h.xhtml#a6eb1e68cc391dd753bc8ce896dbb8315">uint32_t</a> <a class="el" href="../../d9/d15/_reliability_layer_8cpp.xhtml#a876a7fcb38b382f026f24d72759c49c9">BitstreamLengthEncoding</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d9/d15/_reliability_layer_8cpp_source.xhtml#l00061">61</a> of file <a class="el" href="../../d9/d15/_reliability_layer_8cpp_source.xhtml">ReliabilityLayer.cpp</a>.</p>
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="ad4fc12d284880f25441149ec051a6e71"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">double Ceil </td>
<td>(</td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>d</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d9/d15/_reliability_layer_8cpp_source.xhtml#l00038">38</a> of file <a class="el" href="../../d9/d15/_reliability_layer_8cpp_source.xhtml">ReliabilityLayer.cpp</a>.</p>
</div>
</div>
<a class="anchor" id="a3cf791a96cc3d754697e64ede1f0c34c"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int SplitPacketIndexComp </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#afe219620b084e1150e61e8ff98f7c855">SplitPacketIndexType</a> const &amp;&#160;</td>
<td class="paramname"><em>key</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../d9/d9a/struct_s_l_net_1_1_internal_packet.xhtml">InternalPacket</a> *const &amp;&#160;</td>
<td class="paramname"><em>data</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d9/d15/_reliability_layer_8cpp_source.xhtml#l00291">291</a> of file <a class="el" href="../../d9/d15/_reliability_layer_8cpp_source.xhtml">ReliabilityLayer.cpp</a>.</p>
<p>References <a class="el" href="../../d5/dc3/_internal_packet_8h_source.xhtml#l00063">SLNet::InternalPacketFixedSizeTransmissionHeader::splitPacketIndex</a>.</p>
</div>
</div>
<h2 class="groupheader">Variable Documentation</h2>
<a class="anchor" id="ae70493628411f07443fec90b99b988c6"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const int DEFAULT_HAS_RECEIVED_PACKET_QUEUE_SIZE =512</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="../../d9/d15/_reliability_layer_8cpp_source.xhtml#l00056">56</a> of file <a class="el" href="../../d9/d15/_reliability_layer_8cpp_source.xhtml">ReliabilityLayer.cpp</a>.</p>
<p>Referenced by <a class="el" href="../../d9/d15/_reliability_layer_8cpp_source.xhtml#l00631">SLNet::ReliabilityLayer::HandleSocketReceiveFromConnectedPlayer()</a>.</p>
</div>
</div>
<a class="anchor" id="ab71ae4ff858c0448f3e3c2258ffb7a59"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="../../d0/dfb/_c_c_rak_net_sliding_window_8h.xhtml#af68854e24d09ea8058bf8b27ce0f24e6">CCTimeType</a> MAX_TIME_BETWEEN_PACKETS = 350000</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="../../d9/d15/_reliability_layer_8cpp_source.xhtml#l00053">53</a> of file <a class="el" href="../../d9/d15/_reliability_layer_8cpp_source.xhtml">ReliabilityLayer.cpp</a>.</p>
</div>
</div>
<a class="anchor" id="a21d7466dd4fc30691074c33b1adbe324"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="../../d0/dfb/_c_c_rak_net_sliding_window_8h.xhtml#af68854e24d09ea8058bf8b27ce0f24e6">CCTimeType</a> STARTING_TIME_BETWEEN_PACKETS =<a class="el" href="../../d9/d15/_reliability_layer_8cpp.xhtml#ab71ae4ff858c0448f3e3c2258ffb7a59">MAX_TIME_BETWEEN_PACKETS</a></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="../../d9/d15/_reliability_layer_8cpp_source.xhtml#l00057">57</a> of file <a class="el" href="../../d9/d15/_reliability_layer_8cpp_source.xhtml">ReliabilityLayer.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="../../d9/d15/_reliability_layer_8cpp.xhtml">ReliabilityLayer.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,15 @@
var class_s_l_net_1_1_variable_list_delta_tracker =
[
[ "VariableLastValueNode", "dc/dea/struct_s_l_net_1_1_variable_list_delta_tracker_1_1_variable_last_value_node.xhtml", "dc/dea/struct_s_l_net_1_1_variable_list_delta_tracker_1_1_variable_last_value_node" ],
[ "VariableListDeltaTracker", "d9/d15/class_s_l_net_1_1_variable_list_delta_tracker.xhtml#aaefde87f8abe144f0fd0a5585e959923", null ],
[ "~VariableListDeltaTracker", "d9/d15/class_s_l_net_1_1_variable_list_delta_tracker.xhtml#a0704466f18f590fdb6bd90be5a62a695", null ],
[ "FlagDirtyFromBitArray", "d9/d15/class_s_l_net_1_1_variable_list_delta_tracker.xhtml#acbbad9fa1cb7e3aae24e4e559f3e1b2a", null ],
[ "IsPastEndOfList", "d9/d15/class_s_l_net_1_1_variable_list_delta_tracker.xhtml#a853a9e9d3765a34dd78cb271e2a8b7be", null ],
[ "ReadVarFromBitstream", "d9/d15/class_s_l_net_1_1_variable_list_delta_tracker.xhtml#aeb72bda33ac9218437c12a508f268deb", null ],
[ "StartWrite", "d9/d15/class_s_l_net_1_1_variable_list_delta_tracker.xhtml#ae2fc5a264d0719fa27d51e5f365e39aa", null ],
[ "WriteVar", "d9/d15/class_s_l_net_1_1_variable_list_delta_tracker.xhtml#a804f6b8ba2b1fef974b6f7ddc55b7b94", null ],
[ "WriteVarToBitstream", "d9/d15/class_s_l_net_1_1_variable_list_delta_tracker.xhtml#a05bee155bf8883276573738ce165cab4", null ],
[ "WriteVarToBitstream", "d9/d15/class_s_l_net_1_1_variable_list_delta_tracker.xhtml#a5d2069498dce50a491976b6a4c883863", null ],
[ "nextWriteIndex", "d9/d15/class_s_l_net_1_1_variable_list_delta_tracker.xhtml#adf4e9975127adc830f27bd3ee1cb2d07", null ],
[ "variableList", "d9/d15/class_s_l_net_1_1_variable_list_delta_tracker.xhtml#a3edfe444562103e57deb9e85faed21d4", null ]
];

View File

@ -0,0 +1,525 @@
<!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::VariableListDeltaTracker 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('d9/d15/class_s_l_net_1_1_variable_list_delta_tracker.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-attribs">Protected Attributes</a> &#124;
<a href="../../db/de6/class_s_l_net_1_1_variable_list_delta_tracker-members.xhtml">List of all members</a> </div>
<div class="headertitle">
<div class="title">SLNet::VariableListDeltaTracker Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><code>#include &lt;<a class="el" href="../../d8/d00/_variable_list_delta_tracker_8h_source.xhtml">slikenet/VariableListDeltaTracker.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:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/dea/struct_s_l_net_1_1_variable_list_delta_tracker_1_1_variable_last_value_node.xhtml">VariableLastValueNode</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:aaefde87f8abe144f0fd0a5585e959923"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d15/class_s_l_net_1_1_variable_list_delta_tracker.xhtml#aaefde87f8abe144f0fd0a5585e959923">VariableListDeltaTracker</a> ()</td></tr>
<tr class="separator:aaefde87f8abe144f0fd0a5585e959923"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0704466f18f590fdb6bd90be5a62a695"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d15/class_s_l_net_1_1_variable_list_delta_tracker.xhtml#a0704466f18f590fdb6bd90be5a62a695">~VariableListDeltaTracker</a> ()</td></tr>
<tr class="separator:a0704466f18f590fdb6bd90be5a62a695"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae2fc5a264d0719fa27d51e5f365e39aa"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d15/class_s_l_net_1_1_variable_list_delta_tracker.xhtml#ae2fc5a264d0719fa27d51e5f365e39aa">StartWrite</a> (void)</td></tr>
<tr class="separator:ae2fc5a264d0719fa27d51e5f365e39aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a853a9e9d3765a34dd78cb271e2a8b7be"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d15/class_s_l_net_1_1_variable_list_delta_tracker.xhtml#a853a9e9d3765a34dd78cb271e2a8b7be">IsPastEndOfList</a> (void) const </td></tr>
<tr class="separator:a853a9e9d3765a34dd78cb271e2a8b7be"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a804f6b8ba2b1fef974b6f7ddc55b7b94"><td class="memTemplParams" colspan="2">template&lt;class VarType &gt; </td></tr>
<tr class="memitem:a804f6b8ba2b1fef974b6f7ddc55b7b94"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../d9/d15/class_s_l_net_1_1_variable_list_delta_tracker.xhtml#a804f6b8ba2b1fef974b6f7ddc55b7b94">WriteVar</a> (const VarType &amp;varData)</td></tr>
<tr class="separator:a804f6b8ba2b1fef974b6f7ddc55b7b94"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a05bee155bf8883276573738ce165cab4"><td class="memTemplParams" colspan="2">template&lt;class VarType &gt; </td></tr>
<tr class="memitem:a05bee155bf8883276573738ce165cab4"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../d9/d15/class_s_l_net_1_1_variable_list_delta_tracker.xhtml#a05bee155bf8883276573738ce165cab4">WriteVarToBitstream</a> (const VarType &amp;varData, <a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a> *bitStream)</td></tr>
<tr class="memdesc:a05bee155bf8883276573738ce165cab4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calls WriteVar. If the variable has changed, writes true, and writes the variable. Otherwise writes false. <a href="#a05bee155bf8883276573738ce165cab4"></a><br/></td></tr>
<tr class="separator:a05bee155bf8883276573738ce165cab4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5d2069498dce50a491976b6a4c883863"><td class="memTemplParams" colspan="2">template&lt;class VarType &gt; </td></tr>
<tr class="memitem:a5d2069498dce50a491976b6a4c883863"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../d9/d15/class_s_l_net_1_1_variable_list_delta_tracker.xhtml#a5d2069498dce50a491976b6a4c883863">WriteVarToBitstream</a> (const VarType &amp;varData, <a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a> *bitStream, unsigned char *bArray, unsigned short writeOffset)</td></tr>
<tr class="memdesc:a5d2069498dce50a491976b6a4c883863"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calls <a class="el" href="../../d9/d15/class_s_l_net_1_1_variable_list_delta_tracker.xhtml#a05bee155bf8883276573738ce165cab4" title="Calls WriteVar. If the variable has changed, writes true, and writes the variable. Otherwise writes false.">WriteVarToBitstream()</a>. Additionally, adds the boolean result of <a class="el" href="../../d9/d15/class_s_l_net_1_1_variable_list_delta_tracker.xhtml#a804f6b8ba2b1fef974b6f7ddc55b7b94">WriteVar()</a> to boolean bit array. <a href="#a5d2069498dce50a491976b6a4c883863"></a><br/></td></tr>
<tr class="separator:a5d2069498dce50a491976b6a4c883863"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acbbad9fa1cb7e3aae24e4e559f3e1b2a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d15/class_s_l_net_1_1_variable_list_delta_tracker.xhtml#acbbad9fa1cb7e3aae24e4e559f3e1b2a">FlagDirtyFromBitArray</a> (unsigned char *bArray)</td></tr>
<tr class="separator:acbbad9fa1cb7e3aae24e4e559f3e1b2a"><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:aeb72bda33ac9218437c12a508f268deb"><td class="memTemplParams" colspan="2">template&lt;class VarType &gt; </td></tr>
<tr class="memitem:aeb72bda33ac9218437c12a508f268deb"><td class="memTemplItemLeft" align="right" valign="top">static bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../d9/d15/class_s_l_net_1_1_variable_list_delta_tracker.xhtml#aeb72bda33ac9218437c12a508f268deb">ReadVarFromBitstream</a> (VarType &amp;varData, <a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a> *bitStream)</td></tr>
<tr class="memdesc:aeb72bda33ac9218437c12a508f268deb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Paired with a call to <a class="el" href="../../d9/d15/class_s_l_net_1_1_variable_list_delta_tracker.xhtml#a05bee155bf8883276573738ce165cab4" title="Calls WriteVar. If the variable has changed, writes true, and writes the variable. Otherwise writes false.">WriteVarToBitstream()</a>, will read a variable if it had changed. Otherwise the values remains the same. <a href="#aeb72bda33ac9218437c12a508f268deb"></a><br/></td></tr>
<tr class="separator:aeb72bda33ac9218437c12a508f268deb"><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:a3edfe444562103e57deb9e85faed21d4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d4/d78/class_data_structures_1_1_list.xhtml">DataStructures::List</a><br class="typebreak"/>
&lt; <a class="el" href="../../dc/dea/struct_s_l_net_1_1_variable_list_delta_tracker_1_1_variable_last_value_node.xhtml">VariableLastValueNode</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d15/class_s_l_net_1_1_variable_list_delta_tracker.xhtml#a3edfe444562103e57deb9e85faed21d4">variableList</a></td></tr>
<tr class="separator:a3edfe444562103e57deb9e85faed21d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adf4e9975127adc830f27bd3ee1cb2d07"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d15/class_s_l_net_1_1_variable_list_delta_tracker.xhtml#adf4e9975127adc830f27bd3ee1cb2d07">nextWriteIndex</a></td></tr>
<tr class="separator:adf4e9975127adc830f27bd3ee1cb2d07"><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>Class to write a series of variables, copy the contents to memory, and return if the newly written value is different than what was last written Can also encode the reads, writes, and results directly to/from a bitstream </p>
<p>Definition at line <a class="el" href="../../d8/d00/_variable_list_delta_tracker_8h_source.xhtml#l00028">28</a> of file <a class="el" href="../../d8/d00/_variable_list_delta_tracker_8h_source.xhtml">VariableListDeltaTracker.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="aaefde87f8abe144f0fd0a5585e959923"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">VariableListDeltaTracker::VariableListDeltaTracker </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="../../d4/d61/_variable_list_delta_tracker_8cpp_source.xhtml#l00020">20</a> of file <a class="el" href="../../d4/d61/_variable_list_delta_tracker_8cpp_source.xhtml">VariableListDeltaTracker.cpp</a>.</p>
<p>References <a class="el" href="../../d8/d00/_variable_list_delta_tracker_8h_source.xhtml#l00145">nextWriteIndex</a>.</p>
</div>
</div>
<a class="anchor" id="a0704466f18f590fdb6bd90be5a62a695"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">VariableListDeltaTracker::~VariableListDeltaTracker </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="../../d4/d61/_variable_list_delta_tracker_8cpp_source.xhtml#l00021">21</a> of file <a class="el" href="../../d4/d61/_variable_list_delta_tracker_8cpp_source.xhtml">VariableListDeltaTracker.cpp</a>.</p>
<p>References <a class="el" href="../../d8/db0/defines_8h_source.xhtml#l00047">_FILE_AND_LINE_</a>, <a class="el" href="../../d9/d4c/_rak_memory_override_8cpp_source.xhtml#l00064">rakFree_Ex</a>, <a class="el" href="../../d9/d7f/_d_s___list_8h_source.xhtml#l00450">DataStructures::List&lt; list_type &gt;::Size()</a>, and <a class="el" href="../../d8/d00/_variable_list_delta_tracker_8h_source.xhtml#l00143">variableList</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="acbbad9fa1cb7e3aae24e4e559f3e1b2a"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void VariableListDeltaTracker::FlagDirtyFromBitArray </td>
<td>(</td>
<td class="paramtype">unsigned char *&#160;</td>
<td class="paramname"><em>bArray</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Variables flagged dirty will cause <a class="el" href="../../d9/d15/class_s_l_net_1_1_variable_list_delta_tracker.xhtml#a804f6b8ba2b1fef974b6f7ddc55b7b94">WriteVar()</a> to return true, even if the variable had not otherwise changed This updates all the variables in the list, where in each index <em>varsWritten</em> is true, so will the variable at the corresponding index be flagged dirty </p>
<p>Definition at line <a class="el" href="../../d4/d61/_variable_list_delta_tracker_8cpp_source.xhtml#l00031">31</a> of file <a class="el" href="../../d4/d61/_variable_list_delta_tracker_8cpp_source.xhtml">VariableListDeltaTracker.cpp</a>.</p>
<p>References <a class="el" href="../../d9/d7f/_d_s___list_8h_source.xhtml#l00450">DataStructures::List&lt; list_type &gt;::Size()</a>, and <a class="el" href="../../d8/d00/_variable_list_delta_tracker_8h_source.xhtml#l00143">variableList</a>.</p>
<p>Referenced by <a class="el" href="../../d2/d81/_variable_delta_serializer_8cpp_source.xhtml#l00186">SLNet::VariableDeltaSerializer::DirtyAndFreeVarsAssociatedWithReceipt()</a>.</p>
</div>
</div>
<a class="anchor" id="a853a9e9d3765a34dd78cb271e2a8b7be"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool SLNet::VariableListDeltaTracker::IsPastEndOfList </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d8/d00/_variable_list_delta_tracker_8h_source.xhtml#l00037">37</a> of file <a class="el" href="../../d8/d00/_variable_list_delta_tracker_8h_source.xhtml">VariableListDeltaTracker.h</a>.</p>
<p>References <a class="el" href="../../d8/d00/_variable_list_delta_tracker_8h_source.xhtml#l00145">nextWriteIndex</a>, <a class="el" href="../../d9/d7f/_d_s___list_8h_source.xhtml#l00450">DataStructures::List&lt; list_type &gt;::Size()</a>, and <a class="el" href="../../d8/d00/_variable_list_delta_tracker_8h_source.xhtml#l00143">variableList</a>.</p>
<p>Referenced by <a class="el" href="../../df/ddf/_variable_delta_serializer_8h_source.xhtml#l00165">SLNet::VariableDeltaSerializer::SerializeVariable()</a>.</p>
</div>
</div>
<a class="anchor" id="aeb72bda33ac9218437c12a508f268deb"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class VarType &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static bool SLNet::VariableListDeltaTracker::ReadVarFromBitstream </td>
<td>(</td>
<td class="paramtype">VarType &amp;&#160;</td>
<td class="paramname"><em>varData</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a> *&#160;</td>
<td class="paramname"><em>bitStream</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 class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Paired with a call to <a class="el" href="../../d9/d15/class_s_l_net_1_1_variable_list_delta_tracker.xhtml#a05bee155bf8883276573738ce165cab4" title="Calls WriteVar. If the variable has changed, writes true, and writes the variable. Otherwise writes false.">WriteVarToBitstream()</a>, will read a variable if it had changed. Otherwise the values remains the same. </p>
<p>Definition at line <a class="el" href="../../d8/d00/_variable_list_delta_tracker_8h_source.xhtml#l00113">113</a> of file <a class="el" href="../../d8/d00/_variable_list_delta_tracker_8h_source.xhtml">VariableListDeltaTracker.h</a>.</p>
<p>References <a class="el" href="../../d7/dc3/_bit_stream_8h_source.xhtml#l01279">SLNet::BitStream::Read()</a>.</p>
<p>Referenced by <a class="el" href="../../df/ddf/_variable_delta_serializer_8h_source.xhtml#l00213">SLNet::VariableDeltaSerializer::DeserializeVariable()</a>.</p>
</div>
</div>
<a class="anchor" id="ae2fc5a264d0719fa27d51e5f365e39aa"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void VariableListDeltaTracker::StartWrite </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="../../d4/d61/_variable_list_delta_tracker_8cpp_source.xhtml#l00029">29</a> of file <a class="el" href="../../d4/d61/_variable_list_delta_tracker_8cpp_source.xhtml">VariableListDeltaTracker.cpp</a>.</p>
<p>References <a class="el" href="../../d8/d00/_variable_list_delta_tracker_8h_source.xhtml#l00145">nextWriteIndex</a>.</p>
<p>Referenced by <a class="el" href="../../d2/d81/_variable_delta_serializer_8cpp_source.xhtml#l00254">SLNet::VariableDeltaSerializer::StartVariableHistoryWrite()</a>.</p>
</div>
</div>
<a class="anchor" id="a804f6b8ba2b1fef974b6f7ddc55b7b94"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class VarType &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool SLNet::VariableListDeltaTracker::WriteVar </td>
<td>(</td>
<td class="paramtype">const VarType &amp;&#160;</td>
<td class="paramname"><em>varData</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>Records the passed value of the variable to memory, and returns true if the value is different from the write before that (or if it is the first write) </p>
<dl class="section pre"><dt>Precondition</dt><dd>Call <a class="el" href="../../d9/d15/class_s_l_net_1_1_variable_list_delta_tracker.xhtml#ae2fc5a264d0719fa27d51e5f365e39aa">StartWrite()</a> before doing the first of a series of calls to WriteVar or other functions that call WriteVar </dd></dl>
<dl class="section note"><dt>Note</dt><dd>Variables must be of the same type, written in the same order, each time </dd></dl>
<p>Definition at line <a class="el" href="../../d8/d00/_variable_list_delta_tracker_8h_source.xhtml#l00043">43</a> of file <a class="el" href="../../d8/d00/_variable_list_delta_tracker_8h_source.xhtml">VariableListDeltaTracker.h</a>.</p>
<p>References <a class="el" href="../../d8/db0/defines_8h_source.xhtml#l00047">_FILE_AND_LINE_</a>, <a class="el" href="../../d7/dc3/_bit_stream_8h_source.xhtml#l00549">SLNet::BitStream::GetData()</a>, <a class="el" href="../../d7/dc3/_bit_stream_8h_source.xhtml#l00525">SLNet::BitStream::GetNumberOfBytesUsed()</a>, <a class="el" href="../../d8/d00/_variable_list_delta_tracker_8h_source.xhtml#l00145">nextWriteIndex</a>, <a class="el" href="../../d9/d7f/_d_s___list_8h_source.xhtml#l00232">DataStructures::List&lt; list_type &gt;::Push()</a>, <a class="el" href="../../d9/d4c/_rak_memory_override_8cpp_source.xhtml#l00063">rakRealloc_Ex</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="../../d8/d00/_variable_list_delta_tracker_8h_source.xhtml#l00143">variableList</a>, and <a class="el" href="../../d7/dc3/_bit_stream_8h_source.xhtml#l00922">SLNet::BitStream::Write()</a>.</p>
<p>Referenced by <a class="el" href="../../d8/d00/_variable_list_delta_tracker_8h_source.xhtml#l00076">WriteVarToBitstream()</a>.</p>
</div>
</div>
<a class="anchor" id="a05bee155bf8883276573738ce165cab4"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class VarType &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool SLNet::VariableListDeltaTracker::WriteVarToBitstream </td>
<td>(</td>
<td class="paramtype">const VarType &amp;&#160;</td>
<td class="paramname"><em>varData</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a> *&#160;</td>
<td class="paramname"><em>bitStream</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>Calls WriteVar. If the variable has changed, writes true, and writes the variable. Otherwise writes false. </p>
<p>Definition at line <a class="el" href="../../d8/d00/_variable_list_delta_tracker_8h_source.xhtml#l00076">76</a> of file <a class="el" href="../../d8/d00/_variable_list_delta_tracker_8h_source.xhtml">VariableListDeltaTracker.h</a>.</p>
<p>References <a class="el" href="../../d7/dc3/_bit_stream_8h_source.xhtml#l00922">SLNet::BitStream::Write()</a>, and <a class="el" href="../../d8/d00/_variable_list_delta_tracker_8h_source.xhtml#l00043">WriteVar()</a>.</p>
<p>Referenced by <a class="el" href="../../df/ddf/_variable_delta_serializer_8h_source.xhtml#l00165">SLNet::VariableDeltaSerializer::SerializeVariable()</a>, and <a class="el" href="../../d8/d00/_variable_list_delta_tracker_8h_source.xhtml#l00089">WriteVarToBitstream()</a>.</p>
</div>
</div>
<a class="anchor" id="a5d2069498dce50a491976b6a4c883863"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class VarType &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool SLNet::VariableListDeltaTracker::WriteVarToBitstream </td>
<td>(</td>
<td class="paramtype">const VarType &amp;&#160;</td>
<td class="paramname"><em>varData</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a> *&#160;</td>
<td class="paramname"><em>bitStream</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned char *&#160;</td>
<td class="paramname"><em>bArray</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned short&#160;</td>
<td class="paramname"><em>writeOffset</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>Calls <a class="el" href="../../d9/d15/class_s_l_net_1_1_variable_list_delta_tracker.xhtml#a05bee155bf8883276573738ce165cab4" title="Calls WriteVar. If the variable has changed, writes true, and writes the variable. Otherwise writes false.">WriteVarToBitstream()</a>. Additionally, adds the boolean result of <a class="el" href="../../d9/d15/class_s_l_net_1_1_variable_list_delta_tracker.xhtml#a804f6b8ba2b1fef974b6f7ddc55b7b94">WriteVar()</a> to boolean bit array. </p>
<p>Definition at line <a class="el" href="../../d8/d00/_variable_list_delta_tracker_8h_source.xhtml#l00089">89</a> of file <a class="el" href="../../d8/d00/_variable_list_delta_tracker_8h_source.xhtml">VariableListDeltaTracker.h</a>.</p>
<p>References <a class="el" href="../../d8/d00/_variable_list_delta_tracker_8h_source.xhtml#l00076">WriteVarToBitstream()</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a class="anchor" id="adf4e9975127adc830f27bd3ee1cb2d07"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">unsigned int SLNet::VariableListDeltaTracker::nextWriteIndex</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/d00/_variable_list_delta_tracker_8h_source.xhtml#l00145">145</a> of file <a class="el" href="../../d8/d00/_variable_list_delta_tracker_8h_source.xhtml">VariableListDeltaTracker.h</a>.</p>
<p>Referenced by <a class="el" href="../../d8/d00/_variable_list_delta_tracker_8h_source.xhtml#l00037">IsPastEndOfList()</a>, <a class="el" href="../../d4/d61/_variable_list_delta_tracker_8cpp_source.xhtml#l00029">StartWrite()</a>, <a class="el" href="../../d4/d61/_variable_list_delta_tracker_8cpp_source.xhtml#l00020">VariableListDeltaTracker()</a>, and <a class="el" href="../../d8/d00/_variable_list_delta_tracker_8h_source.xhtml#l00043">WriteVar()</a>.</p>
</div>
</div>
<a class="anchor" id="a3edfe444562103e57deb9e85faed21d4"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../d4/d78/class_data_structures_1_1_list.xhtml">DataStructures::List</a>&lt;<a class="el" href="../../dc/dea/struct_s_l_net_1_1_variable_list_delta_tracker_1_1_variable_last_value_node.xhtml">VariableLastValueNode</a>&gt; SLNet::VariableListDeltaTracker::variableList</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/d00/_variable_list_delta_tracker_8h_source.xhtml#l00143">143</a> of file <a class="el" href="../../d8/d00/_variable_list_delta_tracker_8h_source.xhtml">VariableListDeltaTracker.h</a>.</p>
<p>Referenced by <a class="el" href="../../d4/d61/_variable_list_delta_tracker_8cpp_source.xhtml#l00031">FlagDirtyFromBitArray()</a>, <a class="el" href="../../d8/d00/_variable_list_delta_tracker_8h_source.xhtml#l00037">IsPastEndOfList()</a>, <a class="el" href="../../d8/d00/_variable_list_delta_tracker_8h_source.xhtml#l00043">WriteVar()</a>, and <a class="el" href="../../d4/d61/_variable_list_delta_tracker_8cpp_source.xhtml#l00021">~VariableListDeltaTracker()</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>Source/include/slikenet/<a class="el" href="../../d8/d00/_variable_list_delta_tracker_8h_source.xhtml">VariableListDeltaTracker.h</a></li>
<li>Source/src/<a class="el" href="../../d4/d61/_variable_list_delta_tracker_8cpp_source.xhtml">VariableListDeltaTracker.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="../../d9/d15/class_s_l_net_1_1_variable_list_delta_tracker.xhtml">VariableListDeltaTracker</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>