classRakNet_1_1ConnectionGraph2.html 36 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
  5. <meta http-equiv="X-UA-Compatible" content="IE=9"/>
  6. <title>RakNet: RakNet::ConnectionGraph2 Class Reference</title>
  7. <link href="tabs.css" rel="stylesheet" type="text/css"/>
  8. <script type="text/javascript" src="jquery.js"></script>
  9. <script type="text/javascript" src="dynsections.js"></script>
  10. <link href="doxygen.css" rel="stylesheet" type="text/css" />
  11. </head>
  12. <body>
  13. <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
  14. <div id="titlearea">
  15. <table cellspacing="0" cellpadding="0">
  16. <tbody>
  17. <tr style="height: 56px;">
  18. <td style="padding-left: 0.5em;">
  19. <div id="projectname">RakNet
  20. &#160;<span id="projectnumber">4.0</span>
  21. </div>
  22. </td>
  23. </tr>
  24. </tbody>
  25. </table>
  26. </div>
  27. <!-- end header part -->
  28. <!-- Generated by Doxygen 1.8.2 -->
  29. <div id="navrow1" class="tabs">
  30. <ul class="tablist">
  31. <li><a href="index.html"><span>Main&#160;Page</span></a></li>
  32. <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
  33. <li><a href="modules.html"><span>Modules</span></a></li>
  34. <li><a href="namespaces.html"><span>Namespaces</span></a></li>
  35. <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
  36. <li><a href="files.html"><span>Files</span></a></li>
  37. </ul>
  38. </div>
  39. <div id="navrow2" class="tabs2">
  40. <ul class="tablist">
  41. <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
  42. <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
  43. <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
  44. <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
  45. </ul>
  46. </div>
  47. <div id="nav-path" class="navpath">
  48. <ul>
  49. <li class="navelem"><a class="el" href="namespaceRakNet.html">RakNet</a></li><li class="navelem"><a class="el" href="classRakNet_1_1ConnectionGraph2.html">ConnectionGraph2</a></li> </ul>
  50. </div>
  51. </div><!-- top -->
  52. <div class="header">
  53. <div class="summary">
  54. <a href="#pub-methods">Public Member Functions</a> &#124;
  55. <a href="#pro-methods">Protected Member Functions</a> &#124;
  56. <a href="classRakNet_1_1ConnectionGraph2-members.html">List of all members</a> </div>
  57. <div class="headertitle">
  58. <div class="title">RakNet::ConnectionGraph2 Class Reference</div> </div>
  59. </div><!--header-->
  60. <div class="contents">
  61. <p>A one hop connection graph.
  62. <a href="classRakNet_1_1ConnectionGraph2.html#details">More...</a></p>
  63. <p><code>#include &lt;ConnectionGraph2.h&gt;</code></p>
  64. <div class="dynheader">
  65. Inheritance diagram for RakNet::ConnectionGraph2:</div>
  66. <div class="dyncontent">
  67. <div class="center">
  68. <img src="classRakNet_1_1ConnectionGraph2.png" usemap="#RakNet::ConnectionGraph2_map" alt=""/>
  69. <map id="RakNet::ConnectionGraph2_map" name="RakNet::ConnectionGraph2_map">
  70. <area href="classRakNet_1_1PluginInterface2.html" alt="RakNet::PluginInterface2" shape="rect" coords="0,0,164,24"/>
  71. </map>
  72. </div></div>
  73. <table class="memberdecls">
  74. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
  75. Public Member Functions</h2></td></tr>
  76. <tr class="memitem:a4806ed13f28469618cffbff3bf3459a1"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1ConnectionGraph2.html#a4806ed13f28469618cffbff3bf3459a1">GetConnectionListForRemoteSystem</a> (<a class="el" href="structRakNet_1_1RakNetGUID.html">RakNetGUID</a> remoteSystemGuid, <a class="el" href="structRakNet_1_1SystemAddress.html">SystemAddress</a> *saOut, <a class="el" href="structRakNet_1_1RakNetGUID.html">RakNetGUID</a> *guidOut, unsigned int *outLength)</td></tr>
  77. <tr class="memdesc:a4806ed13f28469618cffbff3bf3459a1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Given a remote system identified by <a class="el" href="structRakNet_1_1RakNetGUID.html">RakNetGUID</a>, return the list of SystemAddresses and RakNetGUIDs they are connected to. <a href="#a4806ed13f28469618cffbff3bf3459a1"></a><br/></td></tr>
  78. <tr class="separator:a4806ed13f28469618cffbff3bf3459a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
  79. <tr class="memitem:a19de5fac28b1ae358999e0d9789385ac"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a19de5fac28b1ae358999e0d9789385ac"></a>
  80. bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1ConnectionGraph2.html#a19de5fac28b1ae358999e0d9789385ac">ConnectionExists</a> (<a class="el" href="structRakNet_1_1RakNetGUID.html">RakNetGUID</a> g1, <a class="el" href="structRakNet_1_1RakNetGUID.html">RakNetGUID</a> g2)</td></tr>
  81. <tr class="memdesc:a19de5fac28b1ae358999e0d9789385ac"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns if g1 is connected to g2. <br/></td></tr>
  82. <tr class="separator:a19de5fac28b1ae358999e0d9789385ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
  83. <tr class="memitem:a51aa05cce39f5d2788907276e5fb7bc4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a51aa05cce39f5d2788907276e5fb7bc4"></a>
  84. uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1ConnectionGraph2.html#a51aa05cce39f5d2788907276e5fb7bc4">GetPingBetweenSystems</a> (<a class="el" href="structRakNet_1_1RakNetGUID.html">RakNetGUID</a> g1, <a class="el" href="structRakNet_1_1RakNetGUID.html">RakNetGUID</a> g2) const </td></tr>
  85. <tr class="memdesc:a51aa05cce39f5d2788907276e5fb7bc4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the average ping between two systems in the connection graph. Returns -1 if no connection exists between those systems. <br/></td></tr>
  86. <tr class="separator:a51aa05cce39f5d2788907276e5fb7bc4"><td class="memSeparator" colspan="2">&#160;</td></tr>
  87. <tr class="memitem:a08103e2820bb625f791a8d12c774698f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structRakNet_1_1RakNetGUID.html">RakNetGUID</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1ConnectionGraph2.html#a08103e2820bb625f791a8d12c774698f">GetLowestAveragePingSystem</a> (void) const </td></tr>
  88. <tr class="separator:a08103e2820bb625f791a8d12c774698f"><td class="memSeparator" colspan="2">&#160;</td></tr>
  89. <tr class="memitem:ac9dca829641bf0f83ac829409afe4cc5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1ConnectionGraph2.html#ac9dca829641bf0f83ac829409afe4cc5">SetAutoProcessNewConnections</a> (bool b)</td></tr>
  90. <tr class="memdesc:ac9dca829641bf0f83ac829409afe4cc5"><td class="mdescLeft">&#160;</td><td class="mdescRight">If called with false, then new connections are only added to the connection graph when you call ProcessNewConnection();. <a href="#ac9dca829641bf0f83ac829409afe4cc5"></a><br/></td></tr>
  91. <tr class="separator:ac9dca829641bf0f83ac829409afe4cc5"><td class="memSeparator" colspan="2">&#160;</td></tr>
  92. <tr class="memitem:a09f51bf45db6b4fd02a191eff1dec894"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1ConnectionGraph2.html#a09f51bf45db6b4fd02a191eff1dec894">GetAutoProcessNewConnections</a> (void) const </td></tr>
  93. <tr class="memdesc:a09f51bf45db6b4fd02a191eff1dec894"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns value passed to <a class="el" href="classRakNet_1_1ConnectionGraph2.html#ac9dca829641bf0f83ac829409afe4cc5" title="If called with false, then new connections are only added to the connection graph when you call Proce...">SetAutoProcessNewConnections()</a> <a href="#a09f51bf45db6b4fd02a191eff1dec894"></a><br/></td></tr>
  94. <tr class="separator:a09f51bf45db6b4fd02a191eff1dec894"><td class="memSeparator" colspan="2">&#160;</td></tr>
  95. <tr class="memitem:a45f7d21038030a9fec3aa7e50f46b8ff"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1ConnectionGraph2.html#a45f7d21038030a9fec3aa7e50f46b8ff">AddParticipant</a> (const <a class="el" href="structRakNet_1_1SystemAddress.html">SystemAddress</a> &amp;systemAddress, <a class="el" href="structRakNet_1_1RakNetGUID.html">RakNetGUID</a> rakNetGUID)</td></tr>
  96. <tr class="memdesc:a45f7d21038030a9fec3aa7e50f46b8ff"><td class="mdescLeft">&#160;</td><td class="mdescRight">If you call SetAutoProcessNewConnections(false);, then you will need to manually call ProcessNewConnection() on new connections. <a href="#a45f7d21038030a9fec3aa7e50f46b8ff"></a><br/></td></tr>
  97. <tr class="separator:a45f7d21038030a9fec3aa7e50f46b8ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
  98. <tr class="memitem:a3ab46435da8f6dc2c392d9b47bae7ef7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1ConnectionGraph2.html#a3ab46435da8f6dc2c392d9b47bae7ef7">GetParticipantList</a> (<a class="el" href="classDataStructures_1_1OrderedList.html">DataStructures::OrderedList</a>&lt; <a class="el" href="structRakNet_1_1RakNetGUID.html">RakNetGUID</a>, <a class="el" href="structRakNet_1_1RakNetGUID.html">RakNetGUID</a> &gt; &amp;participantList)</td></tr>
  99. <tr class="separator:a3ab46435da8f6dc2c392d9b47bae7ef7"><td class="memSeparator" colspan="2">&#160;</td></tr>
  100. <tr class="inherit_header pub_methods_classRakNet_1_1PluginInterface2"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classRakNet_1_1PluginInterface2')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classRakNet_1_1PluginInterface2.html">RakNet::PluginInterface2</a></td></tr>
  101. <tr class="memitem:a550529f3753c4acf22c3b5c3e203552c inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a550529f3753c4acf22c3b5c3e203552c"></a>
  102. virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1PluginInterface2.html#a550529f3753c4acf22c3b5c3e203552c">OnAttach</a> (void)</td></tr>
  103. <tr class="memdesc:a550529f3753c4acf22c3b5c3e203552c inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Called when the interface is attached. <br/></td></tr>
  104. <tr class="separator:a550529f3753c4acf22c3b5c3e203552c inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memSeparator" colspan="2">&#160;</td></tr>
  105. <tr class="memitem:a73d686ffe9a04a74e5a0ce78422c60f2 inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a73d686ffe9a04a74e5a0ce78422c60f2"></a>
  106. virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1PluginInterface2.html#a73d686ffe9a04a74e5a0ce78422c60f2">OnDetach</a> (void)</td></tr>
  107. <tr class="memdesc:a73d686ffe9a04a74e5a0ce78422c60f2 inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Called when the interface is detached. <br/></td></tr>
  108. <tr class="separator:a73d686ffe9a04a74e5a0ce78422c60f2 inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memSeparator" colspan="2">&#160;</td></tr>
  109. <tr class="memitem:a9587824d39ac045173442dbbc32051da inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9587824d39ac045173442dbbc32051da"></a>
  110. virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1PluginInterface2.html#a9587824d39ac045173442dbbc32051da">Update</a> (void)</td></tr>
  111. <tr class="memdesc:a9587824d39ac045173442dbbc32051da inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Update is called every time a packet is checked for . <br/></td></tr>
  112. <tr class="separator:a9587824d39ac045173442dbbc32051da inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memSeparator" colspan="2">&#160;</td></tr>
  113. <tr class="memitem:a14825e69f0560996327e4dd351842c06 inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a14825e69f0560996327e4dd351842c06"></a>
  114. virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1PluginInterface2.html#a14825e69f0560996327e4dd351842c06">OnRakPeerStartup</a> (void)</td></tr>
  115. <tr class="memdesc:a14825e69f0560996327e4dd351842c06 inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Called when <a class="el" href="classRakNet_1_1RakPeer.html" title="Main interface for network communications.">RakPeer</a> is initialized. <br/></td></tr>
  116. <tr class="separator:a14825e69f0560996327e4dd351842c06 inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memSeparator" colspan="2">&#160;</td></tr>
  117. <tr class="memitem:a37c873a1879871722e06acfc45923883 inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a37c873a1879871722e06acfc45923883"></a>
  118. virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1PluginInterface2.html#a37c873a1879871722e06acfc45923883">OnRakPeerShutdown</a> (void)</td></tr>
  119. <tr class="memdesc:a37c873a1879871722e06acfc45923883 inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Called when <a class="el" href="classRakNet_1_1RakPeer.html" title="Main interface for network communications.">RakPeer</a> is shutdown. <br/></td></tr>
  120. <tr class="separator:a37c873a1879871722e06acfc45923883 inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memSeparator" colspan="2">&#160;</td></tr>
  121. <tr class="memitem:a9504489498df14b6efa5ca9bd39aede4 inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1PluginInterface2.html#a9504489498df14b6efa5ca9bd39aede4">OnFailedConnectionAttempt</a> (<a class="el" href="structRakNet_1_1Packet.html">Packet</a> *packet, <a class="el" href="group__PLUGIN__INTERFACE__GROUP.html#ga3e92f686bace869b78c10508c58e0825">PI2_FailedConnectionAttemptReason</a> failedConnectionAttemptReason)</td></tr>
  122. <tr class="separator:a9504489498df14b6efa5ca9bd39aede4 inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memSeparator" colspan="2">&#160;</td></tr>
  123. <tr class="memitem:accfca7d25262c48a87a30114383284aa inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1PluginInterface2.html#accfca7d25262c48a87a30114383284aa">UsesReliabilityLayer</a> (void) const </td></tr>
  124. <tr class="separator:accfca7d25262c48a87a30114383284aa inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memSeparator" colspan="2">&#160;</td></tr>
  125. <tr class="memitem:a7a6f69c6fc3a121e3676298a63a9ef78 inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1PluginInterface2.html#a7a6f69c6fc3a121e3676298a63a9ef78">OnDirectSocketSend</a> (const char *data, const BitSize_t bitsUsed, <a class="el" href="structRakNet_1_1SystemAddress.html">SystemAddress</a> remoteSystemAddress)</td></tr>
  126. <tr class="separator:a7a6f69c6fc3a121e3676298a63a9ef78 inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memSeparator" colspan="2">&#160;</td></tr>
  127. <tr class="memitem:a9aac1101ad58e8443516588e96e066ec inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1PluginInterface2.html#a9aac1101ad58e8443516588e96e066ec">OnDirectSocketReceive</a> (const char *data, const BitSize_t bitsUsed, <a class="el" href="structRakNet_1_1SystemAddress.html">SystemAddress</a> remoteSystemAddress)</td></tr>
  128. <tr class="separator:a9aac1101ad58e8443516588e96e066ec inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memSeparator" colspan="2">&#160;</td></tr>
  129. <tr class="memitem:abf51e60546bd74d21c91dc0d6f9f3a4b inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1PluginInterface2.html#abf51e60546bd74d21c91dc0d6f9f3a4b">OnReliabilityLayerNotification</a> (const char *errorMessage, const BitSize_t bitsUsed, <a class="el" href="structRakNet_1_1SystemAddress.html">SystemAddress</a> remoteSystemAddress, bool isError)</td></tr>
  130. <tr class="separator:abf51e60546bd74d21c91dc0d6f9f3a4b inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memSeparator" colspan="2">&#160;</td></tr>
  131. <tr class="memitem:a399b8c93daa0236599961e754742e2f7 inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1PluginInterface2.html#a399b8c93daa0236599961e754742e2f7">OnInternalPacket</a> (<a class="el" href="structRakNet_1_1InternalPacket.html">InternalPacket</a> *internalPacket, unsigned frameNumber, <a class="el" href="structRakNet_1_1SystemAddress.html">SystemAddress</a> remoteSystemAddress, RakNet::TimeMS time, int isSend)</td></tr>
  132. <tr class="separator:a399b8c93daa0236599961e754742e2f7 inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memSeparator" colspan="2">&#160;</td></tr>
  133. <tr class="memitem:ae0b0cad31cfc209c48197c77d6b46345 inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1PluginInterface2.html#ae0b0cad31cfc209c48197c77d6b46345">OnAck</a> (unsigned int messageNumber, <a class="el" href="structRakNet_1_1SystemAddress.html">SystemAddress</a> remoteSystemAddress, RakNet::TimeMS time)</td></tr>
  134. <tr class="separator:ae0b0cad31cfc209c48197c77d6b46345 inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memSeparator" colspan="2">&#160;</td></tr>
  135. <tr class="memitem:a5c976aea56ed85055a17c19d91b90727 inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1PluginInterface2.html#a5c976aea56ed85055a17c19d91b90727">OnPushBackPacket</a> (const char *data, const BitSize_t bitsUsed, <a class="el" href="structRakNet_1_1SystemAddress.html">SystemAddress</a> remoteSystemAddress)</td></tr>
  136. <tr class="separator:a5c976aea56ed85055a17c19d91b90727 inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memSeparator" colspan="2">&#160;</td></tr>
  137. </table><table class="memberdecls">
  138. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
  139. Protected Member Functions</h2></td></tr>
  140. <tr class="memitem:a33dcad1914b524d483d69f3b9633dd36"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1ConnectionGraph2.html#a33dcad1914b524d483d69f3b9633dd36">OnClosedConnection</a> (const <a class="el" href="structRakNet_1_1SystemAddress.html">SystemAddress</a> &amp;systemAddress, <a class="el" href="structRakNet_1_1RakNetGUID.html">RakNetGUID</a> rakNetGUID, <a class="el" href="group__PLUGIN__INTERFACE__GROUP.html#ga376cc546fd6892c2ead48cd51796c8b8">PI2_LostConnectionReason</a> lostConnectionReason)</td></tr>
  141. <tr class="separator:a33dcad1914b524d483d69f3b9633dd36"><td class="memSeparator" colspan="2">&#160;</td></tr>
  142. <tr class="memitem:a5fc7c446326e17cbccfba7f37ce2b42d"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1ConnectionGraph2.html#a5fc7c446326e17cbccfba7f37ce2b42d">OnNewConnection</a> (const <a class="el" href="structRakNet_1_1SystemAddress.html">SystemAddress</a> &amp;systemAddress, <a class="el" href="structRakNet_1_1RakNetGUID.html">RakNetGUID</a> rakNetGUID, bool isIncoming)</td></tr>
  143. <tr class="separator:a5fc7c446326e17cbccfba7f37ce2b42d"><td class="memSeparator" colspan="2">&#160;</td></tr>
  144. <tr class="memitem:a952ce38786f2156945d5af7797ff70e8"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="group__PLUGIN__INTERFACE__GROUP.html#ga89998adaafb29e5d879113b992161085">PluginReceiveResult</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1ConnectionGraph2.html#a952ce38786f2156945d5af7797ff70e8">OnReceive</a> (<a class="el" href="structRakNet_1_1Packet.html">Packet</a> *packet)</td></tr>
  145. <tr class="separator:a952ce38786f2156945d5af7797ff70e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
  146. </table>
  147. <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
  148. <div class="textblock"><p>A one hop connection graph. </p>
  149. <p>Sends ID_REMOTE_CONNECTION_LOST, ID_REMOTE_DISCONNECTION_NOTIFICATION, ID_REMOTE_NEW_INCOMING_CONNECTION<br/>
  150. All identifiers are followed by <a class="el" href="structRakNet_1_1SystemAddress.html" title="Network address for a system.">SystemAddress</a>, then <a class="el" href="structRakNet_1_1RakNetGUID.html">RakNetGUID</a> Also stores the list for you, which you can access with GetConnectionListForRemoteSystem </p>
  151. </div><h2 class="groupheader">Member Function Documentation</h2>
  152. <a class="anchor" id="a45f7d21038030a9fec3aa7e50f46b8ff"></a>
  153. <div class="memitem">
  154. <div class="memproto">
  155. <table class="memname">
  156. <tr>
  157. <td class="memname">void RakNet::ConnectionGraph2::AddParticipant </td>
  158. <td>(</td>
  159. <td class="paramtype">const <a class="el" href="structRakNet_1_1SystemAddress.html">SystemAddress</a> &amp;&#160;</td>
  160. <td class="paramname"><em>systemAddress</em>, </td>
  161. </tr>
  162. <tr>
  163. <td class="paramkey"></td>
  164. <td></td>
  165. <td class="paramtype"><a class="el" href="structRakNet_1_1RakNetGUID.html">RakNetGUID</a>&#160;</td>
  166. <td class="paramname"><em>rakNetGUID</em>&#160;</td>
  167. </tr>
  168. <tr>
  169. <td></td>
  170. <td>)</td>
  171. <td></td><td></td>
  172. </tr>
  173. </table>
  174. </div><div class="memdoc">
  175. <p>If you call SetAutoProcessNewConnections(false);, then you will need to manually call ProcessNewConnection() on new connections. </p>
  176. <p>On ID_NEW_INCOMING_CONNECTION or ID_CONNECTION_REQUEST_ACCEPTED, adds that system to the graph Do not call ProcessNewConnection() manually otherwise </p>
  177. <dl class="params"><dt>Parameters</dt><dd>
  178. <table class="params">
  179. <tr><td class="paramdir">[in]</td><td class="paramname">The</td><td>packet-&gt;<a class="el" href="structRakNet_1_1SystemAddress.html" title="Network address for a system.">SystemAddress</a> member </td></tr>
  180. <tr><td class="paramdir">[in]</td><td class="paramname">The</td><td>packet-&gt;guid member </td></tr>
  181. </table>
  182. </dd>
  183. </dl>
  184. </div>
  185. </div>
  186. <a class="anchor" id="a09f51bf45db6b4fd02a191eff1dec894"></a>
  187. <div class="memitem">
  188. <div class="memproto">
  189. <table class="memname">
  190. <tr>
  191. <td class="memname">bool RakNet::ConnectionGraph2::GetAutoProcessNewConnections </td>
  192. <td>(</td>
  193. <td class="paramtype">void&#160;</td>
  194. <td class="paramname"></td><td>)</td>
  195. <td> const</td>
  196. </tr>
  197. </table>
  198. </div><div class="memdoc">
  199. <p>Returns value passed to <a class="el" href="classRakNet_1_1ConnectionGraph2.html#ac9dca829641bf0f83ac829409afe4cc5" title="If called with false, then new connections are only added to the connection graph when you call Proce...">SetAutoProcessNewConnections()</a> </p>
  200. <dl class="section return"><dt>Returns</dt><dd>Value passed to <a class="el" href="classRakNet_1_1ConnectionGraph2.html#ac9dca829641bf0f83ac829409afe4cc5" title="If called with false, then new connections are only added to the connection graph when you call Proce...">SetAutoProcessNewConnections()</a>, or the default of true if it was never called </dd></dl>
  201. </div>
  202. </div>
  203. <a class="anchor" id="a4806ed13f28469618cffbff3bf3459a1"></a>
  204. <div class="memitem">
  205. <div class="memproto">
  206. <table class="memname">
  207. <tr>
  208. <td class="memname">bool RakNet::ConnectionGraph2::GetConnectionListForRemoteSystem </td>
  209. <td>(</td>
  210. <td class="paramtype"><a class="el" href="structRakNet_1_1RakNetGUID.html">RakNetGUID</a>&#160;</td>
  211. <td class="paramname"><em>remoteSystemGuid</em>, </td>
  212. </tr>
  213. <tr>
  214. <td class="paramkey"></td>
  215. <td></td>
  216. <td class="paramtype"><a class="el" href="structRakNet_1_1SystemAddress.html">SystemAddress</a> *&#160;</td>
  217. <td class="paramname"><em>saOut</em>, </td>
  218. </tr>
  219. <tr>
  220. <td class="paramkey"></td>
  221. <td></td>
  222. <td class="paramtype"><a class="el" href="structRakNet_1_1RakNetGUID.html">RakNetGUID</a> *&#160;</td>
  223. <td class="paramname"><em>guidOut</em>, </td>
  224. </tr>
  225. <tr>
  226. <td class="paramkey"></td>
  227. <td></td>
  228. <td class="paramtype">unsigned int *&#160;</td>
  229. <td class="paramname"><em>outLength</em>&#160;</td>
  230. </tr>
  231. <tr>
  232. <td></td>
  233. <td>)</td>
  234. <td></td><td></td>
  235. </tr>
  236. </table>
  237. </div><div class="memdoc">
  238. <p>Given a remote system identified by <a class="el" href="structRakNet_1_1RakNetGUID.html">RakNetGUID</a>, return the list of SystemAddresses and RakNetGUIDs they are connected to. </p>
  239. <dl class="params"><dt>Parameters</dt><dd>
  240. <table class="params">
  241. <tr><td class="paramdir">[in]</td><td class="paramname">remoteSystemGuid</td><td>Which system we are referring to. This only works for remote systems, not ourselves. </td></tr>
  242. <tr><td class="paramdir">[out]</td><td class="paramname">saOut</td><td>A preallocated array to hold the output list of <a class="el" href="structRakNet_1_1SystemAddress.html" title="Network address for a system.">SystemAddress</a>. Can be 0 if you don't care. </td></tr>
  243. <tr><td class="paramdir">[out]</td><td class="paramname">guidOut</td><td>A preallocated array to hold the output list of <a class="el" href="structRakNet_1_1RakNetGUID.html">RakNetGUID</a>. Can be 0 if you don't care. </td></tr>
  244. <tr><td class="paramdir">[in,out]</td><td class="paramname">outLength</td><td>On input, the size of <em>saOut</em> and <em>guidOut</em>. On output, modified to reflect the number of elements actually written </td></tr>
  245. </table>
  246. </dd>
  247. </dl>
  248. <dl class="section return"><dt>Returns</dt><dd>True if <em>remoteSystemGuid</em> was found. Otherwise false, and <em>saOut</em>, <em>guidOut</em> remain unchanged. <em>outLength</em> will be set to 0. </dd></dl>
  249. </div>
  250. </div>
  251. <a class="anchor" id="a08103e2820bb625f791a8d12c774698f"></a>
  252. <div class="memitem">
  253. <div class="memproto">
  254. <table class="memname">
  255. <tr>
  256. <td class="memname"><a class="el" href="structRakNet_1_1RakNetGUID.html">RakNetGUID</a> RakNet::ConnectionGraph2::GetLowestAveragePingSystem </td>
  257. <td>(</td>
  258. <td class="paramtype">void&#160;</td>
  259. <td class="paramname"></td><td>)</td>
  260. <td> const</td>
  261. </tr>
  262. </table>
  263. </div><div class="memdoc">
  264. <p>Returns the system with the lowest average ping among all its connections. If you need one system in the peer to peer group to relay data, have the FullyConnectedMesh2 host call this function after host migration, and use that system </p>
  265. </div>
  266. </div>
  267. <a class="anchor" id="a3ab46435da8f6dc2c392d9b47bae7ef7"></a>
  268. <div class="memitem">
  269. <div class="memproto">
  270. <table class="memname">
  271. <tr>
  272. <td class="memname">void RakNet::ConnectionGraph2::GetParticipantList </td>
  273. <td>(</td>
  274. <td class="paramtype"><a class="el" href="classDataStructures_1_1OrderedList.html">DataStructures::OrderedList</a>&lt; <a class="el" href="structRakNet_1_1RakNetGUID.html">RakNetGUID</a>, <a class="el" href="structRakNet_1_1RakNetGUID.html">RakNetGUID</a> &gt; &amp;&#160;</td>
  275. <td class="paramname"><em>participantList</em></td><td>)</td>
  276. <td></td>
  277. </tr>
  278. </table>
  279. </div><div class="memdoc">
  280. <p>Get the participants added with <a class="el" href="classRakNet_1_1ConnectionGraph2.html#a45f7d21038030a9fec3aa7e50f46b8ff" title="If you call SetAutoProcessNewConnections(false);, then you will need to manually call ProcessNewConne...">AddParticipant()</a> </p>
  281. <dl class="params"><dt>Parameters</dt><dd>
  282. <table class="params">
  283. <tr><td class="paramdir">[out]</td><td class="paramname">participantList</td><td>Participants added with <a class="el" href="classRakNet_1_1ConnectionGraph2.html#a45f7d21038030a9fec3aa7e50f46b8ff" title="If you call SetAutoProcessNewConnections(false);, then you will need to manually call ProcessNewConne...">AddParticipant()</a>; </td></tr>
  284. </table>
  285. </dd>
  286. </dl>
  287. </div>
  288. </div>
  289. <a class="anchor" id="a33dcad1914b524d483d69f3b9633dd36"></a>
  290. <div class="memitem">
  291. <div class="memproto">
  292. <table class="mlabels">
  293. <tr>
  294. <td class="mlabels-left">
  295. <table class="memname">
  296. <tr>
  297. <td class="memname">virtual void RakNet::ConnectionGraph2::OnClosedConnection </td>
  298. <td>(</td>
  299. <td class="paramtype">const <a class="el" href="structRakNet_1_1SystemAddress.html">SystemAddress</a> &amp;&#160;</td>
  300. <td class="paramname"><em>systemAddress</em>, </td>
  301. </tr>
  302. <tr>
  303. <td class="paramkey"></td>
  304. <td></td>
  305. <td class="paramtype"><a class="el" href="structRakNet_1_1RakNetGUID.html">RakNetGUID</a>&#160;</td>
  306. <td class="paramname"><em>rakNetGUID</em>, </td>
  307. </tr>
  308. <tr>
  309. <td class="paramkey"></td>
  310. <td></td>
  311. <td class="paramtype"><a class="el" href="group__PLUGIN__INTERFACE__GROUP.html#ga376cc546fd6892c2ead48cd51796c8b8">PI2_LostConnectionReason</a>&#160;</td>
  312. <td class="paramname"><em>lostConnectionReason</em>&#160;</td>
  313. </tr>
  314. <tr>
  315. <td></td>
  316. <td>)</td>
  317. <td></td><td></td>
  318. </tr>
  319. </table>
  320. </td>
  321. <td class="mlabels-right">
  322. <span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span> </td>
  323. </tr>
  324. </table>
  325. </div><div class="memdoc">
  326. <p>Called when a connection is dropped because the user called <a class="el" href="classRakNet_1_1RakPeer.html#a95e3806fce8552e322236abcf105cbf9" title="Close the connection to another host (if we initiated the connection it will disconnect, if they did it will kick them out).">RakPeer::CloseConnection()</a> for a particular system </p>
  327. <dl class="params"><dt>Parameters</dt><dd>
  328. <table class="params">
  329. <tr><td class="paramdir">[in]</td><td class="paramname">systemAddress</td><td>The system whose connection was closed </td></tr>
  330. <tr><td class="paramdir">[in]</td><td class="paramname">rakNetGuid</td><td>The guid of the specified system </td></tr>
  331. <tr><td class="paramdir">[in]</td><td class="paramname">lostConnectionReason</td><td>How the connection was closed: manually, connection lost, or notification of disconnection </td></tr>
  332. </table>
  333. </dd>
  334. </dl>
  335. <p>Reimplemented from <a class="el" href="classRakNet_1_1PluginInterface2.html#a80c7612ca1a5dcfeec0b52d8049a71ea">RakNet::PluginInterface2</a>.</p>
  336. </div>
  337. </div>
  338. <a class="anchor" id="a5fc7c446326e17cbccfba7f37ce2b42d"></a>
  339. <div class="memitem">
  340. <div class="memproto">
  341. <table class="mlabels">
  342. <tr>
  343. <td class="mlabels-left">
  344. <table class="memname">
  345. <tr>
  346. <td class="memname">virtual void RakNet::ConnectionGraph2::OnNewConnection </td>
  347. <td>(</td>
  348. <td class="paramtype">const <a class="el" href="structRakNet_1_1SystemAddress.html">SystemAddress</a> &amp;&#160;</td>
  349. <td class="paramname"><em>systemAddress</em>, </td>
  350. </tr>
  351. <tr>
  352. <td class="paramkey"></td>
  353. <td></td>
  354. <td class="paramtype"><a class="el" href="structRakNet_1_1RakNetGUID.html">RakNetGUID</a>&#160;</td>
  355. <td class="paramname"><em>rakNetGUID</em>, </td>
  356. </tr>
  357. <tr>
  358. <td class="paramkey"></td>
  359. <td></td>
  360. <td class="paramtype">bool&#160;</td>
  361. <td class="paramname"><em>isIncoming</em>&#160;</td>
  362. </tr>
  363. <tr>
  364. <td></td>
  365. <td>)</td>
  366. <td></td><td></td>
  367. </tr>
  368. </table>
  369. </td>
  370. <td class="mlabels-right">
  371. <span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span> </td>
  372. </tr>
  373. </table>
  374. </div><div class="memdoc">
  375. <p>Called when we got a new connection </p>
  376. <dl class="params"><dt>Parameters</dt><dd>
  377. <table class="params">
  378. <tr><td class="paramdir">[in]</td><td class="paramname">systemAddress</td><td>Address of the new connection </td></tr>
  379. <tr><td class="paramdir">[in]</td><td class="paramname">rakNetGuid</td><td>The guid of the specified system </td></tr>
  380. <tr><td class="paramdir">[in]</td><td class="paramname">isIncoming</td><td>If true, this is ID_NEW_INCOMING_CONNECTION, or the equivalent </td></tr>
  381. </table>
  382. </dd>
  383. </dl>
  384. <p>Reimplemented from <a class="el" href="classRakNet_1_1PluginInterface2.html#abf13327cc10f772ba06dff8f2687f8ae">RakNet::PluginInterface2</a>.</p>
  385. </div>
  386. </div>
  387. <a class="anchor" id="a952ce38786f2156945d5af7797ff70e8"></a>
  388. <div class="memitem">
  389. <div class="memproto">
  390. <table class="mlabels">
  391. <tr>
  392. <td class="mlabels-left">
  393. <table class="memname">
  394. <tr>
  395. <td class="memname">virtual <a class="el" href="group__PLUGIN__INTERFACE__GROUP.html#ga89998adaafb29e5d879113b992161085">PluginReceiveResult</a> RakNet::ConnectionGraph2::OnReceive </td>
  396. <td>(</td>
  397. <td class="paramtype"><a class="el" href="structRakNet_1_1Packet.html">Packet</a> *&#160;</td>
  398. <td class="paramname"><em>packet</em></td><td>)</td>
  399. <td></td>
  400. </tr>
  401. </table>
  402. </td>
  403. <td class="mlabels-right">
  404. <span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span> </td>
  405. </tr>
  406. </table>
  407. </div><div class="memdoc">
  408. <p>OnReceive is called for every packet. </p>
  409. <dl class="params"><dt>Parameters</dt><dd>
  410. <table class="params">
  411. <tr><td class="paramdir">[in]</td><td class="paramname">packet</td><td>the packet that is being returned to the user </td></tr>
  412. </table>
  413. </dd>
  414. </dl>
  415. <dl class="section return"><dt>Returns</dt><dd>True to allow the game and other plugins to get this message, false to absorb it </dd></dl>
  416. <p>Reimplemented from <a class="el" href="classRakNet_1_1PluginInterface2.html#aa86f33263c1648f11b8a006469272639">RakNet::PluginInterface2</a>.</p>
  417. </div>
  418. </div>
  419. <a class="anchor" id="ac9dca829641bf0f83ac829409afe4cc5"></a>
  420. <div class="memitem">
  421. <div class="memproto">
  422. <table class="memname">
  423. <tr>
  424. <td class="memname">void RakNet::ConnectionGraph2::SetAutoProcessNewConnections </td>
  425. <td>(</td>
  426. <td class="paramtype">bool&#160;</td>
  427. <td class="paramname"><em>b</em></td><td>)</td>
  428. <td></td>
  429. </tr>
  430. </table>
  431. </div><div class="memdoc">
  432. <p>If called with false, then new connections are only added to the connection graph when you call ProcessNewConnection();. </p>
  433. <p>This is useful if you want to perform validation before connecting a system to a mesh, or if you want a submesh (for example a server cloud) </p>
  434. <dl class="params"><dt>Parameters</dt><dd>
  435. <table class="params">
  436. <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>True to automatically call ProcessNewConnection() on any new connection, false to not do so. Defaults to true. </td></tr>
  437. </table>
  438. </dd>
  439. </dl>
  440. </div>
  441. </div>
  442. <hr/>The documentation for this class was generated from the following file:<ul>
  443. <li>D:/temp/RakNet_PC/Source/<a class="el" href="ConnectionGraph2_8h.html">ConnectionGraph2.h</a></li>
  444. </ul>
  445. </div><!-- contents -->
  446. <!-- start footer part -->
  447. <hr class="footer"/><address class="footer"><small>
  448. Generated on Mon Jun 2 2014 20:10:28 for RakNet by &#160;<a href="http://www.doxygen.org/index.html">
  449. <img class="footer" src="doxygen.png" alt="doxygen"/>
  450. </a> 1.8.2
  451. </small></address>
  452. </body>
  453. </html>
粤ICP备19079148号