| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587 |
- <!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>RakNet: RakNet::VariableDeltaSerializer 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="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">RakNet
-  <span id="projectnumber">4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <!-- end header part -->
- <!-- Generated by Doxygen 1.8.2 -->
- <div id="navrow1" class="tabs">
- <ul class="tablist">
- <li><a href="index.html"><span>Main Page</span></a></li>
- <li><a href="pages.html"><span>Related Pages</span></a></li>
- <li><a href="modules.html"><span>Modules</span></a></li>
- <li><a href="namespaces.html"><span>Namespaces</span></a></li>
- <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
- <li><a href="files.html"><span>Files</span></a></li>
- </ul>
- </div>
- <div id="navrow2" class="tabs2">
- <ul class="tablist">
- <li><a href="annotated.html"><span>Class List</span></a></li>
- <li><a href="classes.html"><span>Class Index</span></a></li>
- <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
- <li><a href="functions.html"><span>Class Members</span></a></li>
- </ul>
- </div>
- <div id="nav-path" class="navpath">
- <ul>
- <li class="navelem"><a class="el" href="namespaceRakNet.html">RakNet</a></li><li class="navelem"><a class="el" href="classRakNet_1_1VariableDeltaSerializer.html">VariableDeltaSerializer</a></li> </ul>
- </div>
- </div><!-- top -->
- <div class="header">
- <div class="summary">
- <a href="#pub-methods">Public Member Functions</a> |
- <a href="#pro-attribs">Protected Attributes</a> |
- <a href="classRakNet_1_1VariableDeltaSerializer-members.html">List of all members</a> </div>
- <div class="headertitle">
- <div class="title">RakNet::VariableDeltaSerializer Class Reference</div> </div>
- </div><!--header-->
- <div class="contents">
- <p>Class to compare memory values of variables in a current state to a prior state Results of the comparisons will be written to a bitStream, such that only changed variables get written<br/>
- Can be used with <a class="el" href="classRakNet_1_1ReplicaManager3.html" title="System to help automate game object construction, destruction, and serialization.">ReplicaManager3</a> to Serialize a <a class="el" href="classRakNet_1_1Replica3.html" title="Base class for your replicated objects for the ReplicaManager3 system.">Replica3</a> per-variable, rather than comparing the entire object against itself<br/>
- Usage:<br/>
- BR>
- <a href="classRakNet_1_1VariableDeltaSerializer.html#details">More...</a></p>
- <p><code>#include <VariableDeltaSerializer.h></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:ae755cec2f8482621b134f1537a818d98"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1VariableDeltaSerializer.html#ae755cec2f8482621b134f1537a818d98">BeginUnreliableAckedSerialize</a> (SerializationContext *context, <a class="el" href="structRakNet_1_1RakNetGUID.html">RakNetGUID</a> _guid, <a class="el" href="classRakNet_1_1BitStream.html">BitStream</a> *_bitStream, uint32_t _sendReceipt)</td></tr>
- <tr class="memdesc:ae755cec2f8482621b134f1537a818d98"><td class="mdescLeft"> </td><td class="mdescRight">Call before doing one or more SerializeVariable calls when the data will be sent UNRELIABLE_WITH_ACK_RECEIPT The last value of each variable will be saved per remote system. Additionally, a history of <em>_sendReceipts</em> is stored to determine what to resend on packetloss. When variables are lost, they will be flagged dirty and always resent to the system that lost it Disadvantages: Every variable for every remote system is copied internally, in addition to a history list of what variables changed for which <em>_sendReceipt</em>. Very memory and CPU intensive for multiple connections. Advantages: When data needs to be resent by <a class="el" href="namespaceRakNet.html" title="Simple class to send changes between directories. In essence, a simple autopatcher that can be used f...">RakNet</a>, <a class="el" href="namespaceRakNet.html" title="Simple class to send changes between directories. In essence, a simple autopatcher that can be used f...">RakNet</a> can only resend the value it currently has. This allows the application to control the resend, sending the most recent value of the variable. The end result is that bandwidth is used more efficiently because old data is never sent. <a href="#ae755cec2f8482621b134f1537a818d98"></a><br/></td></tr>
- <tr class="separator:ae755cec2f8482621b134f1537a818d98"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ad3c9911d1d42bd432d622c98097f14a3"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1VariableDeltaSerializer.html#ad3c9911d1d42bd432d622c98097f14a3">BeginUniqueSerialize</a> (SerializationContext *context, <a class="el" href="structRakNet_1_1RakNetGUID.html">RakNetGUID</a> _guid, <a class="el" href="classRakNet_1_1BitStream.html">BitStream</a> *_bitStream)</td></tr>
- <tr class="memdesc:ad3c9911d1d42bd432d622c98097f14a3"><td class="mdescLeft"> </td><td class="mdescRight">Call before doing one or more SerializeVariable calls for data that may be sent differently to every remote system (such as an invisibility flag that only teammates can see) The last value of each variable will be saved per remote system. Unlike <a class="el" href="classRakNet_1_1VariableDeltaSerializer.html#ae755cec2f8482621b134f1537a818d98" title="Call before doing one or more SerializeVariable calls when the data will be sent UNRELIABLE_WITH_ACK_...">BeginUnreliableAckedSerialize()</a>, send receipts are not necessary Disadvantages: Every variable for every remote system is copied internally. Very memory and CPU intensive for multiple connections. Advantages: When data is sent differently depending on the recipient, this system can make things easier to use and is as efficient as it can be. <a href="#ad3c9911d1d42bd432d622c98097f14a3"></a><br/></td></tr>
- <tr class="separator:ad3c9911d1d42bd432d622c98097f14a3"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a3ba21dc59bc10fa337c02d79a785e344"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1VariableDeltaSerializer.html#a3ba21dc59bc10fa337c02d79a785e344">BeginIdenticalSerialize</a> (SerializationContext *context, bool _isFirstSerializeToThisSystem, <a class="el" href="classRakNet_1_1BitStream.html">BitStream</a> *_bitStream)</td></tr>
- <tr class="memdesc:a3ba21dc59bc10fa337c02d79a785e344"><td class="mdescLeft"> </td><td class="mdescRight">Call before doing one or more SerializeVariable calls for data that is sent with the same value to every remote system (such as health, position, etc.) This is the most common type of serialization, and also the most efficient Disadvantages: A copy of every variable still needs to be held, although only once Advantages: After the first serialization, the last serialized bitStream will be used for subsequent sends. <a href="#a3ba21dc59bc10fa337c02d79a785e344"></a><br/></td></tr>
- <tr class="separator:a3ba21dc59bc10fa337c02d79a785e344"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a08a27cab67d35fd2fa80fefcc6a0ff13"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1VariableDeltaSerializer.html#a08a27cab67d35fd2fa80fefcc6a0ff13">EndSerialize</a> (SerializationContext *context)</td></tr>
- <tr class="memdesc:a08a27cab67d35fd2fa80fefcc6a0ff13"><td class="mdescLeft"> </td><td class="mdescRight">Call after <a class="el" href="classRakNet_1_1VariableDeltaSerializer.html#ae755cec2f8482621b134f1537a818d98" title="Call before doing one or more SerializeVariable calls when the data will be sent UNRELIABLE_WITH_ACK_...">BeginUnreliableAckedSerialize()</a>, <a class="el" href="classRakNet_1_1VariableDeltaSerializer.html#ad3c9911d1d42bd432d622c98097f14a3" title="Call before doing one or more SerializeVariable calls for data that may be sent differently to every ...">BeginUniqueSerialize()</a>, or <a class="el" href="classRakNet_1_1VariableDeltaSerializer.html#a3ba21dc59bc10fa337c02d79a785e344" title="Call before doing one or more SerializeVariable calls for data that is sent with the same value to ev...">BeginIdenticalSerialize()</a>, then after calling <a class="el" href="classRakNet_1_1VariableDeltaSerializer.html#a1f770773fb03107c9bf6c1acd301a8d6">SerializeVariable()</a> one or more times. <a href="#a08a27cab67d35fd2fa80fefcc6a0ff13"></a><br/></td></tr>
- <tr class="separator:a08a27cab67d35fd2fa80fefcc6a0ff13"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a5cea057c2704378cc1268af235ff7b1e"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1VariableDeltaSerializer.html#a5cea057c2704378cc1268af235ff7b1e">BeginDeserialize</a> (DeserializationContext *context, <a class="el" href="classRakNet_1_1BitStream.html">BitStream</a> *_bitStream)</td></tr>
- <tr class="memdesc:a5cea057c2704378cc1268af235ff7b1e"><td class="mdescLeft"> </td><td class="mdescRight">Call when you receive the <a class="el" href="classRakNet_1_1BitStream.html">BitStream</a> written by <a class="el" href="classRakNet_1_1VariableDeltaSerializer.html#a1f770773fb03107c9bf6c1acd301a8d6">SerializeVariable()</a>, before calling <a class="el" href="classRakNet_1_1VariableDeltaSerializer.html#ac7784665aecbdb82c929878c8a5a3007">DeserializeVariable()</a> <a href="#a5cea057c2704378cc1268af235ff7b1e"></a><br/></td></tr>
- <tr class="separator:a5cea057c2704378cc1268af235ff7b1e"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:aa004336b73a3e8f2a0ea37526ca06249"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1VariableDeltaSerializer.html#aa004336b73a3e8f2a0ea37526ca06249">EndDeserialize</a> (DeserializationContext *context)</td></tr>
- <tr class="separator:aa004336b73a3e8f2a0ea37526ca06249"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a36242a91f3fd4891d20b804792b60daf"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1VariableDeltaSerializer.html#a36242a91f3fd4891d20b804792b60daf">AddRemoteSystemVariableHistory</a> (<a class="el" href="structRakNet_1_1RakNetGUID.html">RakNetGUID</a> guid)</td></tr>
- <tr class="separator:a36242a91f3fd4891d20b804792b60daf"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:aa11acde48680b36f5312c1729c057a26"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1VariableDeltaSerializer.html#aa11acde48680b36f5312c1729c057a26">RemoveRemoteSystemVariableHistory</a> (<a class="el" href="structRakNet_1_1RakNetGUID.html">RakNetGUID</a> guid)</td></tr>
- <tr class="separator:aa11acde48680b36f5312c1729c057a26"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ad82bd595c1111ef536285f401138ebb4"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1VariableDeltaSerializer.html#ad82bd595c1111ef536285f401138ebb4">OnPreSerializeTick</a> (void)</td></tr>
- <tr class="separator:ad82bd595c1111ef536285f401138ebb4"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a55fc78fe99dae4f7727fa190429ec255"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1VariableDeltaSerializer.html#a55fc78fe99dae4f7727fa190429ec255">OnMessageReceipt</a> (<a class="el" href="structRakNet_1_1RakNetGUID.html">RakNetGUID</a> guid, uint32_t receiptId, bool messageArrived)</td></tr>
- <tr class="separator:a55fc78fe99dae4f7727fa190429ec255"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a1f770773fb03107c9bf6c1acd301a8d6"><td class="memTemplParams" colspan="2">template<class VarType > </td></tr>
- <tr class="memitem:a1f770773fb03107c9bf6c1acd301a8d6"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classRakNet_1_1VariableDeltaSerializer.html#a1f770773fb03107c9bf6c1acd301a8d6">SerializeVariable</a> (SerializationContext *context, const VarType &variable)</td></tr>
- <tr class="separator:a1f770773fb03107c9bf6c1acd301a8d6"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ac7784665aecbdb82c929878c8a5a3007"><td class="memTemplParams" colspan="2">template<class VarType > </td></tr>
- <tr class="memitem:ac7784665aecbdb82c929878c8a5a3007"><td class="memTemplItemLeft" align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classRakNet_1_1VariableDeltaSerializer.html#ac7784665aecbdb82c929878c8a5a3007">DeserializeVariable</a> (DeserializationContext *context, VarType &variable)</td></tr>
- <tr class="separator:ac7784665aecbdb82c929878c8a5a3007"><td class="memSeparator" colspan="2"> </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:add5fe9e2912394be108cbe924c53c39b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classDataStructures_1_1List.html">DataStructures::List</a><br class="typebreak"/>
- < RemoteSystemVariableHistory * > </td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1VariableDeltaSerializer.html#add5fe9e2912394be108cbe924c53c39b">remoteSystemVariableHistoryList</a></td></tr>
- <tr class="separator:add5fe9e2912394be108cbe924c53c39b"><td class="memSeparator" colspan="2"> </td></tr>
- </table>
- <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
- <div class="textblock"><p>Class to compare memory values of variables in a current state to a prior state Results of the comparisons will be written to a bitStream, such that only changed variables get written<br/>
- Can be used with <a class="el" href="classRakNet_1_1ReplicaManager3.html" title="System to help automate game object construction, destruction, and serialization.">ReplicaManager3</a> to Serialize a <a class="el" href="classRakNet_1_1Replica3.html" title="Base class for your replicated objects for the ReplicaManager3 system.">Replica3</a> per-variable, rather than comparing the entire object against itself<br/>
- Usage:<br/>
- BR> </p>
- <ol type="1">
- <li>Call <a class="el" href="classRakNet_1_1VariableDeltaSerializer.html#ae755cec2f8482621b134f1537a818d98" title="Call before doing one or more SerializeVariable calls when the data will be sent UNRELIABLE_WITH_ACK_...">BeginUnreliableAckedSerialize()</a>, <a class="el" href="classRakNet_1_1VariableDeltaSerializer.html#ad3c9911d1d42bd432d622c98097f14a3" title="Call before doing one or more SerializeVariable calls for data that may be sent differently to every ...">BeginUniqueSerialize()</a>, or <a class="el" href="classRakNet_1_1VariableDeltaSerializer.html#a3ba21dc59bc10fa337c02d79a785e344" title="Call before doing one or more SerializeVariable calls for data that is sent with the same value to ev...">BeginIdenticalSerialize()</a>. In the case of <a class="el" href="classRakNet_1_1Replica3.html" title="Base class for your replicated objects for the ReplicaManager3 system.">Replica3</a>, this would be in the Serialize() call<br/>
- </li>
- <li>For each variable of the type in step 1, call Serialize(). The same variables must be serialized every tick()<br/>
- </li>
- <li>Call <a class="el" href="classRakNet_1_1VariableDeltaSerializer.html#a08a27cab67d35fd2fa80fefcc6a0ff13" title="Call after BeginUnreliableAckedSerialize(), BeginUniqueSerialize(), or BeginIdenticalSerialize(), then after calling SerializeVariable() one or more times.">EndSerialize()</a><br/>
- </li>
- <li>Repeat step 1 for each of the other categories of how to send varaibles<br/>
- BR> On the receiver:<br/>
- BR></li>
- </ol>
- <ol type="1">
- <li>Call <a class="el" href="classRakNet_1_1VariableDeltaSerializer.html#a5cea057c2704378cc1268af235ff7b1e" title="Call when you receive the BitStream written by SerializeVariable(), before calling DeserializeVariabl...">BeginDeserialize()</a>. In the case of <a class="el" href="classRakNet_1_1Replica3.html" title="Base class for your replicated objects for the ReplicaManager3 system.">Replica3</a>, this would be in the Deserialize() call<br/>
- </li>
- <li>Call <a class="el" href="classRakNet_1_1VariableDeltaSerializer.html#ac7784665aecbdb82c929878c8a5a3007">DeserializeVariable()</a> for each variable, in the same order as was Serialized()<br/>
- </li>
- <li>Call <a class="el" href="classRakNet_1_1VariableDeltaSerializer.html#a08a27cab67d35fd2fa80fefcc6a0ff13" title="Call after BeginUnreliableAckedSerialize(), BeginUniqueSerialize(), or BeginIdenticalSerialize(), then after calling SerializeVariable() one or more times.">EndSerialize()</a><br/>
- <dl class="section see"><dt>See Also</dt><dd>The <a class="el" href="classRakNet_1_1ReplicaManager3.html" title="System to help automate game object construction, destruction, and serialization.">ReplicaManager3</a> sample </dd></dl>
- </li>
- </ol>
- </div><h2 class="groupheader">Member Function Documentation</h2>
- <a class="anchor" id="a36242a91f3fd4891d20b804792b60daf"></a>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void RakNet::VariableDeltaSerializer::AddRemoteSystemVariableHistory </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="structRakNet_1_1RakNetGUID.html">RakNetGUID</a> </td>
- <td class="paramname"><em>guid</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p><a class="el" href="classRakNet_1_1VariableDeltaSerializer.html#ae755cec2f8482621b134f1537a818d98" title="Call before doing one or more SerializeVariable calls when the data will be sent UNRELIABLE_WITH_ACK_...">BeginUnreliableAckedSerialize()</a> and <a class="el" href="classRakNet_1_1VariableDeltaSerializer.html#ad3c9911d1d42bd432d622c98097f14a3" title="Call before doing one or more SerializeVariable calls for data that may be sent differently to every ...">BeginUniqueSerialize()</a> require knowledge of when connections are added and dropped Call <a class="el" href="classRakNet_1_1VariableDeltaSerializer.html#a36242a91f3fd4891d20b804792b60daf">AddRemoteSystemVariableHistory()</a> and RemoveRemoteSystemVariableHistory() to notify the system of these events </p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">_guid</td><td>Which system we are sending to </td></tr>
- </table>
- </dd>
- </dl>
- </div>
- </div>
- <a class="anchor" id="a5cea057c2704378cc1268af235ff7b1e"></a>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void RakNet::VariableDeltaSerializer::BeginDeserialize </td>
- <td>(</td>
- <td class="paramtype">DeserializationContext * </td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="classRakNet_1_1BitStream.html">BitStream</a> * </td>
- <td class="paramname"><em>_bitStream</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Call when you receive the <a class="el" href="classRakNet_1_1BitStream.html">BitStream</a> written by <a class="el" href="classRakNet_1_1VariableDeltaSerializer.html#a1f770773fb03107c9bf6c1acd301a8d6">SerializeVariable()</a>, before calling <a class="el" href="classRakNet_1_1VariableDeltaSerializer.html#ac7784665aecbdb82c929878c8a5a3007">DeserializeVariable()</a> </p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">context</td><td>Holds the context of this group of deserialize calls. This can be a stack object just passed to the function. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">_bitStream</td><td>Pass the bitStream originally passed to and written to by serialize calls </td></tr>
- </table>
- </dd>
- </dl>
- </div>
- </div>
- <a class="anchor" id="a3ba21dc59bc10fa337c02d79a785e344"></a>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void RakNet::VariableDeltaSerializer::BeginIdenticalSerialize </td>
- <td>(</td>
- <td class="paramtype">SerializationContext * </td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">bool </td>
- <td class="paramname"><em>_isFirstSerializeToThisSystem</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="classRakNet_1_1BitStream.html">BitStream</a> * </td>
- <td class="paramname"><em>_bitStream</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Call before doing one or more SerializeVariable calls for data that is sent with the same value to every remote system (such as health, position, etc.) This is the most common type of serialization, and also the most efficient Disadvantages: A copy of every variable still needs to be held, although only once Advantages: After the first serialization, the last serialized bitStream will be used for subsequent sends. </p>
- <dl class="section pre"><dt>Precondition</dt><dd>Call <a class="el" href="classRakNet_1_1VariableDeltaSerializer.html#ad82bd595c1111ef536285f401138ebb4">OnPreSerializeTick()</a> before doing any calls to <a class="el" href="classRakNet_1_1VariableDeltaSerializer.html#a3ba21dc59bc10fa337c02d79a785e344" title="Call before doing one or more SerializeVariable calls for data that is sent with the same value to ev...">BeginIdenticalSerialize()</a> for each of your objects, once per game tick </dd></dl>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">context</td><td>Holds the context of this group of serialize calls. This can be a stack object just passed to the function. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">_isFirstSerializeToThisSystem</td><td>Pass true if this is the first time ever serializing to this system (the initial download). This way all variables will be written, rather than checking against prior sent values. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">_bitSteam</td><td>Which bitStream to write to </td></tr>
- </table>
- </dd>
- </dl>
- </div>
- </div>
- <a class="anchor" id="ad3c9911d1d42bd432d622c98097f14a3"></a>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void RakNet::VariableDeltaSerializer::BeginUniqueSerialize </td>
- <td>(</td>
- <td class="paramtype">SerializationContext * </td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="structRakNet_1_1RakNetGUID.html">RakNetGUID</a> </td>
- <td class="paramname"><em>_guid</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="classRakNet_1_1BitStream.html">BitStream</a> * </td>
- <td class="paramname"><em>_bitStream</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Call before doing one or more SerializeVariable calls for data that may be sent differently to every remote system (such as an invisibility flag that only teammates can see) The last value of each variable will be saved per remote system. Unlike <a class="el" href="classRakNet_1_1VariableDeltaSerializer.html#ae755cec2f8482621b134f1537a818d98" title="Call before doing one or more SerializeVariable calls when the data will be sent UNRELIABLE_WITH_ACK_...">BeginUnreliableAckedSerialize()</a>, send receipts are not necessary Disadvantages: Every variable for every remote system is copied internally. Very memory and CPU intensive for multiple connections. Advantages: When data is sent differently depending on the recipient, this system can make things easier to use and is as efficient as it can be. </p>
- <dl class="section pre"><dt>Precondition</dt><dd><a class="el" href="classRakNet_1_1VariableDeltaSerializer.html#a36242a91f3fd4891d20b804792b60daf">AddRemoteSystemVariableHistory()</a> and RemoveRemoteSystemVariableHistory() must be called for new and lost connections </dd></dl>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">context</td><td>Holds the context of this group of serialize calls. This can be a stack object just passed to the function. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">_guid</td><td>Which system we are sending to </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">_bitSteam</td><td>Which bitStream to write to </td></tr>
- </table>
- </dd>
- </dl>
- </div>
- </div>
- <a class="anchor" id="ae755cec2f8482621b134f1537a818d98"></a>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void RakNet::VariableDeltaSerializer::BeginUnreliableAckedSerialize </td>
- <td>(</td>
- <td class="paramtype">SerializationContext * </td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="structRakNet_1_1RakNetGUID.html">RakNetGUID</a> </td>
- <td class="paramname"><em>_guid</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="classRakNet_1_1BitStream.html">BitStream</a> * </td>
- <td class="paramname"><em>_bitStream</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">uint32_t </td>
- <td class="paramname"><em>_sendReceipt</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Call before doing one or more SerializeVariable calls when the data will be sent UNRELIABLE_WITH_ACK_RECEIPT The last value of each variable will be saved per remote system. Additionally, a history of <em>_sendReceipts</em> is stored to determine what to resend on packetloss. When variables are lost, they will be flagged dirty and always resent to the system that lost it Disadvantages: Every variable for every remote system is copied internally, in addition to a history list of what variables changed for which <em>_sendReceipt</em>. Very memory and CPU intensive for multiple connections. Advantages: When data needs to be resent by <a class="el" href="namespaceRakNet.html" title="Simple class to send changes between directories. In essence, a simple autopatcher that can be used f...">RakNet</a>, <a class="el" href="namespaceRakNet.html" title="Simple class to send changes between directories. In essence, a simple autopatcher that can be used f...">RakNet</a> can only resend the value it currently has. This allows the application to control the resend, sending the most recent value of the variable. The end result is that bandwidth is used more efficiently because old data is never sent. </p>
- <dl class="section pre"><dt>Precondition</dt><dd>Upon getting ID_SND_RECEIPT_LOSS or ID_SND_RECEIPT_ACKED call <a class="el" href="classRakNet_1_1VariableDeltaSerializer.html#a55fc78fe99dae4f7727fa190429ec255">OnMessageReceipt()</a> </dd>
- <dd>
- <a class="el" href="classRakNet_1_1VariableDeltaSerializer.html#a36242a91f3fd4891d20b804792b60daf">AddRemoteSystemVariableHistory()</a> and RemoveRemoteSystemVariableHistory() must be called for new and lost connections </dd></dl>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">context</td><td>Holds the context of this group of serialize calls. This can be a stack object just passed to the function. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">_guid</td><td>Which system we are sending to </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">_bitSteam</td><td>Which bitStream to write to </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">_sendReceipt</td><td>Returned from <a class="el" href="classRakNet_1_1RakPeer.html#a9232bd1bc9c1a223ecef8682133f95ac">RakPeer::IncrementNextSendReceipt()</a> and passed to the Send() or SendLists() function. Identifies this update for ID_SND_RECEIPT_LOSS and ID_SND_RECEIPT_ACKED </td></tr>
- </table>
- </dd>
- </dl>
- </div>
- </div>
- <a class="anchor" id="ac7784665aecbdb82c929878c8a5a3007"></a>
- <div class="memitem">
- <div class="memproto">
- <div class="memtemplate">
- template<class VarType > </div>
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">bool RakNet::VariableDeltaSerializer::DeserializeVariable </td>
- <td>(</td>
- <td class="paramtype">DeserializationContext * </td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">VarType & </td>
- <td class="paramname"><em>variable</em> </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>Call to deserialize into a variable </p>
- <dl class="section pre"><dt>Precondition</dt><dd>You have called <a class="el" href="classRakNet_1_1VariableDeltaSerializer.html#a5cea057c2704378cc1268af235ff7b1e" title="Call when you receive the BitStream written by SerializeVariable(), before calling DeserializeVariabl...">BeginDeserialize()</a> </dd></dl>
- <dl class="section note"><dt>Note</dt><dd>Be sure to call <a class="el" href="classRakNet_1_1VariableDeltaSerializer.html#aa004336b73a3e8f2a0ea37526ca06249">EndDeserialize()</a> after finishing all deserializations </dd></dl>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">context</td><td>Same context pointer passed to <a class="el" href="classRakNet_1_1VariableDeltaSerializer.html#a5cea057c2704378cc1268af235ff7b1e" title="Call when you receive the BitStream written by SerializeVariable(), before calling DeserializeVariabl...">BeginDeserialize()</a> </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">variable</td><td>A variable to write to the bitStream passed to <em>context</em> </td></tr>
- </table>
- </dd>
- </dl>
- </div>
- </div>
- <a class="anchor" id="aa004336b73a3e8f2a0ea37526ca06249"></a>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void RakNet::VariableDeltaSerializer::EndDeserialize </td>
- <td>(</td>
- <td class="paramtype">DeserializationContext * </td>
- <td class="paramname"><em>context</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">context</td><td>Same context pointer passed to <a class="el" href="classRakNet_1_1VariableDeltaSerializer.html#a5cea057c2704378cc1268af235ff7b1e" title="Call when you receive the BitStream written by SerializeVariable(), before calling DeserializeVariabl...">BeginDeserialize()</a> </td></tr>
- </table>
- </dd>
- </dl>
- </div>
- </div>
- <a class="anchor" id="a08a27cab67d35fd2fa80fefcc6a0ff13"></a>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void RakNet::VariableDeltaSerializer::EndSerialize </td>
- <td>(</td>
- <td class="paramtype">SerializationContext * </td>
- <td class="paramname"><em>context</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Call after <a class="el" href="classRakNet_1_1VariableDeltaSerializer.html#ae755cec2f8482621b134f1537a818d98" title="Call before doing one or more SerializeVariable calls when the data will be sent UNRELIABLE_WITH_ACK_...">BeginUnreliableAckedSerialize()</a>, <a class="el" href="classRakNet_1_1VariableDeltaSerializer.html#ad3c9911d1d42bd432d622c98097f14a3" title="Call before doing one or more SerializeVariable calls for data that may be sent differently to every ...">BeginUniqueSerialize()</a>, or <a class="el" href="classRakNet_1_1VariableDeltaSerializer.html#a3ba21dc59bc10fa337c02d79a785e344" title="Call before doing one or more SerializeVariable calls for data that is sent with the same value to ev...">BeginIdenticalSerialize()</a>, then after calling <a class="el" href="classRakNet_1_1VariableDeltaSerializer.html#a1f770773fb03107c9bf6c1acd301a8d6">SerializeVariable()</a> one or more times. </p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">context</td><td>Same context pointer passed to <a class="el" href="classRakNet_1_1VariableDeltaSerializer.html#ae755cec2f8482621b134f1537a818d98" title="Call before doing one or more SerializeVariable calls when the data will be sent UNRELIABLE_WITH_ACK_...">BeginUnreliableAckedSerialize()</a>, <a class="el" href="classRakNet_1_1VariableDeltaSerializer.html#ad3c9911d1d42bd432d622c98097f14a3" title="Call before doing one or more SerializeVariable calls for data that may be sent differently to every ...">BeginUniqueSerialize()</a>, or <a class="el" href="classRakNet_1_1VariableDeltaSerializer.html#a3ba21dc59bc10fa337c02d79a785e344" title="Call before doing one or more SerializeVariable calls for data that is sent with the same value to ev...">BeginIdenticalSerialize()</a> </td></tr>
- </table>
- </dd>
- </dl>
- </div>
- </div>
- <a class="anchor" id="a55fc78fe99dae4f7727fa190429ec255"></a>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void RakNet::VariableDeltaSerializer::OnMessageReceipt </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="structRakNet_1_1RakNetGUID.html">RakNetGUID</a> </td>
- <td class="paramname"><em>guid</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">uint32_t </td>
- <td class="paramname"><em>receiptId</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">bool </td>
- <td class="paramname"><em>messageArrived</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Call when getting ID_SND_RECEIPT_LOSS or ID_SND_RECEIPT_ACKED for a particular system Example:</p>
- <p>uint32_t msgNumber; memcpy(&msgNumber, packet->data+1, 4); DataStructures::List<Replica3*> replicaListOut; replicaManager.GetReplicasCreatedByMe(replicaListOut); unsigned int idx; for (idx=0; idx < replicaListOut.GetSize(); idx++) { ((SampleReplica*)replicaListOut[idx])->NotifyReplicaOfMessageDeliveryStatus(packet->guid,msgNumber, packet->data[0]==ID_SND_RECEIPT_ACKED); }</p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">guid</td><td>Which system we are sending to </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">receiptId</td><td>Encoded in bytes 1-4 inclusive of ID_SND_RECEIPT_LOSS and ID_SND_RECEIPT_ACKED </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">messageArrived</td><td>True for ID_SND_RECEIPT_ACKED, false otherwise </td></tr>
- </table>
- </dd>
- </dl>
- </div>
- </div>
- <a class="anchor" id="ad82bd595c1111ef536285f401138ebb4"></a>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void RakNet::VariableDeltaSerializer::OnPreSerializeTick </td>
- <td>(</td>
- <td class="paramtype">void </td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p><a class="el" href="classRakNet_1_1VariableDeltaSerializer.html#a3ba21dc59bc10fa337c02d79a785e344" title="Call before doing one or more SerializeVariable calls for data that is sent with the same value to ev...">BeginIdenticalSerialize()</a> requires knowledge of when serialization has started for an object across multiple systems This way it can setup the flag to do new comparisons against the last sent values, rather than just resending the last sent bitStream For <a class="el" href="classRakNet_1_1Replica3.html" title="Base class for your replicated objects for the ReplicaManager3 system.">Replica3</a>, overload and call this from <a class="el" href="classRakNet_1_1Replica3.html#a1f633cb586ee48c3f3026f1af1053ba6" title="Called for each replica owned by the user, once per Serialization tick, before Serialize() is called...">Replica3::OnUserReplicaPreSerializeTick()</a> </p>
- </div>
- </div>
- <a class="anchor" id="aa11acde48680b36f5312c1729c057a26"></a>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void RakNet::VariableDeltaSerializer::RemoveRemoteSystemVariableHistory </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="structRakNet_1_1RakNetGUID.html">RakNetGUID</a> </td>
- <td class="paramname"><em>guid</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p><a class="el" href="classRakNet_1_1VariableDeltaSerializer.html#ae755cec2f8482621b134f1537a818d98" title="Call before doing one or more SerializeVariable calls when the data will be sent UNRELIABLE_WITH_ACK_...">BeginUnreliableAckedSerialize()</a> and <a class="el" href="classRakNet_1_1VariableDeltaSerializer.html#ad3c9911d1d42bd432d622c98097f14a3" title="Call before doing one or more SerializeVariable calls for data that may be sent differently to every ...">BeginUniqueSerialize()</a> require knowledge of when connections are added and dropped Call <a class="el" href="classRakNet_1_1VariableDeltaSerializer.html#a36242a91f3fd4891d20b804792b60daf">AddRemoteSystemVariableHistory()</a> and RemoveRemoteSystemVariableHistory() to notify the system of these events </p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">_guid</td><td>Which system we are sending to </td></tr>
- </table>
- </dd>
- </dl>
- </div>
- </div>
- <a class="anchor" id="a1f770773fb03107c9bf6c1acd301a8d6"></a>
- <div class="memitem">
- <div class="memproto">
- <div class="memtemplate">
- template<class VarType > </div>
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">void RakNet::VariableDeltaSerializer::SerializeVariable </td>
- <td>(</td>
- <td class="paramtype">SerializationContext * </td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const VarType & </td>
- <td class="paramname"><em>variable</em> </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>Call to Serialize a variable Will write to the bitSteam passed to <em>context</em> true, variableValue if the variable has changed or has never been written. Otherwise will write false. </p>
- <dl class="section pre"><dt>Precondition</dt><dd>You have called <a class="el" href="classRakNet_1_1VariableDeltaSerializer.html#ae755cec2f8482621b134f1537a818d98" title="Call before doing one or more SerializeVariable calls when the data will be sent UNRELIABLE_WITH_ACK_...">BeginUnreliableAckedSerialize()</a>, <a class="el" href="classRakNet_1_1VariableDeltaSerializer.html#ad3c9911d1d42bd432d622c98097f14a3" title="Call before doing one or more SerializeVariable calls for data that may be sent differently to every ...">BeginUniqueSerialize()</a>, or <a class="el" href="classRakNet_1_1VariableDeltaSerializer.html#a3ba21dc59bc10fa337c02d79a785e344" title="Call before doing one or more SerializeVariable calls for data that is sent with the same value to ev...">BeginIdenticalSerialize()</a> </dd>
- <dd>
- Will also require calling <a class="el" href="classRakNet_1_1VariableDeltaSerializer.html#ad82bd595c1111ef536285f401138ebb4">OnPreSerializeTick()</a> if using <a class="el" href="classRakNet_1_1VariableDeltaSerializer.html#a3ba21dc59bc10fa337c02d79a785e344" title="Call before doing one or more SerializeVariable calls for data that is sent with the same value to ev...">BeginIdenticalSerialize()</a> </dd></dl>
- <dl class="section note"><dt>Note</dt><dd>Be sure to call <a class="el" href="classRakNet_1_1VariableDeltaSerializer.html#a08a27cab67d35fd2fa80fefcc6a0ff13" title="Call after BeginUnreliableAckedSerialize(), BeginUniqueSerialize(), or BeginIdenticalSerialize(), then after calling SerializeVariable() one or more times.">EndSerialize()</a> after finishing all serializations </dd></dl>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">context</td><td>Same context pointer passed to <a class="el" href="classRakNet_1_1VariableDeltaSerializer.html#ae755cec2f8482621b134f1537a818d98" title="Call before doing one or more SerializeVariable calls when the data will be sent UNRELIABLE_WITH_ACK_...">BeginUnreliableAckedSerialize()</a>, <a class="el" href="classRakNet_1_1VariableDeltaSerializer.html#ad3c9911d1d42bd432d622c98097f14a3" title="Call before doing one or more SerializeVariable calls for data that may be sent differently to every ...">BeginUniqueSerialize()</a>, or <a class="el" href="classRakNet_1_1VariableDeltaSerializer.html#a3ba21dc59bc10fa337c02d79a785e344" title="Call before doing one or more SerializeVariable calls for data that is sent with the same value to ev...">BeginIdenticalSerialize()</a> </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">variable</td><td>A variable to write to the bitStream passed to <em>context</em> </td></tr>
- </table>
- </dd>
- </dl>
- </div>
- </div>
- <h2 class="groupheader">Member Data Documentation</h2>
- <a class="anchor" id="add5fe9e2912394be108cbe924c53c39b"></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="classDataStructures_1_1List.html">DataStructures::List</a><RemoteSystemVariableHistory*> RakNet::VariableDeltaSerializer::remoteSystemVariableHistoryList</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>A list of RemoteSystemVariableHistory indexed by guid, one per connection that we serialize to List is added to when SerializeConstruction is called, and removed from when SerializeDestruction is called, or when a given connection is dropped </p>
- </div>
- </div>
- <hr/>The documentation for this class was generated from the following file:<ul>
- <li>D:/temp/RakNet_PC/Source/VariableDeltaSerializer.h</li>
- </ul>
- </div><!-- contents -->
- <!-- start footer part -->
- <hr class="footer"/><address class="footer"><small>
- Generated on Mon Jun 2 2014 20:10:29 for RakNet by  <a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/>
- </a> 1.8.2
- </small></address>
- </body>
- </html>
|