| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318 |
- <!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: ReplicaManager3</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><a href="annotated.html"><span>Classes</span></a></li>
- <li><a href="files.html"><span>Files</span></a></li>
- </ul>
- </div>
- </div><!-- top -->
- <div class="header">
- <div class="summary">
- <a href="#nested-classes">Classes</a> |
- <a href="#typedef-members">Typedefs</a> |
- <a href="#enum-members">Enumerations</a> </div>
- <div class="headertitle">
- <div class="title">ReplicaManager3</div> </div>
- <div class="ingroups"><a class="el" href="group__PLUGINS__GROUP.html">Plugins</a></div></div><!--header-->
- <div class="contents">
- <p>Third implementation of object replication.
- <a href="#details">More...</a></p>
- <table class="memberdecls">
- <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
- Classes</h2></td></tr>
- <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1ReplicaManager3.html">RakNet::ReplicaManager3</a></td></tr>
- <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">System to help automate game object construction, destruction, and serialization. <a href="classRakNet_1_1ReplicaManager3.html#details">More...</a><br/></td></tr>
- <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structRakNet_1_1LastSerializationResult.html">RakNet::LastSerializationResult</a></td></tr>
- <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structRakNet_1_1SerializeParameters.html">RakNet::SerializeParameters</a></td></tr>
- <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1Connection__RM3.html">RakNet::Connection_RM3</a></td></tr>
- <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Each remote system is represented by <a class="el" href="classRakNet_1_1Connection__RM3.html" title="Each remote system is represented by Connection_RM3. Used to allocate Replica3 and track which instan...">Connection_RM3</a>. Used to allocate <a class="el" href="classRakNet_1_1Replica3.html" title="Base class for your replicated objects for the ReplicaManager3 system.">Replica3</a> and track which instances have been allocated. <a href="classRakNet_1_1Connection__RM3.html#details">More...</a><br/></td></tr>
- <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1Replica3.html">RakNet::Replica3</a></td></tr>
- <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Base class for your replicated objects for the <a class="el" href="classRakNet_1_1ReplicaManager3.html" title="System to help automate game object construction, destruction, and serialization.">ReplicaManager3</a> system. <a href="classRakNet_1_1Replica3.html#details">More...</a><br/></td></tr>
- <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
- </table><table class="memberdecls">
- <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
- Typedefs</h2></td></tr>
- <tr class="memitem:ga44b59af8e882248f61aa41d8ace38bf7"><td class="memItemLeft" align="right" valign="top">typedef uint8_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group__REPLICA__MANAGER__GROUP3.html#ga44b59af8e882248f61aa41d8ace38bf7">RakNet::WorldId</a></td></tr>
- <tr class="separator:ga44b59af8e882248f61aa41d8ace38bf7"><td class="memSeparator" colspan="2"> </td></tr>
- </table><table class="memberdecls">
- <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
- Enumerations</h2></td></tr>
- <tr class="memitem:ga16aaecf3c23582f0de6652b348ccfa38"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group__REPLICA__MANAGER__GROUP3.html#ga16aaecf3c23582f0de6652b348ccfa38">RakNet::RM3ConstructionState</a> { <br/>
-   <a class="el" href="group__REPLICA__MANAGER__GROUP3.html#gga16aaecf3c23582f0de6652b348ccfa38a508beae91f54ce89c22160c43a608fe1">RakNet::RM3CS_SEND_CONSTRUCTION</a>,
- <a class="el" href="group__REPLICA__MANAGER__GROUP3.html#gga16aaecf3c23582f0de6652b348ccfa38a830fdf9eb729456bb62c8f3116afe260">RakNet::RM3CS_ALREADY_EXISTS_REMOTELY</a>,
- <a class="el" href="group__REPLICA__MANAGER__GROUP3.html#gga16aaecf3c23582f0de6652b348ccfa38a526a86138ec25d79d3981860bd09d4e3">RakNet::RM3CS_ALREADY_EXISTS_REMOTELY_DO_NOT_CONSTRUCT</a>,
- <a class="el" href="group__REPLICA__MANAGER__GROUP3.html#gga16aaecf3c23582f0de6652b348ccfa38a7340e8e1ecf573595a196376ac02eb3c">RakNet::RM3CS_NEVER_CONSTRUCT</a>,
- <br/>
-   <a class="el" href="group__REPLICA__MANAGER__GROUP3.html#gga16aaecf3c23582f0de6652b348ccfa38a28922f257ecef864a4490ec6aae6a48b">RakNet::RM3CS_NO_ACTION</a>,
- <a class="el" href="group__REPLICA__MANAGER__GROUP3.html#gga16aaecf3c23582f0de6652b348ccfa38afd4d901f7fd70e9fa64c911d427a14a0">RakNet::RM3CS_MAX</a>
- <br/>
- }</td></tr>
- <tr class="memdesc:ga16aaecf3c23582f0de6652b348ccfa38"><td class="mdescLeft"> </td><td class="mdescRight">Return codes for Connection_RM3::GetConstructionState() and Replica3::QueryConstruction() <a href="group__REPLICA__MANAGER__GROUP3.html#ga16aaecf3c23582f0de6652b348ccfa38">More...</a><br/></td></tr>
- <tr class="separator:ga16aaecf3c23582f0de6652b348ccfa38"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ga400c157a937f062bd8a3c19a49d33541"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group__REPLICA__MANAGER__GROUP3.html#ga400c157a937f062bd8a3c19a49d33541">RakNet::RM3DestructionState</a> { <a class="el" href="group__REPLICA__MANAGER__GROUP3.html#gga400c157a937f062bd8a3c19a49d33541a8659a52c28938633a464e505249dcdcf">RakNet::RM3DS_SEND_DESTRUCTION</a>,
- <a class="el" href="group__REPLICA__MANAGER__GROUP3.html#gga400c157a937f062bd8a3c19a49d33541a12b9942935d79a55fc3943466e4b1204">RakNet::RM3DS_DO_NOT_QUERY_DESTRUCTION</a>,
- <a class="el" href="group__REPLICA__MANAGER__GROUP3.html#gga400c157a937f062bd8a3c19a49d33541a84680d8d2b68f5360a11fb2dd50a335f">RakNet::RM3DS_NO_ACTION</a>,
- <a class="el" href="group__REPLICA__MANAGER__GROUP3.html#gga400c157a937f062bd8a3c19a49d33541a7651f853d06fc836b035bbf91aa6a266">RakNet::RM3DS_MAX</a>
- }</td></tr>
- <tr class="separator:ga400c157a937f062bd8a3c19a49d33541"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ga993da25eb23b67455e2438971c51429c"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group__REPLICA__MANAGER__GROUP3.html#ga993da25eb23b67455e2438971c51429c">RakNet::RM3SerializationResult</a> { <br/>
-   <a class="el" href="group__REPLICA__MANAGER__GROUP3.html#gga993da25eb23b67455e2438971c51429ca574f9c4ac43601e7e49ff56a796a3fe2">RakNet::RM3SR_BROADCAST_IDENTICALLY</a>,
- <a class="el" href="group__REPLICA__MANAGER__GROUP3.html#gga993da25eb23b67455e2438971c51429ca03ccf6a7cb2e7bc303525529c3cf2fa3">RakNet::RM3SR_BROADCAST_IDENTICALLY_FORCE_SERIALIZATION</a>,
- <a class="el" href="group__REPLICA__MANAGER__GROUP3.html#gga993da25eb23b67455e2438971c51429ca433b42251411758236dff004c87d0814">RakNet::RM3SR_SERIALIZED_UNIQUELY</a>,
- <a class="el" href="group__REPLICA__MANAGER__GROUP3.html#gga993da25eb23b67455e2438971c51429ca80ff6894a8a24e8ec6bd6895501628b5">RakNet::RM3SR_SERIALIZED_ALWAYS</a>,
- <br/>
-   <a class="el" href="group__REPLICA__MANAGER__GROUP3.html#gga993da25eb23b67455e2438971c51429ca065bb061cfc67fc94c4ddc147cd9e525">RakNet::RM3SR_SERIALIZED_ALWAYS_IDENTICALLY</a>,
- <a class="el" href="group__REPLICA__MANAGER__GROUP3.html#gga993da25eb23b67455e2438971c51429ca60f8e6fa13b204ae52d20844e00b2a36">RakNet::RM3SR_DO_NOT_SERIALIZE</a>,
- <a class="el" href="group__REPLICA__MANAGER__GROUP3.html#gga993da25eb23b67455e2438971c51429ca113936a2cd1690f9d2d3abfdf85d665c">RakNet::RM3SR_NEVER_SERIALIZE_FOR_THIS_CONNECTION</a>,
- <a class="el" href="group__REPLICA__MANAGER__GROUP3.html#gga993da25eb23b67455e2438971c51429cab220e8bd7e6c81016a4436c1767fc48d">RakNet::RM3SR_MAX</a>
- <br/>
- }</td></tr>
- <tr class="separator:ga993da25eb23b67455e2438971c51429c"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ga9a29b413d7f2b9cb21c16457631d3aef"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group__REPLICA__MANAGER__GROUP3.html#ga9a29b413d7f2b9cb21c16457631d3aef">RakNet::RM3QuerySerializationResult</a> { <a class="el" href="group__REPLICA__MANAGER__GROUP3.html#gga9a29b413d7f2b9cb21c16457631d3aefac2394e5a4e4008d90c922bed6932303d">RakNet::RM3QSR_CALL_SERIALIZE</a>,
- <a class="el" href="group__REPLICA__MANAGER__GROUP3.html#gga9a29b413d7f2b9cb21c16457631d3aefac45e556d9b4239415bd63e5bede8ca51">RakNet::RM3QSR_DO_NOT_CALL_SERIALIZE</a>,
- <a class="el" href="group__REPLICA__MANAGER__GROUP3.html#gga9a29b413d7f2b9cb21c16457631d3aefa22b7a36a8c1481cc6345d8c4efbe4aac">RakNet::RM3QSR_NEVER_CALL_SERIALIZE</a>,
- <a class="el" href="group__REPLICA__MANAGER__GROUP3.html#gga9a29b413d7f2b9cb21c16457631d3aefa2cd620253580e8d24a1b7957799c3d7a">RakNet::RM3QSR_MAX</a>
- }</td></tr>
- <tr class="separator:ga9a29b413d7f2b9cb21c16457631d3aef"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ga91a588da9d58bc86b8fb7e4f27ddcf7e"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group__REPLICA__MANAGER__GROUP3.html#ga91a588da9d58bc86b8fb7e4f27ddcf7e">RakNet::Replica3P2PMode</a> { <br/>
-   <a class="el" href="group__REPLICA__MANAGER__GROUP3.html#gga91a588da9d58bc86b8fb7e4f27ddcf7eae6bb229afa26313b6aa4c11320e630d5">RakNet::R3P2PM_SINGLE_OWNER</a>,
- <a class="el" href="group__REPLICA__MANAGER__GROUP3.html#gga91a588da9d58bc86b8fb7e4f27ddcf7ea47ff84aa5cdf83b800d551ab607b1d1f">RakNet::R3P2PM_MULTI_OWNER_CURRENTLY_AUTHORITATIVE</a>,
- <a class="el" href="group__REPLICA__MANAGER__GROUP3.html#gga91a588da9d58bc86b8fb7e4f27ddcf7eac0b780c5f936449de42e6032e6bca4e6">RakNet::R3P2PM_MULTI_OWNER_NOT_CURRENTLY_AUTHORITATIVE</a>,
- <a class="el" href="group__REPLICA__MANAGER__GROUP3.html#gga91a588da9d58bc86b8fb7e4f27ddcf7ead8f368971bbf8939507a5f0550e1af04">RakNet::R3P2PM_STATIC_OBJECT_CURRENTLY_AUTHORITATIVE</a>,
- <br/>
-   <a class="el" href="group__REPLICA__MANAGER__GROUP3.html#gga91a588da9d58bc86b8fb7e4f27ddcf7ea3b8743fa18228e729bcad3e2a89c7752">RakNet::R3P2PM_STATIC_OBJECT_NOT_CURRENTLY_AUTHORITATIVE</a>
- <br/>
- }</td></tr>
- <tr class="separator:ga91a588da9d58bc86b8fb7e4f27ddcf7e"><td class="memSeparator" colspan="2"> </td></tr>
- </table>
- <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
- <p>Third implementation of object replication. </p>
- <h2 class="groupheader">Typedef Documentation</h2>
- <a class="anchor" id="ga44b59af8e882248f61aa41d8ace38bf7"></a>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">typedef uint8_t <a class="el" href="group__REPLICA__MANAGER__GROUP3.html#ga44b59af8e882248f61aa41d8ace38bf7">RakNet::WorldId</a></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Used for multiple worlds. World 0 is created automatically by default</p>
- <p>Used for multiple worlds. </p>
- </div>
- </div>
- <h2 class="groupheader">Enumeration Type Documentation</h2>
- <a class="anchor" id="ga91a588da9d58bc86b8fb7e4f27ddcf7e"></a>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">enum <a class="el" href="group__REPLICA__MANAGER__GROUP3.html#ga91a588da9d58bc86b8fb7e4f27ddcf7e">RakNet::Replica3P2PMode</a></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Used for <a class="el" href="classRakNet_1_1Replica3.html#abd7b33c48572729b624485e69e1f0fe2" title="Default call for QueryConstruction().">Replica3::QueryConstruction_PeerToPeer()</a> and <a class="el" href="classRakNet_1_1Replica3.html#a212c9fff207005acf494fb9c4ae9e194" title="Default call for QuerySerialization().">Replica3::QuerySerialization_PeerToPeer()</a> to describe how the object replicates between hosts </p>
- <dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"><em><a class="anchor" id="gga91a588da9d58bc86b8fb7e4f27ddcf7eae6bb229afa26313b6aa4c11320e630d5"></a>R3P2PM_SINGLE_OWNER</em> </td><td>
- <p>The <a class="el" href="classRakNet_1_1Replica3.html" title="Base class for your replicated objects for the ReplicaManager3 system.">Replica3</a> instance is constructed and serialized by one system only. Example: Your avatar. No other player serializes or can create your avatar. </p>
- </td></tr>
- <tr><td valign="top"><em><a class="anchor" id="gga91a588da9d58bc86b8fb7e4f27ddcf7ea47ff84aa5cdf83b800d551ab607b1d1f"></a>R3P2PM_MULTI_OWNER_CURRENTLY_AUTHORITATIVE</em> </td><td>
- <p>The <a class="el" href="classRakNet_1_1Replica3.html" title="Base class for your replicated objects for the ReplicaManager3 system.">Replica3</a> instance is constructed and/or serialized by different systems This system is currently in charge of construction and/or serialization Example: A pickup. When an avatar holds it, that avatar controls it. When it is on the ground, the host controls it. </p>
- </td></tr>
- <tr><td valign="top"><em><a class="anchor" id="gga91a588da9d58bc86b8fb7e4f27ddcf7eac0b780c5f936449de42e6032e6bca4e6"></a>R3P2PM_MULTI_OWNER_NOT_CURRENTLY_AUTHORITATIVE</em> </td><td>
- <p>The <a class="el" href="classRakNet_1_1Replica3.html" title="Base class for your replicated objects for the ReplicaManager3 system.">Replica3</a> instance is constructed and/or serialized by different systems Another system is in charge of construction and/or serialization, but this system may be in charge at a later time Example: A pickup held by another player. That player sends creation of that object to new connections, and serializes it until it is dropped. </p>
- </td></tr>
- <tr><td valign="top"><em><a class="anchor" id="gga91a588da9d58bc86b8fb7e4f27ddcf7ead8f368971bbf8939507a5f0550e1af04"></a>R3P2PM_STATIC_OBJECT_CURRENTLY_AUTHORITATIVE</em> </td><td>
- <p>The <a class="el" href="classRakNet_1_1Replica3.html" title="Base class for your replicated objects for the ReplicaManager3 system.">Replica3</a> instance is a static object (already exists on the remote system). This system is currently in charge of construction and/or serialization </p>
- </td></tr>
- <tr><td valign="top"><em><a class="anchor" id="gga91a588da9d58bc86b8fb7e4f27ddcf7ea3b8743fa18228e729bcad3e2a89c7752"></a>R3P2PM_STATIC_OBJECT_NOT_CURRENTLY_AUTHORITATIVE</em> </td><td>
- <p>The <a class="el" href="classRakNet_1_1Replica3.html" title="Base class for your replicated objects for the ReplicaManager3 system.">Replica3</a> instance is a static object (already exists on the remote system). Another system is in charge of construction and/or serialization, but this system may be in charge at a later time </p>
- </td></tr>
- </table>
- </dd>
- </dl>
- </div>
- </div>
- <a class="anchor" id="ga16aaecf3c23582f0de6652b348ccfa38"></a>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">enum <a class="el" href="group__REPLICA__MANAGER__GROUP3.html#ga16aaecf3c23582f0de6652b348ccfa38">RakNet::RM3ConstructionState</a></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Return codes for Connection_RM3::GetConstructionState() and <a class="el" href="classRakNet_1_1Replica3.html#ad826e04ce6a0db4e32c3d990fd27e943" title="Ask if this object, which does not exist on destinationConnection should (now) be sent to that system...">Replica3::QueryConstruction()</a> </p>
- <p>Indicates what state the object should be in for the remote system </p>
- <dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"><em><a class="anchor" id="gga16aaecf3c23582f0de6652b348ccfa38a508beae91f54ce89c22160c43a608fe1"></a>RM3CS_SEND_CONSTRUCTION</em> </td><td>
- <p>This object should exist on the remote system. Send a construction message if necessary If the NetworkID is already in use, it will not do anything If it is not in use, it will create the object, and then call DeserializeConstruction </p>
- </td></tr>
- <tr><td valign="top"><em><a class="anchor" id="gga16aaecf3c23582f0de6652b348ccfa38a830fdf9eb729456bb62c8f3116afe260"></a>RM3CS_ALREADY_EXISTS_REMOTELY</em> </td><td>
- <p>This object should exist on the remote system. The other system already has the object, and the object will never be deleted. This is true of objects that are loaded with the level, for example. Treat it as if it existed, without sending a construction message. Will call Serialize() and SerializeConstructionExisting() to the object on the remote system </p>
- </td></tr>
- <tr><td valign="top"><em><a class="anchor" id="gga16aaecf3c23582f0de6652b348ccfa38a526a86138ec25d79d3981860bd09d4e3"></a>RM3CS_ALREADY_EXISTS_REMOTELY_DO_NOT_CONSTRUCT</em> </td><td>
- <p>Same as RM3CS_ALREADY_EXISTS_REMOTELY but does not call SerializeConstructionExisting() </p>
- </td></tr>
- <tr><td valign="top"><em><a class="anchor" id="gga16aaecf3c23582f0de6652b348ccfa38a7340e8e1ecf573595a196376ac02eb3c"></a>RM3CS_NEVER_CONSTRUCT</em> </td><td>
- <p>This object will never be sent to the target system This object will never be serialized from this system to the target system </p>
- </td></tr>
- <tr><td valign="top"><em><a class="anchor" id="gga16aaecf3c23582f0de6652b348ccfa38a28922f257ecef864a4490ec6aae6a48b"></a>RM3CS_NO_ACTION</em> </td><td>
- <p>Don't do anything this tick. Will query again next tick. </p>
- </td></tr>
- <tr><td valign="top"><em><a class="anchor" id="gga16aaecf3c23582f0de6652b348ccfa38afd4d901f7fd70e9fa64c911d427a14a0"></a>RM3CS_MAX</em> </td><td>
- <p>Max enum. </p>
- </td></tr>
- </table>
- </dd>
- </dl>
- </div>
- </div>
- <a class="anchor" id="ga400c157a937f062bd8a3c19a49d33541"></a>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">enum <a class="el" href="group__REPLICA__MANAGER__GROUP3.html#ga400c157a937f062bd8a3c19a49d33541">RakNet::RM3DestructionState</a></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>If this object already exists for this system, should it be removed? </p>
- <dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"><em><a class="anchor" id="gga400c157a937f062bd8a3c19a49d33541a8659a52c28938633a464e505249dcdcf"></a>RM3DS_SEND_DESTRUCTION</em> </td><td>
- <p>This object should not exist on the remote system. Send a destruction message if necessary. </p>
- </td></tr>
- <tr><td valign="top"><em><a class="anchor" id="gga400c157a937f062bd8a3c19a49d33541a12b9942935d79a55fc3943466e4b1204"></a>RM3DS_DO_NOT_QUERY_DESTRUCTION</em> </td><td>
- <p>This object will never be destroyed by a per-tick query. Don't call again. </p>
- </td></tr>
- <tr><td valign="top"><em><a class="anchor" id="gga400c157a937f062bd8a3c19a49d33541a84680d8d2b68f5360a11fb2dd50a335f"></a>RM3DS_NO_ACTION</em> </td><td>
- <p>Don't do anything this tick. Will query again next tick. </p>
- </td></tr>
- <tr><td valign="top"><em><a class="anchor" id="gga400c157a937f062bd8a3c19a49d33541a7651f853d06fc836b035bbf91aa6a266"></a>RM3DS_MAX</em> </td><td>
- <p>Max enum. </p>
- </td></tr>
- </table>
- </dd>
- </dl>
- </div>
- </div>
- <a class="anchor" id="ga9a29b413d7f2b9cb21c16457631d3aef"></a>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">enum <a class="el" href="group__REPLICA__MANAGER__GROUP3.html#ga9a29b413d7f2b9cb21c16457631d3aef">RakNet::RM3QuerySerializationResult</a></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>First pass at topology to see if an object should be serialized </p>
- <dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"><em><a class="anchor" id="gga9a29b413d7f2b9cb21c16457631d3aefac2394e5a4e4008d90c922bed6932303d"></a>RM3QSR_CALL_SERIALIZE</em> </td><td>
- <p>Call Serialize() to see if this object should be serializable for this connection. </p>
- </td></tr>
- <tr><td valign="top"><em><a class="anchor" id="gga9a29b413d7f2b9cb21c16457631d3aefac45e556d9b4239415bd63e5bede8ca51"></a>RM3QSR_DO_NOT_CALL_SERIALIZE</em> </td><td>
- <p>Do not call Serialize() this tick to see if this object should be serializable for this connection. </p>
- </td></tr>
- <tr><td valign="top"><em><a class="anchor" id="gga9a29b413d7f2b9cb21c16457631d3aefa22b7a36a8c1481cc6345d8c4efbe4aac"></a>RM3QSR_NEVER_CALL_SERIALIZE</em> </td><td>
- <p>Never call Serialize() for this object and connection. This system will not serialize this object for this topology. </p>
- </td></tr>
- <tr><td valign="top"><em><a class="anchor" id="gga9a29b413d7f2b9cb21c16457631d3aefa2cd620253580e8d24a1b7957799c3d7a"></a>RM3QSR_MAX</em> </td><td>
- <p>Max enum. </p>
- </td></tr>
- </table>
- </dd>
- </dl>
- </div>
- </div>
- <a class="anchor" id="ga993da25eb23b67455e2438971c51429c"></a>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">enum <a class="el" href="group__REPLICA__MANAGER__GROUP3.html#ga993da25eb23b67455e2438971c51429c">RakNet::RM3SerializationResult</a></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Return codes when constructing an object </p>
- <dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"><em><a class="anchor" id="gga993da25eb23b67455e2438971c51429ca574f9c4ac43601e7e49ff56a796a3fe2"></a>RM3SR_BROADCAST_IDENTICALLY</em> </td><td>
- <p>This object serializes identically no matter who we send to We also send it to every connection (broadcast). Efficient for memory, speed, and bandwidth but only if the object is always broadcast identically. </p>
- </td></tr>
- <tr><td valign="top"><em><a class="anchor" id="gga993da25eb23b67455e2438971c51429ca03ccf6a7cb2e7bc303525529c3cf2fa3"></a>RM3SR_BROADCAST_IDENTICALLY_FORCE_SERIALIZATION</em> </td><td>
- <p>Same as RM3SR_BROADCAST_IDENTICALLY, but assume the object needs to be serialized, do not check with a memcmp Assume the object changed, and serialize it Use this if you know exactly when your object needs to change. Can be faster than RM3SR_BROADCAST_IDENTICALLY. An example of this is if every member variable has an accessor, changing a member sets a flag, and you check that flag in <a class="el" href="classRakNet_1_1Replica3.html#abc1b2daa5c1a908ddd2d6df44da7e9aa" title="Implement with QuerySerialization_ClientSerializable(), QuerySerialization_ServerSerializable(), or QuerySerialization_PeerToPeer()">Replica3::QuerySerialization()</a> The opposite of this is RM3SR_DO_NOT_SERIALIZE, in case the object did not change </p>
- </td></tr>
- <tr><td valign="top"><em><a class="anchor" id="gga993da25eb23b67455e2438971c51429ca433b42251411758236dff004c87d0814"></a>RM3SR_SERIALIZED_UNIQUELY</em> </td><td>
- <p>Either this object serializes differently depending on who we send to or we send it to some systems and not others. Inefficient for memory and speed, but efficient for bandwidth However, if you don't know what to return, return this </p>
- </td></tr>
- <tr><td valign="top"><em><a class="anchor" id="gga993da25eb23b67455e2438971c51429ca80ff6894a8a24e8ec6bd6895501628b5"></a>RM3SR_SERIALIZED_ALWAYS</em> </td><td>
- <p>Do not compare against last sent value. Just send even if the data is the same as the last tick If the data is always changing anyway, or you want to send unreliably, this is a good method of serialization Can send unique data per connection if desired. If same data is sent to all connections, use RM3SR_SERIALIZED_ALWAYS_IDENTICALLY for even better performance Efficient for memory and speed, but not necessarily bandwidth </p>
- </td></tr>
- <tr><td valign="top"><em><a class="anchor" id="gga993da25eb23b67455e2438971c51429ca065bb061cfc67fc94c4ddc147cd9e525"></a>RM3SR_SERIALIZED_ALWAYS_IDENTICALLY</em> </td><td>
- <dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000004">Deprecated:</a></b></dt><dd>, use RM3SR_BROADCAST_IDENTICALLY_FORCE_SERIALIZATION </dd></dl>
- </td></tr>
- <tr><td valign="top"><em><a class="anchor" id="gga993da25eb23b67455e2438971c51429ca60f8e6fa13b204ae52d20844e00b2a36"></a>RM3SR_DO_NOT_SERIALIZE</em> </td><td>
- <p>Do not serialize this object this tick, for this connection. Will query again next autoserialize timer. </p>
- </td></tr>
- <tr><td valign="top"><em><a class="anchor" id="gga993da25eb23b67455e2438971c51429ca113936a2cd1690f9d2d3abfdf85d665c"></a>RM3SR_NEVER_SERIALIZE_FOR_THIS_CONNECTION</em> </td><td>
- <p>Never serialize this object for this connection Useful for objects that are downloaded, and never change again Efficient </p>
- </td></tr>
- <tr><td valign="top"><em><a class="anchor" id="gga993da25eb23b67455e2438971c51429cab220e8bd7e6c81016a4436c1767fc48d"></a>RM3SR_MAX</em> </td><td>
- <p>Max enum. </p>
- </td></tr>
- </table>
- </dd>
- </dl>
- </div>
- </div>
- </div><!-- contents -->
- <!-- start footer part -->
- <hr class="footer"/><address class="footer"><small>
- Generated on Mon Jun 2 2014 20:10:28 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>
|