classRakNet_1_1ReadyEvent.html 47 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702
  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::ReadyEvent 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_1ReadyEvent.html">ReadyEvent</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_1ReadyEvent-members.html">List of all members</a> </div>
  57. <div class="headertitle">
  58. <div class="title">RakNet::ReadyEvent Class Reference<div class="ingroups"><a class="el" href="group__READY__EVENT__GROUP.html">ReadyEvent</a></div></div> </div>
  59. </div><!--header-->
  60. <div class="contents">
  61. <p>Peer to peer synchronized ready and unready events.
  62. <a href="classRakNet_1_1ReadyEvent.html#details">More...</a></p>
  63. <p><code>#include &lt;ReadyEvent.h&gt;</code></p>
  64. <div class="dynheader">
  65. Inheritance diagram for RakNet::ReadyEvent:</div>
  66. <div class="dyncontent">
  67. <div class="center">
  68. <img src="classRakNet_1_1ReadyEvent.png" usemap="#RakNet::ReadyEvent_map" alt=""/>
  69. <map id="RakNet::ReadyEvent_map" name="RakNet::ReadyEvent_map">
  70. <area href="classRakNet_1_1PluginInterface2.html" alt="RakNet::PluginInterface2" shape="rect" coords="0,0,150,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:af7caed0bdee19e21bdd91ff34ff73b31"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1ReadyEvent.html#af7caed0bdee19e21bdd91ff34ff73b31">SetEvent</a> (int eventId, bool isReady)</td></tr>
  77. <tr class="separator:af7caed0bdee19e21bdd91ff34ff73b31"><td class="memSeparator" colspan="2">&#160;</td></tr>
  78. <tr class="memitem:abc3c01527d0faf6b47e43ce0e3a0159c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1ReadyEvent.html#abc3c01527d0faf6b47e43ce0e3a0159c">ForceCompletion</a> (int eventId)</td></tr>
  79. <tr class="separator:abc3c01527d0faf6b47e43ce0e3a0159c"><td class="memSeparator" colspan="2">&#160;</td></tr>
  80. <tr class="memitem:ab8b4e32689f5c54d0ce7c6deed2eb7e6"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1ReadyEvent.html#ab8b4e32689f5c54d0ce7c6deed2eb7e6">DeleteEvent</a> (int eventId)</td></tr>
  81. <tr class="separator:ab8b4e32689f5c54d0ce7c6deed2eb7e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
  82. <tr class="memitem:a3e316ae7568001e5c2d9624f156a2ee8"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1ReadyEvent.html#a3e316ae7568001e5c2d9624f156a2ee8">IsEventSet</a> (int eventId)</td></tr>
  83. <tr class="separator:a3e316ae7568001e5c2d9624f156a2ee8"><td class="memSeparator" colspan="2">&#160;</td></tr>
  84. <tr class="memitem:a90747ab26a89d426317dfa1d4f414fde"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1ReadyEvent.html#a90747ab26a89d426317dfa1d4f414fde">IsEventCompletionProcessing</a> (int eventId) const </td></tr>
  85. <tr class="separator:a90747ab26a89d426317dfa1d4f414fde"><td class="memSeparator" colspan="2">&#160;</td></tr>
  86. <tr class="memitem:a8c4600be8271b798ea0158cef9261462"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1ReadyEvent.html#a8c4600be8271b798ea0158cef9261462">IsEventCompleted</a> (int eventId) const </td></tr>
  87. <tr class="separator:a8c4600be8271b798ea0158cef9261462"><td class="memSeparator" colspan="2">&#160;</td></tr>
  88. <tr class="memitem:ad10f179c0565882651ca2bde5bf50a45"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1ReadyEvent.html#ad10f179c0565882651ca2bde5bf50a45">HasEvent</a> (int eventId)</td></tr>
  89. <tr class="separator:ad10f179c0565882651ca2bde5bf50a45"><td class="memSeparator" colspan="2">&#160;</td></tr>
  90. <tr class="memitem:ad56242dec80dd75f05c1eb96458e0bf8"><td class="memItemLeft" align="right" valign="top">unsigned&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1ReadyEvent.html#ad56242dec80dd75f05c1eb96458e0bf8">GetEventListSize</a> (void) const </td></tr>
  91. <tr class="separator:ad56242dec80dd75f05c1eb96458e0bf8"><td class="memSeparator" colspan="2">&#160;</td></tr>
  92. <tr class="memitem:adb53c9c21d8e88b1a5fbb3e241fe5f91"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1ReadyEvent.html#adb53c9c21d8e88b1a5fbb3e241fe5f91">GetEventAtIndex</a> (unsigned index) const </td></tr>
  93. <tr class="separator:adb53c9c21d8e88b1a5fbb3e241fe5f91"><td class="memSeparator" colspan="2">&#160;</td></tr>
  94. <tr class="memitem:aaf6bfa53f4be43cb4d9fe40911faefdf"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1ReadyEvent.html#aaf6bfa53f4be43cb4d9fe40911faefdf">AddToWaitList</a> (int eventId, <a class="el" href="structRakNet_1_1RakNetGUID.html">RakNetGUID</a> guid)</td></tr>
  95. <tr class="separator:aaf6bfa53f4be43cb4d9fe40911faefdf"><td class="memSeparator" colspan="2">&#160;</td></tr>
  96. <tr class="memitem:ae7cb534890f2ab044f2b81e9b3205bc8"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1ReadyEvent.html#ae7cb534890f2ab044f2b81e9b3205bc8">RemoveFromWaitList</a> (int eventId, <a class="el" href="structRakNet_1_1RakNetGUID.html">RakNetGUID</a> guid)</td></tr>
  97. <tr class="separator:ae7cb534890f2ab044f2b81e9b3205bc8"><td class="memSeparator" colspan="2">&#160;</td></tr>
  98. <tr class="memitem:a1b1d658e1be6b128b013c20eed2bf580"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1ReadyEvent.html#a1b1d658e1be6b128b013c20eed2bf580">IsInWaitList</a> (int eventId, <a class="el" href="structRakNet_1_1RakNetGUID.html">RakNetGUID</a> guid)</td></tr>
  99. <tr class="separator:a1b1d658e1be6b128b013c20eed2bf580"><td class="memSeparator" colspan="2">&#160;</td></tr>
  100. <tr class="memitem:ab620a94cd56f7a6a82aa5e680322cb89"><td class="memItemLeft" align="right" valign="top">unsigned&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1ReadyEvent.html#ab620a94cd56f7a6a82aa5e680322cb89">GetRemoteWaitListSize</a> (int eventId) const </td></tr>
  101. <tr class="separator:ab620a94cd56f7a6a82aa5e680322cb89"><td class="memSeparator" colspan="2">&#160;</td></tr>
  102. <tr class="memitem:af38ea2b77651a37774e31bdbf5d663de"><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_1ReadyEvent.html#af38ea2b77651a37774e31bdbf5d663de">GetFromWaitListAtIndex</a> (int eventId, unsigned index) const </td></tr>
  103. <tr class="separator:af38ea2b77651a37774e31bdbf5d663de"><td class="memSeparator" colspan="2">&#160;</td></tr>
  104. <tr class="memitem:a43a6b3450223af740ef2a66bb3db6f87"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__READY__EVENT__GROUP.html#gaf87e91389822570de07c01ccb37b0bbf">ReadyEventSystemStatus</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1ReadyEvent.html#a43a6b3450223af740ef2a66bb3db6f87">GetReadyStatus</a> (int eventId, <a class="el" href="structRakNet_1_1RakNetGUID.html">RakNetGUID</a> guid)</td></tr>
  105. <tr class="separator:a43a6b3450223af740ef2a66bb3db6f87"><td class="memSeparator" colspan="2">&#160;</td></tr>
  106. <tr class="memitem:a6355b9958259b6e645bb335a1b7b34a1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1ReadyEvent.html#a6355b9958259b6e645bb335a1b7b34a1">SetSendChannel</a> (unsigned char newChannel)</td></tr>
  107. <tr class="separator:a6355b9958259b6e645bb335a1b7b34a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
  108. <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>
  109. <tr class="memitem:a550529f3753c4acf22c3b5c3e203552c inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a550529f3753c4acf22c3b5c3e203552c"></a>
  110. virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1PluginInterface2.html#a550529f3753c4acf22c3b5c3e203552c">OnAttach</a> (void)</td></tr>
  111. <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>
  112. <tr class="separator:a550529f3753c4acf22c3b5c3e203552c inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memSeparator" colspan="2">&#160;</td></tr>
  113. <tr class="memitem:a73d686ffe9a04a74e5a0ce78422c60f2 inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a73d686ffe9a04a74e5a0ce78422c60f2"></a>
  114. virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1PluginInterface2.html#a73d686ffe9a04a74e5a0ce78422c60f2">OnDetach</a> (void)</td></tr>
  115. <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>
  116. <tr class="separator:a73d686ffe9a04a74e5a0ce78422c60f2 inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memSeparator" colspan="2">&#160;</td></tr>
  117. <tr class="memitem:a9587824d39ac045173442dbbc32051da inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9587824d39ac045173442dbbc32051da"></a>
  118. virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1PluginInterface2.html#a9587824d39ac045173442dbbc32051da">Update</a> (void)</td></tr>
  119. <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>
  120. <tr class="separator:a9587824d39ac045173442dbbc32051da inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memSeparator" colspan="2">&#160;</td></tr>
  121. <tr class="memitem:a14825e69f0560996327e4dd351842c06 inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a14825e69f0560996327e4dd351842c06"></a>
  122. virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1PluginInterface2.html#a14825e69f0560996327e4dd351842c06">OnRakPeerStartup</a> (void)</td></tr>
  123. <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>
  124. <tr class="separator:a14825e69f0560996327e4dd351842c06 inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memSeparator" colspan="2">&#160;</td></tr>
  125. <tr class="memitem:abf13327cc10f772ba06dff8f2687f8ae 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#abf13327cc10f772ba06dff8f2687f8ae">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>
  126. <tr class="separator:abf13327cc10f772ba06dff8f2687f8ae inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memSeparator" colspan="2">&#160;</td></tr>
  127. <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>
  128. <tr class="separator:a9504489498df14b6efa5ca9bd39aede4 inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memSeparator" colspan="2">&#160;</td></tr>
  129. <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>
  130. <tr class="separator:accfca7d25262c48a87a30114383284aa inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memSeparator" colspan="2">&#160;</td></tr>
  131. <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>
  132. <tr class="separator:a7a6f69c6fc3a121e3676298a63a9ef78 inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memSeparator" colspan="2">&#160;</td></tr>
  133. <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>
  134. <tr class="separator:a9aac1101ad58e8443516588e96e066ec inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memSeparator" colspan="2">&#160;</td></tr>
  135. <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>
  136. <tr class="separator:abf51e60546bd74d21c91dc0d6f9f3a4b inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memSeparator" colspan="2">&#160;</td></tr>
  137. <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>
  138. <tr class="separator:a399b8c93daa0236599961e754742e2f7 inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memSeparator" colspan="2">&#160;</td></tr>
  139. <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>
  140. <tr class="separator:ae0b0cad31cfc209c48197c77d6b46345 inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memSeparator" colspan="2">&#160;</td></tr>
  141. <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>
  142. <tr class="separator:a5c976aea56ed85055a17c19d91b90727 inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memSeparator" colspan="2">&#160;</td></tr>
  143. </table><table class="memberdecls">
  144. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
  145. Protected Member Functions</h2></td></tr>
  146. <tr class="memitem:a2dd5308b4ee75a877c53404477a3c637"><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_1ReadyEvent.html#a2dd5308b4ee75a877c53404477a3c637">OnReceive</a> (<a class="el" href="structRakNet_1_1Packet.html">Packet</a> *packet)</td></tr>
  147. <tr class="separator:a2dd5308b4ee75a877c53404477a3c637"><td class="memSeparator" colspan="2">&#160;</td></tr>
  148. <tr class="memitem:acf26f69ce62bcbfe5077c61aa2c40f45"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1ReadyEvent.html#acf26f69ce62bcbfe5077c61aa2c40f45">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>
  149. <tr class="separator:acf26f69ce62bcbfe5077c61aa2c40f45"><td class="memSeparator" colspan="2">&#160;</td></tr>
  150. <tr class="memitem:a26a546e1fad47a20aee022aad42446df"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a26a546e1fad47a20aee022aad42446df"></a>
  151. virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1ReadyEvent.html#a26a546e1fad47a20aee022aad42446df">OnRakPeerShutdown</a> (void)</td></tr>
  152. <tr class="memdesc:a26a546e1fad47a20aee022aad42446df"><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>
  153. <tr class="separator:a26a546e1fad47a20aee022aad42446df"><td class="memSeparator" colspan="2">&#160;</td></tr>
  154. </table>
  155. <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
  156. <div class="textblock"><p>Peer to peer synchronized ready and unready events. </p>
  157. <p>For peer to peer networks in a fully connected mesh.<br/>
  158. Solves the problem of how to tell if all peers, relative to all other peers, are in a certain ready state.<br/>
  159. For example, if A is connected to B and C, A may see that B and C are ready, but does not know if B is ready to C, or vice-versa.<br/>
  160. This plugin uses two stages to solve that problem, first, everyone I know about is ready. Second, everyone I know about is ready to everyone they know about.<br/>
  161. The user will get ID_READY_EVENT_SET and ID_READY_EVENT_UNSET as the signal flag is set or unset<br/>
  162. The user will get ID_READY_EVENT_ALL_SET when all systems are done waiting for all other systems, in which case the event is considered complete, and no longer tracked.<br/>
  163. </p>
  164. <dl class="section see"><dt>See Also</dt><dd>FullyConnectedMesh2 </dd></dl>
  165. </div><h2 class="groupheader">Member Function Documentation</h2>
  166. <a class="anchor" id="aaf6bfa53f4be43cb4d9fe40911faefdf"></a>
  167. <div class="memitem">
  168. <div class="memproto">
  169. <table class="memname">
  170. <tr>
  171. <td class="memname">bool RakNet::ReadyEvent::AddToWaitList </td>
  172. <td>(</td>
  173. <td class="paramtype">int&#160;</td>
  174. <td class="paramname"><em>eventId</em>, </td>
  175. </tr>
  176. <tr>
  177. <td class="paramkey"></td>
  178. <td></td>
  179. <td class="paramtype"><a class="el" href="structRakNet_1_1RakNetGUID.html">RakNetGUID</a>&#160;</td>
  180. <td class="paramname"><em>guid</em>&#160;</td>
  181. </tr>
  182. <tr>
  183. <td></td>
  184. <td>)</td>
  185. <td></td><td></td>
  186. </tr>
  187. </table>
  188. </div><div class="memdoc">
  189. <p>Adds a system to wait for to signal an event before considering the event complete and returning ID_READY_EVENT_ALL_SET. As we add systems, if this event was previously set to true with SetEvent, these systems will get ID_READY_EVENT_SET. As these systems disconnect (directly or indirectly through the router) they are removed. </p>
  190. <dl class="section note"><dt>Note</dt><dd>If the event completion process has already started, you cannot add more systems, as this would cause the completion process to fail </dd></dl>
  191. <dl class="params"><dt>Parameters</dt><dd>
  192. <table class="params">
  193. <tr><td class="paramdir">[in]</td><td class="paramname">eventId</td><td>A user-defined number previously passed to SetEvent that has not yet completed </td></tr>
  194. <tr><td class="paramdir">[in]</td><td class="paramname">guid</td><td>An address to wait for event replies from. Pass UNASSIGNED_SYSTEM_ADDRESS for all currently connected systems. Until all systems in this list have called SetEvent with this ID and true, and have this system in the list, we won't get ID_READY_EVENT_COMPLETE </td></tr>
  195. </table>
  196. </dd>
  197. </dl>
  198. <dl class="section return"><dt>Returns</dt><dd>True on success, false on unknown eventId (this should be considered an error) </dd></dl>
  199. </div>
  200. </div>
  201. <a class="anchor" id="ab8b4e32689f5c54d0ce7c6deed2eb7e6"></a>
  202. <div class="memitem">
  203. <div class="memproto">
  204. <table class="memname">
  205. <tr>
  206. <td class="memname">bool RakNet::ReadyEvent::DeleteEvent </td>
  207. <td>(</td>
  208. <td class="paramtype">int&#160;</td>
  209. <td class="paramname"><em>eventId</em></td><td>)</td>
  210. <td></td>
  211. </tr>
  212. </table>
  213. </div><div class="memdoc">
  214. <p>Deletes an event. We will no longer wait for this event, and any systems that we know have set the event will be forgotten. Call this to clear memory when events are completed and you know you will never need them again. </p>
  215. <dl class="params"><dt>Parameters</dt><dd>
  216. <table class="params">
  217. <tr><td class="paramdir">[in]</td><td class="paramname">eventId</td><td>A user-defined identifier </td></tr>
  218. </table>
  219. </dd>
  220. </dl>
  221. <dl class="section return"><dt>Returns</dt><dd>True on success. False (failure) on unknown eventId </dd></dl>
  222. </div>
  223. </div>
  224. <a class="anchor" id="abc3c01527d0faf6b47e43ce0e3a0159c"></a>
  225. <div class="memitem">
  226. <div class="memproto">
  227. <table class="memname">
  228. <tr>
  229. <td class="memname">void RakNet::ReadyEvent::ForceCompletion </td>
  230. <td>(</td>
  231. <td class="paramtype">int&#160;</td>
  232. <td class="paramname"><em>eventId</em></td><td>)</td>
  233. <td></td>
  234. </tr>
  235. </table>
  236. </div><div class="memdoc">
  237. <p>When systems can call <a class="el" href="classRakNet_1_1ReadyEvent.html#af7caed0bdee19e21bdd91ff34ff73b31">SetEvent()</a> with isReady==false, it is possible for one system to return true from <a class="el" href="classRakNet_1_1ReadyEvent.html#a8c4600be8271b798ea0158cef9261462">IsEventCompleted()</a> while the other systems return false This can occur if a system <a class="el" href="classRakNet_1_1ReadyEvent.html#af7caed0bdee19e21bdd91ff34ff73b31">SetEvent()</a> with isReady==false while the completion message is still being transmitted. If your game has the situation where some action should be taken on all systems when <a class="el" href="classRakNet_1_1ReadyEvent.html#a8c4600be8271b798ea0158cef9261462">IsEventCompleted()</a> is true for any system, then call <a class="el" href="classRakNet_1_1ReadyEvent.html#abc3c01527d0faf6b47e43ce0e3a0159c">ForceCompletion()</a> when the action begins. This will force all systems to return true from <a class="el" href="classRakNet_1_1ReadyEvent.html#a8c4600be8271b798ea0158cef9261462">IsEventCompleted()</a>. </p>
  238. <dl class="params"><dt>Parameters</dt><dd>
  239. <table class="params">
  240. <tr><td class="paramdir">[in]</td><td class="paramname">eventId</td><td>A user-defined identifier to immediately set as completed </td></tr>
  241. </table>
  242. </dd>
  243. </dl>
  244. </div>
  245. </div>
  246. <a class="anchor" id="adb53c9c21d8e88b1a5fbb3e241fe5f91"></a>
  247. <div class="memitem">
  248. <div class="memproto">
  249. <table class="memname">
  250. <tr>
  251. <td class="memname">int RakNet::ReadyEvent::GetEventAtIndex </td>
  252. <td>(</td>
  253. <td class="paramtype">unsigned&#160;</td>
  254. <td class="paramname"><em>index</em></td><td>)</td>
  255. <td> const</td>
  256. </tr>
  257. </table>
  258. </div><div class="memdoc">
  259. <p>Returns the event ID stored at a particular index. EventIDs are stored sorted from least to greatest. </p>
  260. <dl class="params"><dt>Parameters</dt><dd>
  261. <table class="params">
  262. <tr><td class="paramdir">[in]</td><td class="paramname">index</td><td>Index into the array, from 0 to <a class="el" href="classRakNet_1_1ReadyEvent.html#ad56242dec80dd75f05c1eb96458e0bf8">GetEventListSize()</a> </td></tr>
  263. </table>
  264. </dd>
  265. </dl>
  266. <dl class="section return"><dt>Returns</dt><dd>The event ID stored at a particular index </dd></dl>
  267. </div>
  268. </div>
  269. <a class="anchor" id="ad56242dec80dd75f05c1eb96458e0bf8"></a>
  270. <div class="memitem">
  271. <div class="memproto">
  272. <table class="memname">
  273. <tr>
  274. <td class="memname">unsigned RakNet::ReadyEvent::GetEventListSize </td>
  275. <td>(</td>
  276. <td class="paramtype">void&#160;</td>
  277. <td class="paramname"></td><td>)</td>
  278. <td> const</td>
  279. </tr>
  280. </table>
  281. </div><div class="memdoc">
  282. <p>Returns the total number of events stored in the system. </p>
  283. <dl class="section return"><dt>Returns</dt><dd>The total number of events stored in the system. </dd></dl>
  284. </div>
  285. </div>
  286. <a class="anchor" id="af38ea2b77651a37774e31bdbf5d663de"></a>
  287. <div class="memitem">
  288. <div class="memproto">
  289. <table class="memname">
  290. <tr>
  291. <td class="memname"><a class="el" href="structRakNet_1_1RakNetGUID.html">RakNetGUID</a> RakNet::ReadyEvent::GetFromWaitListAtIndex </td>
  292. <td>(</td>
  293. <td class="paramtype">int&#160;</td>
  294. <td class="paramname"><em>eventId</em>, </td>
  295. </tr>
  296. <tr>
  297. <td class="paramkey"></td>
  298. <td></td>
  299. <td class="paramtype">unsigned&#160;</td>
  300. <td class="paramname"><em>index</em>&#160;</td>
  301. </tr>
  302. <tr>
  303. <td></td>
  304. <td>)</td>
  305. <td></td><td> const</td>
  306. </tr>
  307. </table>
  308. </div><div class="memdoc">
  309. <p>Returns the system address of a system at a particular index, for this event. </p>
  310. <dl class="params"><dt>Parameters</dt><dd>
  311. <table class="params">
  312. <tr><td class="paramdir">[in]</td><td class="paramname">eventId</td><td>A user-defined identifier </td></tr>
  313. <tr><td class="paramdir">[in]</td><td class="paramname">index</td><td>Index into the array, from 0 to GetWaitListSize() </td></tr>
  314. </table>
  315. </dd>
  316. </dl>
  317. <dl class="section return"><dt>Returns</dt><dd>The system address of a system at a particular index, for this event. </dd></dl>
  318. </div>
  319. </div>
  320. <a class="anchor" id="a43a6b3450223af740ef2a66bb3db6f87"></a>
  321. <div class="memitem">
  322. <div class="memproto">
  323. <table class="memname">
  324. <tr>
  325. <td class="memname"><a class="el" href="group__READY__EVENT__GROUP.html#gaf87e91389822570de07c01ccb37b0bbf">ReadyEventSystemStatus</a> RakNet::ReadyEvent::GetReadyStatus </td>
  326. <td>(</td>
  327. <td class="paramtype">int&#160;</td>
  328. <td class="paramname"><em>eventId</em>, </td>
  329. </tr>
  330. <tr>
  331. <td class="paramkey"></td>
  332. <td></td>
  333. <td class="paramtype"><a class="el" href="structRakNet_1_1RakNetGUID.html">RakNetGUID</a>&#160;</td>
  334. <td class="paramname"><em>guid</em>&#160;</td>
  335. </tr>
  336. <tr>
  337. <td></td>
  338. <td>)</td>
  339. <td></td><td></td>
  340. </tr>
  341. </table>
  342. </div><div class="memdoc">
  343. <p>For a remote system, find out what their ready status is (waiting, signaled, complete). </p>
  344. <dl class="params"><dt>Parameters</dt><dd>
  345. <table class="params">
  346. <tr><td class="paramdir">[in]</td><td class="paramname">eventId</td><td>A user-defined identifier </td></tr>
  347. <tr><td class="paramdir">[in]</td><td class="paramname">guid</td><td>Which system we are checking up on </td></tr>
  348. </table>
  349. </dd>
  350. </dl>
  351. <dl class="section return"><dt>Returns</dt><dd>The status of this system, for this particular event. </dd></dl>
  352. <dl class="section see"><dt>See Also</dt><dd><a class="el" href="group__READY__EVENT__GROUP.html#gaf87e91389822570de07c01ccb37b0bbf">ReadyEventSystemStatus</a> </dd></dl>
  353. </div>
  354. </div>
  355. <a class="anchor" id="ab620a94cd56f7a6a82aa5e680322cb89"></a>
  356. <div class="memitem">
  357. <div class="memproto">
  358. <table class="memname">
  359. <tr>
  360. <td class="memname">unsigned RakNet::ReadyEvent::GetRemoteWaitListSize </td>
  361. <td>(</td>
  362. <td class="paramtype">int&#160;</td>
  363. <td class="paramname"><em>eventId</em></td><td>)</td>
  364. <td> const</td>
  365. </tr>
  366. </table>
  367. </div><div class="memdoc">
  368. <p>Returns the total number of systems we are waiting on for this event. Does not include yourself </p>
  369. <dl class="params"><dt>Parameters</dt><dd>
  370. <table class="params">
  371. <tr><td class="paramdir">[in]</td><td class="paramname">eventId</td><td>A user-defined identifier </td></tr>
  372. </table>
  373. </dd>
  374. </dl>
  375. <dl class="section return"><dt>Returns</dt><dd>The total number of systems we are waiting on for this event. </dd></dl>
  376. </div>
  377. </div>
  378. <a class="anchor" id="ad10f179c0565882651ca2bde5bf50a45"></a>
  379. <div class="memitem">
  380. <div class="memproto">
  381. <table class="memname">
  382. <tr>
  383. <td class="memname">bool RakNet::ReadyEvent::HasEvent </td>
  384. <td>(</td>
  385. <td class="paramtype">int&#160;</td>
  386. <td class="paramname"><em>eventId</em></td><td>)</td>
  387. <td></td>
  388. </tr>
  389. </table>
  390. </div><div class="memdoc">
  391. <p>Returns if this is a known event. Events may be known even if we never ourselves referenced them with SetEvent, because other systems created them via ID_READY_EVENT_SET. </p>
  392. <dl class="params"><dt>Parameters</dt><dd>
  393. <table class="params">
  394. <tr><td class="paramdir">[in]</td><td class="paramname">eventId</td><td>A user-defined identifier </td></tr>
  395. </table>
  396. </dd>
  397. </dl>
  398. <dl class="section return"><dt>Returns</dt><dd>true if we have this event, false otherwise </dd></dl>
  399. </div>
  400. </div>
  401. <a class="anchor" id="a8c4600be8271b798ea0158cef9261462"></a>
  402. <div class="memitem">
  403. <div class="memproto">
  404. <table class="memname">
  405. <tr>
  406. <td class="memname">bool RakNet::ReadyEvent::IsEventCompleted </td>
  407. <td>(</td>
  408. <td class="paramtype">int&#160;</td>
  409. <td class="paramname"><em>eventId</em></td><td>)</td>
  410. <td> const</td>
  411. </tr>
  412. </table>
  413. </div><div class="memdoc">
  414. <p>Returns if the wait list is a subset of the completion list. Call this after all systems you want to wait for have been added with AddToWaitList If you are waiting for a specific number of systems (such as players later connecting), also check GetRemoteWaitListSize(eventId) to be equal to 1 less than the total number of participants. </p>
  415. <dl class="params"><dt>Parameters</dt><dd>
  416. <table class="params">
  417. <tr><td class="paramdir">[in]</td><td class="paramname">eventId</td><td>A user-defined identifier </td></tr>
  418. </table>
  419. </dd>
  420. </dl>
  421. <dl class="section return"><dt>Returns</dt><dd>True on completion. False (failure) on unknown eventId, or the set is not completed. </dd></dl>
  422. </div>
  423. </div>
  424. <a class="anchor" id="a90747ab26a89d426317dfa1d4f414fde"></a>
  425. <div class="memitem">
  426. <div class="memproto">
  427. <table class="memname">
  428. <tr>
  429. <td class="memname">bool RakNet::ReadyEvent::IsEventCompletionProcessing </td>
  430. <td>(</td>
  431. <td class="paramtype">int&#160;</td>
  432. <td class="paramname"><em>eventId</em></td><td>)</td>
  433. <td> const</td>
  434. </tr>
  435. </table>
  436. </div><div class="memdoc">
  437. <p>Returns if the event is about to be ready and we are negotiating the final packets. This will usually only be true for a very short time, after which IsEventCompleted should return true. While this is true you cannot add to the wait list, or <a class="el" href="classRakNet_1_1ReadyEvent.html#af7caed0bdee19e21bdd91ff34ff73b31">SetEvent()</a> isReady to false anymore. </p>
  438. <dl class="params"><dt>Parameters</dt><dd>
  439. <table class="params">
  440. <tr><td class="paramdir">[in]</td><td class="paramname">eventId</td><td>A user-defined identifier </td></tr>
  441. </table>
  442. </dd>
  443. </dl>
  444. <dl class="section return"><dt>Returns</dt><dd>True if any other system has completed processing. Will always be true if <a class="el" href="classRakNet_1_1ReadyEvent.html#a8c4600be8271b798ea0158cef9261462">IsEventCompleted()</a> is true </dd></dl>
  445. </div>
  446. </div>
  447. <a class="anchor" id="a3e316ae7568001e5c2d9624f156a2ee8"></a>
  448. <div class="memitem">
  449. <div class="memproto">
  450. <table class="memname">
  451. <tr>
  452. <td class="memname">bool RakNet::ReadyEvent::IsEventSet </td>
  453. <td>(</td>
  454. <td class="paramtype">int&#160;</td>
  455. <td class="paramname"><em>eventId</em></td><td>)</td>
  456. <td></td>
  457. </tr>
  458. </table>
  459. </div><div class="memdoc">
  460. <p>Returns what was passed to <a class="el" href="classRakNet_1_1ReadyEvent.html#af7caed0bdee19e21bdd91ff34ff73b31">SetEvent()</a> </p>
  461. <dl class="section return"><dt>Returns</dt><dd>The value of isReady passed to <a class="el" href="classRakNet_1_1ReadyEvent.html#af7caed0bdee19e21bdd91ff34ff73b31">SetEvent()</a>. Also returns false on unknown event. </dd></dl>
  462. </div>
  463. </div>
  464. <a class="anchor" id="a1b1d658e1be6b128b013c20eed2bf580"></a>
  465. <div class="memitem">
  466. <div class="memproto">
  467. <table class="memname">
  468. <tr>
  469. <td class="memname">bool RakNet::ReadyEvent::IsInWaitList </td>
  470. <td>(</td>
  471. <td class="paramtype">int&#160;</td>
  472. <td class="paramname"><em>eventId</em>, </td>
  473. </tr>
  474. <tr>
  475. <td class="paramkey"></td>
  476. <td></td>
  477. <td class="paramtype"><a class="el" href="structRakNet_1_1RakNetGUID.html">RakNetGUID</a>&#160;</td>
  478. <td class="paramname"><em>guid</em>&#160;</td>
  479. </tr>
  480. <tr>
  481. <td></td>
  482. <td>)</td>
  483. <td></td><td></td>
  484. </tr>
  485. </table>
  486. </div><div class="memdoc">
  487. <p>Returns if a particular system is waiting on a particular event. </p>
  488. <dl class="params"><dt>Parameters</dt><dd>
  489. <table class="params">
  490. <tr><td class="paramdir">[in]</td><td class="paramname">eventId</td><td>A user-defined identifier </td></tr>
  491. <tr><td class="paramdir">[in]</td><td class="paramname">guid</td><td>The system we are checking up on </td></tr>
  492. </table>
  493. </dd>
  494. </dl>
  495. <dl class="section return"><dt>Returns</dt><dd>True if this system is waiting on this event, false otherwise. </dd></dl>
  496. </div>
  497. </div>
  498. <a class="anchor" id="acf26f69ce62bcbfe5077c61aa2c40f45"></a>
  499. <div class="memitem">
  500. <div class="memproto">
  501. <table class="mlabels">
  502. <tr>
  503. <td class="mlabels-left">
  504. <table class="memname">
  505. <tr>
  506. <td class="memname">virtual void RakNet::ReadyEvent::OnClosedConnection </td>
  507. <td>(</td>
  508. <td class="paramtype">const <a class="el" href="structRakNet_1_1SystemAddress.html">SystemAddress</a> &amp;&#160;</td>
  509. <td class="paramname"><em>systemAddress</em>, </td>
  510. </tr>
  511. <tr>
  512. <td class="paramkey"></td>
  513. <td></td>
  514. <td class="paramtype"><a class="el" href="structRakNet_1_1RakNetGUID.html">RakNetGUID</a>&#160;</td>
  515. <td class="paramname"><em>rakNetGUID</em>, </td>
  516. </tr>
  517. <tr>
  518. <td class="paramkey"></td>
  519. <td></td>
  520. <td class="paramtype"><a class="el" href="group__PLUGIN__INTERFACE__GROUP.html#ga376cc546fd6892c2ead48cd51796c8b8">PI2_LostConnectionReason</a>&#160;</td>
  521. <td class="paramname"><em>lostConnectionReason</em>&#160;</td>
  522. </tr>
  523. <tr>
  524. <td></td>
  525. <td>)</td>
  526. <td></td><td></td>
  527. </tr>
  528. </table>
  529. </td>
  530. <td class="mlabels-right">
  531. <span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span> </td>
  532. </tr>
  533. </table>
  534. </div><div class="memdoc">
  535. <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>
  536. <dl class="params"><dt>Parameters</dt><dd>
  537. <table class="params">
  538. <tr><td class="paramdir">[in]</td><td class="paramname">systemAddress</td><td>The system whose connection was closed </td></tr>
  539. <tr><td class="paramdir">[in]</td><td class="paramname">rakNetGuid</td><td>The guid of the specified system </td></tr>
  540. <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>
  541. </table>
  542. </dd>
  543. </dl>
  544. <p>Reimplemented from <a class="el" href="classRakNet_1_1PluginInterface2.html#a80c7612ca1a5dcfeec0b52d8049a71ea">RakNet::PluginInterface2</a>.</p>
  545. </div>
  546. </div>
  547. <a class="anchor" id="a2dd5308b4ee75a877c53404477a3c637"></a>
  548. <div class="memitem">
  549. <div class="memproto">
  550. <table class="mlabels">
  551. <tr>
  552. <td class="mlabels-left">
  553. <table class="memname">
  554. <tr>
  555. <td class="memname">virtual <a class="el" href="group__PLUGIN__INTERFACE__GROUP.html#ga89998adaafb29e5d879113b992161085">PluginReceiveResult</a> RakNet::ReadyEvent::OnReceive </td>
  556. <td>(</td>
  557. <td class="paramtype"><a class="el" href="structRakNet_1_1Packet.html">Packet</a> *&#160;</td>
  558. <td class="paramname"><em>packet</em></td><td>)</td>
  559. <td></td>
  560. </tr>
  561. </table>
  562. </td>
  563. <td class="mlabels-right">
  564. <span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span> </td>
  565. </tr>
  566. </table>
  567. </div><div class="memdoc">
  568. <p>OnReceive is called for every packet. </p>
  569. <dl class="params"><dt>Parameters</dt><dd>
  570. <table class="params">
  571. <tr><td class="paramdir">[in]</td><td class="paramname">packet</td><td>the packet that is being returned to the user </td></tr>
  572. </table>
  573. </dd>
  574. </dl>
  575. <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>
  576. <p>Reimplemented from <a class="el" href="classRakNet_1_1PluginInterface2.html#aa86f33263c1648f11b8a006469272639">RakNet::PluginInterface2</a>.</p>
  577. </div>
  578. </div>
  579. <a class="anchor" id="ae7cb534890f2ab044f2b81e9b3205bc8"></a>
  580. <div class="memitem">
  581. <div class="memproto">
  582. <table class="memname">
  583. <tr>
  584. <td class="memname">bool RakNet::ReadyEvent::RemoveFromWaitList </td>
  585. <td>(</td>
  586. <td class="paramtype">int&#160;</td>
  587. <td class="paramname"><em>eventId</em>, </td>
  588. </tr>
  589. <tr>
  590. <td class="paramkey"></td>
  591. <td></td>
  592. <td class="paramtype"><a class="el" href="structRakNet_1_1RakNetGUID.html">RakNetGUID</a>&#160;</td>
  593. <td class="paramname"><em>guid</em>&#160;</td>
  594. </tr>
  595. <tr>
  596. <td></td>
  597. <td>)</td>
  598. <td></td><td></td>
  599. </tr>
  600. </table>
  601. </div><div class="memdoc">
  602. <p>Removes systems from the wait list, which should have been previously added with AddToWaitList </p>
  603. <dl class="section note"><dt>Note</dt><dd>Systems that directly or indirectly disconnect from us are automatically removed from the wait list </dd></dl>
  604. <dl class="params"><dt>Parameters</dt><dd>
  605. <table class="params">
  606. <tr><td class="paramdir">[in]</td><td class="paramname">guid</td><td>The system to remove from the wait list. Pass UNASSIGNED_RAKNET_GUID for all currently connected systems. </td></tr>
  607. </table>
  608. </dd>
  609. </dl>
  610. <dl class="section return"><dt>Returns</dt><dd>True on success, false on unknown eventId (this should be considered an error) </dd></dl>
  611. </div>
  612. </div>
  613. <a class="anchor" id="af7caed0bdee19e21bdd91ff34ff73b31"></a>
  614. <div class="memitem">
  615. <div class="memproto">
  616. <table class="memname">
  617. <tr>
  618. <td class="memname">bool RakNet::ReadyEvent::SetEvent </td>
  619. <td>(</td>
  620. <td class="paramtype">int&#160;</td>
  621. <td class="paramname"><em>eventId</em>, </td>
  622. </tr>
  623. <tr>
  624. <td class="paramkey"></td>
  625. <td></td>
  626. <td class="paramtype">bool&#160;</td>
  627. <td class="paramname"><em>isReady</em>&#160;</td>
  628. </tr>
  629. <tr>
  630. <td></td>
  631. <td>)</td>
  632. <td></td><td></td>
  633. </tr>
  634. </table>
  635. </div><div class="memdoc">
  636. <p>Sets or updates the initial ready state for our local system. If eventId is an unknown event the event is created. If eventId was previously used and you want to reuse it, call DeleteEvent first, or else you will keep the same event signals from before Systems previously or later added through <a class="el" href="classRakNet_1_1ReadyEvent.html#aaf6bfa53f4be43cb4d9fe40911faefdf">AddToWaitList()</a> with the same <em>eventId</em> when isReady=true will get ID_READY_EVENT_SET Systems previously added through AddToWaitList with the same <em>eventId</em> will get ID_READY_EVENT_UNSET For both ID_READY_EVENT_SET and ID_READY_EVENT_UNSET, eventId is encoded in bytes 1 through 1+sizeof(int) </p>
  637. <dl class="params"><dt>Parameters</dt><dd>
  638. <table class="params">
  639. <tr><td class="paramdir">[in]</td><td class="paramname">eventId</td><td>A user-defined identifier to wait on. This can be a sequence counter, an event identifier, or anything else you want. </td></tr>
  640. <tr><td class="paramdir">[in]</td><td class="paramname">isReady</td><td>True to signal we are ready to proceed with this event, false to unsignal </td></tr>
  641. </table>
  642. </dd>
  643. </dl>
  644. <dl class="section return"><dt>Returns</dt><dd>False if event status is ID_READY_EVENT_FORCE_ALL_SET, or if we are setting to a status we are already in (no change). Otherwise true </dd></dl>
  645. </div>
  646. </div>
  647. <a class="anchor" id="a6355b9958259b6e645bb335a1b7b34a1"></a>
  648. <div class="memitem">
  649. <div class="memproto">
  650. <table class="memname">
  651. <tr>
  652. <td class="memname">void RakNet::ReadyEvent::SetSendChannel </td>
  653. <td>(</td>
  654. <td class="paramtype">unsigned char&#160;</td>
  655. <td class="paramname"><em>newChannel</em></td><td>)</td>
  656. <td></td>
  657. </tr>
  658. </table>
  659. </div><div class="memdoc">
  660. <p>This channel will be used for all <a class="el" href="classRakNet_1_1RakPeer.html#a1ee7422f744ab606c92b4ed4b28db40e" title="Sends a block of data to the specified system that you are connected to.">RakPeer::Send</a> calls </p>
  661. <dl class="params"><dt>Parameters</dt><dd>
  662. <table class="params">
  663. <tr><td class="paramdir">[in]</td><td class="paramname">newChannel</td><td>The channel to use for internal <a class="el" href="classRakNet_1_1RakPeer.html#a1ee7422f744ab606c92b4ed4b28db40e" title="Sends a block of data to the specified system that you are connected to.">RakPeer::Send</a> calls from this system. Defaults to 0. </td></tr>
  664. </table>
  665. </dd>
  666. </dl>
  667. </div>
  668. </div>
  669. <hr/>The documentation for this class was generated from the following file:<ul>
  670. <li>D:/temp/RakNet_PC/Source/<a class="el" href="ReadyEvent_8h.html">ReadyEvent.h</a></li>
  671. </ul>
  672. </div><!-- contents -->
  673. <!-- start footer part -->
  674. <hr class="footer"/><address class="footer"><small>
  675. Generated on Mon Jun 2 2014 20:10:29 for RakNet by &#160;<a href="http://www.doxygen.org/index.html">
  676. <img class="footer" src="doxygen.png" alt="doxygen"/>
  677. </a> 1.8.2
  678. </small></address>
  679. </body>
  680. </html>
粤ICP备19079148号