classRakNet_1_1PluginInterface2.html 50 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698
  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::PluginInterface2 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_1PluginInterface2.html">PluginInterface2</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="classRakNet_1_1PluginInterface2-members.html">List of all members</a> </div>
  56. <div class="headertitle">
  57. <div class="title">RakNet::PluginInterface2 Class Reference<div class="ingroups"><a class="el" href="group__PLUGIN__INTERFACE__GROUP.html">PluginInterface2</a></div></div> </div>
  58. </div><!--header-->
  59. <div class="contents">
  60. <p><code>#include &lt;PluginInterface2.h&gt;</code></p>
  61. <div class="dynheader">
  62. Inheritance diagram for RakNet::PluginInterface2:</div>
  63. <div class="dyncontent">
  64. <div class="center">
  65. <img src="classRakNet_1_1PluginInterface2.png" usemap="#RakNet::PluginInterface2_map" alt=""/>
  66. <map id="RakNet::PluginInterface2_map" name="RakNet::PluginInterface2_map">
  67. <area href="classRakNet_1_1AutopatcherServer.html" title="The server plugin for the autopatcher. Must be running for the client to get patches." alt="RakNet::AutopatcherServer" shape="rect" coords="207,56,404,80"/>
  68. <area href="classRakNet_1_1CloudClient.html" title="Performs Post() and Get() operations on CloudMemoryServer." alt="RakNet::CloudClient" shape="rect" coords="207,112,404,136"/>
  69. <area href="classRakNet_1_1CloudServer.html" title="Stores client data, and allows cross-server communication to retrieve this data." alt="RakNet::CloudServer" shape="rect" coords="207,168,404,192"/>
  70. <area href="classRakNet_1_1ConnectionGraph2.html" title="A one hop connection graph." alt="RakNet::ConnectionGraph2" shape="rect" coords="207,224,404,248"/>
  71. <area href="classRakNet_1_1FileListTransfer.html" title="A plugin to provide a simple way to compress and incrementally send the files in the FileList structu..." alt="RakNet::FileListTransfer" shape="rect" coords="207,280,404,304"/>
  72. <area href="classRakNet_1_1HTTPConnection2.html" title="Use HTTPConnection2 to communicate with a web server." alt="RakNet::HTTPConnection2" shape="rect" coords="207,336,404,360"/>
  73. <area href="classRakNet_1_1Lobby2Plugin.html" title="Both Lobby2Server and Lobby2Client derive from this class." alt="RakNet::Lobby2Plugin" shape="rect" coords="207,392,404,416"/>
  74. <area href="classRakNet_1_1MessageFilter.html" title="Assigns systems to FilterSets. Each FilterSet limits what kinds of messages are allowed." alt="RakNet::MessageFilter" shape="rect" coords="207,448,404,472"/>
  75. <area href="classRakNet_1_1NatPunchthroughClient.html" title="Client code for NATPunchthrough." alt="RakNet::NatPunchthroughClient" shape="rect" coords="207,504,404,528"/>
  76. <area href="classRakNet_1_1NatPunchthroughServer.html" title="Server code for NATPunchthrough." alt="RakNet::NatPunchthroughServer" shape="rect" coords="207,560,404,584"/>
  77. <area href="classRakNet_1_1NatTypeDetectionClient.html" title="Client code for NatTypeDetection." alt="RakNet::NatTypeDetectionClient" shape="rect" coords="207,616,404,640"/>
  78. <area href="classRakNet_1_1NatTypeDetectionServer.html" title="Server code for NatTypeDetection." alt="RakNet::NatTypeDetectionServer" shape="rect" coords="207,672,404,696"/>
  79. <area href="classRakNet_1_1PacketLogger.html" title="Writes incoming and outgoing messages to the screen. This will write all incoming and outgoing messag..." alt="RakNet::PacketLogger" shape="rect" coords="207,728,404,752"/>
  80. <area href="classRakNet_1_1RakNetTransport2.html" title="Use RakNetTransport if you need a secure connection between the client and the console server..." alt="RakNet::RakNetTransport2" shape="rect" coords="207,784,404,808"/>
  81. <area href="classRakNet_1_1RakVoice.html" title="Voice compression and transmission interface." alt="RakNet::RakVoice" shape="rect" coords="207,840,404,864"/>
  82. <area href="classRakNet_1_1ReadyEvent.html" title="Peer to peer synchronized ready and unready events." alt="RakNet::ReadyEvent" shape="rect" coords="207,896,404,920"/>
  83. <area href="classRakNet_1_1RelayPlugin.html" title="A simple class to relay messages from one system to another, identifying remote systems by a string..." alt="RakNet::RelayPlugin" shape="rect" coords="207,952,404,976"/>
  84. <area href="classRakNet_1_1ReplicaManager3.html" title="System to help automate game object construction, destruction, and serialization." alt="RakNet::ReplicaManager3" shape="rect" coords="207,1008,404,1032"/>
  85. <area href="classRakNet_1_1RoomsPlugin.html" title="Used to create rooms for players where they can matchmake." alt="RakNet::RoomsPlugin" shape="rect" coords="207,1064,404,1088"/>
  86. <area href="classRakNet_1_1Router2.html" title="Class interface for the Router2 system." alt="RakNet::Router2" shape="rect" coords="207,1120,404,1144"/>
  87. <area href="classRakNet_1_1RPC3.html" title="The RPC3 plugin allows you to call remote functions as if they were local functions, using the standard function call syntax." alt="RakNet::RPC3" shape="rect" coords="207,1176,404,1200"/>
  88. <area href="classRakNet_1_1RPC4.html" title="The RPC4 plugin is just an association between a C function pointer and a string." alt="RakNet::RPC4" shape="rect" coords="207,1232,404,1256"/>
  89. <area href="classRakNet_1_1SQLite3ClientPlugin.html" alt="RakNet::SQLite3ClientPlugin" shape="rect" coords="207,1288,404,1312"/>
  90. <area href="classRakNet_1_1SQLite3ServerPlugin.html" title="Exec SQLLite commands over the network." alt="RakNet::SQLite3ServerPlugin" shape="rect" coords="207,1344,404,1368"/>
  91. <area href="classRakNet_1_1StatisticsHistoryPlugin.html" title="Input numerical values over time. Get sum, average, highest, lowest, standard deviation on recent or ..." alt="RakNet::StatisticsHistoryPlugin" shape="rect" coords="207,1400,404,1424"/>
  92. <area href="classRakNet_1_1TeamBalancer.html" title="Set and network team selection (supports peer to peer or client/server)" alt="RakNet::TeamBalancer" shape="rect" coords="207,1456,404,1480"/>
  93. <area href="classRakNet_1_1TeamManager.html" title="Automates networking and list management for teams." alt="RakNet::TeamManager" shape="rect" coords="207,1512,404,1536"/>
  94. <area href="classRakNet_1_1TwoWayAuthentication.html" title="Implements two way authentication." alt="RakNet::TwoWayAuthentication" shape="rect" coords="207,1568,404,1592"/>
  95. <area href="classRakNet_1_1UDPProxyClient.html" title="Communicates with UDPProxyCoordinator, in order to find a UDPProxyServer to forward our datagrams..." alt="RakNet::UDPProxyClient" shape="rect" coords="207,1624,404,1648"/>
  96. <area href="classRakNet_1_1UDPProxyCoordinator.html" title="Middleman between UDPProxyServer and UDPProxyClient, maintaining a list of UDPProxyServer, and managing state for clients to find an available forwarding server." alt="RakNet::UDPProxyCoordinator" shape="rect" coords="207,1680,404,1704"/>
  97. <area href="classRakNet_1_1UDPProxyServer.html" title="UDPProxyServer to control our instance of UDPForwarder." alt="RakNet::UDPProxyServer" shape="rect" coords="207,1736,404,1760"/>
  98. </map>
  99. </div></div>
  100. <table class="memberdecls">
  101. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
  102. Public Member Functions</h2></td></tr>
  103. <tr class="memitem:a550529f3753c4acf22c3b5c3e203552c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a550529f3753c4acf22c3b5c3e203552c"></a>
  104. virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1PluginInterface2.html#a550529f3753c4acf22c3b5c3e203552c">OnAttach</a> (void)</td></tr>
  105. <tr class="memdesc:a550529f3753c4acf22c3b5c3e203552c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Called when the interface is attached. <br/></td></tr>
  106. <tr class="separator:a550529f3753c4acf22c3b5c3e203552c"><td class="memSeparator" colspan="2">&#160;</td></tr>
  107. <tr class="memitem:a73d686ffe9a04a74e5a0ce78422c60f2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a73d686ffe9a04a74e5a0ce78422c60f2"></a>
  108. virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1PluginInterface2.html#a73d686ffe9a04a74e5a0ce78422c60f2">OnDetach</a> (void)</td></tr>
  109. <tr class="memdesc:a73d686ffe9a04a74e5a0ce78422c60f2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Called when the interface is detached. <br/></td></tr>
  110. <tr class="separator:a73d686ffe9a04a74e5a0ce78422c60f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
  111. <tr class="memitem:a9587824d39ac045173442dbbc32051da"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9587824d39ac045173442dbbc32051da"></a>
  112. virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1PluginInterface2.html#a9587824d39ac045173442dbbc32051da">Update</a> (void)</td></tr>
  113. <tr class="memdesc:a9587824d39ac045173442dbbc32051da"><td class="mdescLeft">&#160;</td><td class="mdescRight">Update is called every time a packet is checked for . <br/></td></tr>
  114. <tr class="separator:a9587824d39ac045173442dbbc32051da"><td class="memSeparator" colspan="2">&#160;</td></tr>
  115. <tr class="memitem:aa86f33263c1648f11b8a006469272639"><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_1PluginInterface2.html#aa86f33263c1648f11b8a006469272639">OnReceive</a> (<a class="el" href="structRakNet_1_1Packet.html">Packet</a> *packet)</td></tr>
  116. <tr class="separator:aa86f33263c1648f11b8a006469272639"><td class="memSeparator" colspan="2">&#160;</td></tr>
  117. <tr class="memitem:a14825e69f0560996327e4dd351842c06"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a14825e69f0560996327e4dd351842c06"></a>
  118. virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1PluginInterface2.html#a14825e69f0560996327e4dd351842c06">OnRakPeerStartup</a> (void)</td></tr>
  119. <tr class="memdesc:a14825e69f0560996327e4dd351842c06"><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>
  120. <tr class="separator:a14825e69f0560996327e4dd351842c06"><td class="memSeparator" colspan="2">&#160;</td></tr>
  121. <tr class="memitem:a37c873a1879871722e06acfc45923883"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a37c873a1879871722e06acfc45923883"></a>
  122. virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1PluginInterface2.html#a37c873a1879871722e06acfc45923883">OnRakPeerShutdown</a> (void)</td></tr>
  123. <tr class="memdesc:a37c873a1879871722e06acfc45923883"><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>
  124. <tr class="separator:a37c873a1879871722e06acfc45923883"><td class="memSeparator" colspan="2">&#160;</td></tr>
  125. <tr class="memitem:a80c7612ca1a5dcfeec0b52d8049a71ea"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1PluginInterface2.html#a80c7612ca1a5dcfeec0b52d8049a71ea">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>
  126. <tr class="separator:a80c7612ca1a5dcfeec0b52d8049a71ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
  127. <tr class="memitem:abf13327cc10f772ba06dff8f2687f8ae"><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>
  128. <tr class="separator:abf13327cc10f772ba06dff8f2687f8ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
  129. <tr class="memitem:a9504489498df14b6efa5ca9bd39aede4"><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>
  130. <tr class="separator:a9504489498df14b6efa5ca9bd39aede4"><td class="memSeparator" colspan="2">&#160;</td></tr>
  131. <tr class="memitem:accfca7d25262c48a87a30114383284aa"><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>
  132. <tr class="separator:accfca7d25262c48a87a30114383284aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
  133. <tr class="memitem:a7a6f69c6fc3a121e3676298a63a9ef78"><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>
  134. <tr class="separator:a7a6f69c6fc3a121e3676298a63a9ef78"><td class="memSeparator" colspan="2">&#160;</td></tr>
  135. <tr class="memitem:a9aac1101ad58e8443516588e96e066ec"><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>
  136. <tr class="separator:a9aac1101ad58e8443516588e96e066ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
  137. <tr class="memitem:abf51e60546bd74d21c91dc0d6f9f3a4b"><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>
  138. <tr class="separator:abf51e60546bd74d21c91dc0d6f9f3a4b"><td class="memSeparator" colspan="2">&#160;</td></tr>
  139. <tr class="memitem:a399b8c93daa0236599961e754742e2f7"><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>
  140. <tr class="separator:a399b8c93daa0236599961e754742e2f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
  141. <tr class="memitem:ae0b0cad31cfc209c48197c77d6b46345"><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>
  142. <tr class="separator:ae0b0cad31cfc209c48197c77d6b46345"><td class="memSeparator" colspan="2">&#160;</td></tr>
  143. <tr class="memitem:a5c976aea56ed85055a17c19d91b90727"><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>
  144. <tr class="separator:a5c976aea56ed85055a17c19d91b90727"><td class="memSeparator" colspan="2">&#160;</td></tr>
  145. </table>
  146. <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
  147. <div class="textblock"><p><a class="el" href="namespaceRakNet.html" title="Simple class to send changes between directories. In essence, a simple autopatcher that can be used f...">RakNet</a>'s plugin system. Each plugin processes the following events: -Connection attempts -The result of connection attempts -Each incoming message -Updates over time, when <a class="el" href="classRakNet_1_1RakPeer.html#a46d90fb903e747f76d63eb3a96543740" title="Gets a message from the incoming message queue.">RakPeer::Receive()</a> is called </p>
  148. </div><h2 class="groupheader">Member Function Documentation</h2>
  149. <a class="anchor" id="ae0b0cad31cfc209c48197c77d6b46345"></a>
  150. <div class="memitem">
  151. <div class="memproto">
  152. <table class="mlabels">
  153. <tr>
  154. <td class="mlabels-left">
  155. <table class="memname">
  156. <tr>
  157. <td class="memname">virtual void RakNet::PluginInterface2::OnAck </td>
  158. <td>(</td>
  159. <td class="paramtype">unsigned int&#160;</td>
  160. <td class="paramname"><em>messageNumber</em>, </td>
  161. </tr>
  162. <tr>
  163. <td class="paramkey"></td>
  164. <td></td>
  165. <td class="paramtype"><a class="el" href="structRakNet_1_1SystemAddress.html">SystemAddress</a>&#160;</td>
  166. <td class="paramname"><em>remoteSystemAddress</em>, </td>
  167. </tr>
  168. <tr>
  169. <td class="paramkey"></td>
  170. <td></td>
  171. <td class="paramtype">RakNet::TimeMS&#160;</td>
  172. <td class="paramname"><em>time</em>&#160;</td>
  173. </tr>
  174. <tr>
  175. <td></td>
  176. <td>)</td>
  177. <td></td><td></td>
  178. </tr>
  179. </table>
  180. </td>
  181. <td class="mlabels-right">
  182. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
  183. </tr>
  184. </table>
  185. </div><div class="memdoc">
  186. <p>Called when we get an ack for a message we reliably sent </p>
  187. <dl class="section pre"><dt>Precondition</dt><dd>To be called, <a class="el" href="classRakNet_1_1PluginInterface2.html#accfca7d25262c48a87a30114383284aa">UsesReliabilityLayer()</a> must return true </dd></dl>
  188. <dl class="params"><dt>Parameters</dt><dd>
  189. <table class="params">
  190. <tr><td class="paramdir">[in]</td><td class="paramname">messageNumber</td><td>The numerical identifier for which message this is </td></tr>
  191. <tr><td class="paramdir">[in]</td><td class="paramname">remoteSystemAddress</td><td>The player we sent or got this packet from </td></tr>
  192. <tr><td class="paramdir">[in]</td><td class="paramname">time</td><td>The current time as returned by <a class="el" href="namespaceRakNet.html#ada73d8160aa36bffbba9e3eb092147cc">RakNet::GetTimeMS()</a> </td></tr>
  193. </table>
  194. </dd>
  195. </dl>
  196. <p>Reimplemented in <a class="el" href="classRakNet_1_1PacketLogger.html#a28c18d70969acf2857fde1c7a1b443fd">RakNet::PacketLogger</a>.</p>
  197. </div>
  198. </div>
  199. <a class="anchor" id="a80c7612ca1a5dcfeec0b52d8049a71ea"></a>
  200. <div class="memitem">
  201. <div class="memproto">
  202. <table class="mlabels">
  203. <tr>
  204. <td class="mlabels-left">
  205. <table class="memname">
  206. <tr>
  207. <td class="memname">virtual void RakNet::PluginInterface2::OnClosedConnection </td>
  208. <td>(</td>
  209. <td class="paramtype">const <a class="el" href="structRakNet_1_1SystemAddress.html">SystemAddress</a> &amp;&#160;</td>
  210. <td class="paramname"><em>systemAddress</em>, </td>
  211. </tr>
  212. <tr>
  213. <td class="paramkey"></td>
  214. <td></td>
  215. <td class="paramtype"><a class="el" href="structRakNet_1_1RakNetGUID.html">RakNetGUID</a>&#160;</td>
  216. <td class="paramname"><em>rakNetGUID</em>, </td>
  217. </tr>
  218. <tr>
  219. <td class="paramkey"></td>
  220. <td></td>
  221. <td class="paramtype"><a class="el" href="group__PLUGIN__INTERFACE__GROUP.html#ga376cc546fd6892c2ead48cd51796c8b8">PI2_LostConnectionReason</a>&#160;</td>
  222. <td class="paramname"><em>lostConnectionReason</em>&#160;</td>
  223. </tr>
  224. <tr>
  225. <td></td>
  226. <td>)</td>
  227. <td></td><td></td>
  228. </tr>
  229. </table>
  230. </td>
  231. <td class="mlabels-right">
  232. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
  233. </tr>
  234. </table>
  235. </div><div class="memdoc">
  236. <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>
  237. <dl class="params"><dt>Parameters</dt><dd>
  238. <table class="params">
  239. <tr><td class="paramdir">[in]</td><td class="paramname">systemAddress</td><td>The system whose connection was closed </td></tr>
  240. <tr><td class="paramdir">[in]</td><td class="paramname">rakNetGuid</td><td>The guid of the specified system </td></tr>
  241. <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>
  242. </table>
  243. </dd>
  244. </dl>
  245. <p>Reimplemented in <a class="el" href="classRakNet_1_1RoomsPlugin.html#a613f3693d1709bfc8ec0195ff84eb429">RakNet::RoomsPlugin</a>, <a class="el" href="classRakNet_1_1RPC3.html#a38629f8313e294fba524f941fcb09e09">RakNet::RPC3</a>, <a class="el" href="classRakNet_1_1TeamManager.html#a0d27bb1f13806b2413ec067f872b4410">RakNet::TeamManager</a>, <a class="el" href="classRakNet_1_1ReplicaManager3.html#abebbd0c277164e36dd342b1f83492427">RakNet::ReplicaManager3</a>, <a class="el" href="classRakNet_1_1StatisticsHistoryPlugin.html#ab5ebf87908bf551ef3158ef36cc45a3c">RakNet::StatisticsHistoryPlugin</a>, <a class="el" href="classRakNet_1_1AutopatcherServer.html#a76414a1d46ea3bd2d3401c4f64b70146">RakNet::AutopatcherServer</a>, <a class="el" href="classRakNet_1_1ReadyEvent.html#acf26f69ce62bcbfe5077c61aa2c40f45">RakNet::ReadyEvent</a>, <a class="el" href="classRakNet_1_1RakVoice.html#a12cacc202a637426e6a8c95586ce4be3">RakNet::RakVoice</a>, <a class="el" href="classRakNet_1_1NatPunchthroughClient.html#a67db8e781fea747763df43240a29a84f">RakNet::NatPunchthroughClient</a>, <a class="el" href="classRakNet_1_1MessageFilter.html#a786df4d598682ab2ed1db4dc341a08b3">RakNet::MessageFilter</a>, <a class="el" href="classRakNet_1_1Lobby2Server.html#a952a04e660977f17b0785586e720f885">RakNet::Lobby2Server</a>, <a class="el" href="classRakNet_1_1TeamBalancer.html#a62bd3dd9ccf001df5627664b2c134cf5">RakNet::TeamBalancer</a>, <a class="el" href="classRakNet_1_1CloudServer.html#a9d94fce61a37b8f4b0db1ab01d816c3e">RakNet::CloudServer</a>, <a class="el" href="classRakNet_1_1FileListTransfer.html#a8636e4e2e29274a755495a5cee238a85">RakNet::FileListTransfer</a>, <a class="el" href="classRakNet_1_1RelayPlugin.html#a11626f8a60483c9bd41fbc2bef86b85a">RakNet::RelayPlugin</a>, <a class="el" href="classRakNet_1_1UDPProxyServer.html#a39620eefb2fdb1a1811880d872ce87d0">RakNet::UDPProxyServer</a>, <a class="el" href="classRakNet_1_1HTTPConnection2.html#a12113e000659a90d54680e8c18cfc61e">RakNet::HTTPConnection2</a>, <a class="el" href="classRakNet_1_1ConnectionGraph2.html#a33dcad1914b524d483d69f3b9633dd36">RakNet::ConnectionGraph2</a>, <a class="el" href="classRakNet_1_1Router2.html#a428635762452b03a115043e4628837b9">RakNet::Router2</a>, <a class="el" href="classRakNet_1_1NatPunchthroughServer.html#a45deb0ea94031ed5ca18592fe9555609">RakNet::NatPunchthroughServer</a>, <a class="el" href="classRakNet_1_1RakNetTransport2.html#a43bdc270a02f5584c5190b902ac243d9">RakNet::RakNetTransport2</a>, <a class="el" href="classRakNet_1_1TwoWayAuthentication.html#ad683e107f9c25a5d833b55d547374c02">RakNet::TwoWayAuthentication</a>, <a class="el" href="classRakNet_1_1NatTypeDetectionServer.html#a98f60d8ef3b1542dff0c81464fb0cad8">RakNet::NatTypeDetectionServer</a>, <a class="el" href="classRakNet_1_1Lobby2Client.html#aabca35c74a490696405ba307ebef267a">RakNet::Lobby2Client</a>, <a class="el" href="classRakNet_1_1NatTypeDetectionClient.html#a917181261834f08e30d65758bd07443d">RakNet::NatTypeDetectionClient</a>, and <a class="el" href="classRakNet_1_1UDPProxyCoordinator.html#ac5998f29e20816a2e3f29d6a4d17a78d">RakNet::UDPProxyCoordinator</a>.</p>
  246. </div>
  247. </div>
  248. <a class="anchor" id="a9aac1101ad58e8443516588e96e066ec"></a>
  249. <div class="memitem">
  250. <div class="memproto">
  251. <table class="mlabels">
  252. <tr>
  253. <td class="mlabels-left">
  254. <table class="memname">
  255. <tr>
  256. <td class="memname">virtual void RakNet::PluginInterface2::OnDirectSocketReceive </td>
  257. <td>(</td>
  258. <td class="paramtype">const char *&#160;</td>
  259. <td class="paramname"><em>data</em>, </td>
  260. </tr>
  261. <tr>
  262. <td class="paramkey"></td>
  263. <td></td>
  264. <td class="paramtype">const BitSize_t&#160;</td>
  265. <td class="paramname"><em>bitsUsed</em>, </td>
  266. </tr>
  267. <tr>
  268. <td class="paramkey"></td>
  269. <td></td>
  270. <td class="paramtype"><a class="el" href="structRakNet_1_1SystemAddress.html">SystemAddress</a>&#160;</td>
  271. <td class="paramname"><em>remoteSystemAddress</em>&#160;</td>
  272. </tr>
  273. <tr>
  274. <td></td>
  275. <td>)</td>
  276. <td></td><td></td>
  277. </tr>
  278. </table>
  279. </td>
  280. <td class="mlabels-right">
  281. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
  282. </tr>
  283. </table>
  284. </div><div class="memdoc">
  285. <p>Called on a receive from the socket, per datagram, that does not go through the reliability layer </p>
  286. <dl class="section pre"><dt>Precondition</dt><dd>To be called, <a class="el" href="classRakNet_1_1PluginInterface2.html#accfca7d25262c48a87a30114383284aa">UsesReliabilityLayer()</a> must return true </dd></dl>
  287. <dl class="params"><dt>Parameters</dt><dd>
  288. <table class="params">
  289. <tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>The data being sent </td></tr>
  290. <tr><td class="paramdir">[in]</td><td class="paramname">bitsUsed</td><td>How many bits long <em>data</em> is </td></tr>
  291. <tr><td class="paramdir">[in]</td><td class="paramname">remoteSystemAddress</td><td>Which system this message is being sent to </td></tr>
  292. </table>
  293. </dd>
  294. </dl>
  295. <p>Reimplemented in <a class="el" href="classRakNet_1_1PacketLogger.html#a94dd0e79e3e51933166180f3391a9387">RakNet::PacketLogger</a>.</p>
  296. </div>
  297. </div>
  298. <a class="anchor" id="a7a6f69c6fc3a121e3676298a63a9ef78"></a>
  299. <div class="memitem">
  300. <div class="memproto">
  301. <table class="mlabels">
  302. <tr>
  303. <td class="mlabels-left">
  304. <table class="memname">
  305. <tr>
  306. <td class="memname">virtual void RakNet::PluginInterface2::OnDirectSocketSend </td>
  307. <td>(</td>
  308. <td class="paramtype">const char *&#160;</td>
  309. <td class="paramname"><em>data</em>, </td>
  310. </tr>
  311. <tr>
  312. <td class="paramkey"></td>
  313. <td></td>
  314. <td class="paramtype">const BitSize_t&#160;</td>
  315. <td class="paramname"><em>bitsUsed</em>, </td>
  316. </tr>
  317. <tr>
  318. <td class="paramkey"></td>
  319. <td></td>
  320. <td class="paramtype"><a class="el" href="structRakNet_1_1SystemAddress.html">SystemAddress</a>&#160;</td>
  321. <td class="paramname"><em>remoteSystemAddress</em>&#160;</td>
  322. </tr>
  323. <tr>
  324. <td></td>
  325. <td>)</td>
  326. <td></td><td></td>
  327. </tr>
  328. </table>
  329. </td>
  330. <td class="mlabels-right">
  331. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
  332. </tr>
  333. </table>
  334. </div><div class="memdoc">
  335. <p>Called on a send to the socket, per datagram, that does not go through the reliability layer </p>
  336. <dl class="section pre"><dt>Precondition</dt><dd>To be called, <a class="el" href="classRakNet_1_1PluginInterface2.html#accfca7d25262c48a87a30114383284aa">UsesReliabilityLayer()</a> must return true </dd></dl>
  337. <dl class="params"><dt>Parameters</dt><dd>
  338. <table class="params">
  339. <tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>The data being sent </td></tr>
  340. <tr><td class="paramdir">[in]</td><td class="paramname">bitsUsed</td><td>How many bits long <em>data</em> is </td></tr>
  341. <tr><td class="paramdir">[in]</td><td class="paramname">remoteSystemAddress</td><td>Which system this message is being sent to </td></tr>
  342. </table>
  343. </dd>
  344. </dl>
  345. <p>Reimplemented in <a class="el" href="classRakNet_1_1PacketLogger.html#a574e24adec497ee567f5ea7a1aaa2d26">RakNet::PacketLogger</a>.</p>
  346. </div>
  347. </div>
  348. <a class="anchor" id="a9504489498df14b6efa5ca9bd39aede4"></a>
  349. <div class="memitem">
  350. <div class="memproto">
  351. <table class="mlabels">
  352. <tr>
  353. <td class="mlabels-left">
  354. <table class="memname">
  355. <tr>
  356. <td class="memname">virtual void RakNet::PluginInterface2::OnFailedConnectionAttempt </td>
  357. <td>(</td>
  358. <td class="paramtype"><a class="el" href="structRakNet_1_1Packet.html">Packet</a> *&#160;</td>
  359. <td class="paramname"><em>packet</em>, </td>
  360. </tr>
  361. <tr>
  362. <td class="paramkey"></td>
  363. <td></td>
  364. <td class="paramtype"><a class="el" href="group__PLUGIN__INTERFACE__GROUP.html#ga3e92f686bace869b78c10508c58e0825">PI2_FailedConnectionAttemptReason</a>&#160;</td>
  365. <td class="paramname"><em>failedConnectionAttemptReason</em>&#160;</td>
  366. </tr>
  367. <tr>
  368. <td></td>
  369. <td>)</td>
  370. <td></td><td></td>
  371. </tr>
  372. </table>
  373. </td>
  374. <td class="mlabels-right">
  375. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
  376. </tr>
  377. </table>
  378. </div><div class="memdoc">
  379. <p>Called when a connection attempt fails </p>
  380. <dl class="params"><dt>Parameters</dt><dd>
  381. <table class="params">
  382. <tr><td class="paramdir">[in]</td><td class="paramname">packet</td><td><a class="el" href="structRakNet_1_1Packet.html" title="This represents a user message from another system.">Packet</a> to be returned to the user </td></tr>
  383. <tr><td class="paramdir">[in]</td><td class="paramname">failedConnectionReason</td><td>Why the connection failed </td></tr>
  384. </table>
  385. </dd>
  386. </dl>
  387. <p>Reimplemented in <a class="el" href="classRakNet_1_1HTTPConnection2.html#a150039bb124bdb840dfc3aa37787a1fa">RakNet::HTTPConnection2</a>, and <a class="el" href="classRakNet_1_1Router2.html#ac3be692d08e4ccce030c201038346f1d">RakNet::Router2</a>.</p>
  388. </div>
  389. </div>
  390. <a class="anchor" id="a399b8c93daa0236599961e754742e2f7"></a>
  391. <div class="memitem">
  392. <div class="memproto">
  393. <table class="mlabels">
  394. <tr>
  395. <td class="mlabels-left">
  396. <table class="memname">
  397. <tr>
  398. <td class="memname">virtual void RakNet::PluginInterface2::OnInternalPacket </td>
  399. <td>(</td>
  400. <td class="paramtype"><a class="el" href="structRakNet_1_1InternalPacket.html">InternalPacket</a> *&#160;</td>
  401. <td class="paramname"><em>internalPacket</em>, </td>
  402. </tr>
  403. <tr>
  404. <td class="paramkey"></td>
  405. <td></td>
  406. <td class="paramtype">unsigned&#160;</td>
  407. <td class="paramname"><em>frameNumber</em>, </td>
  408. </tr>
  409. <tr>
  410. <td class="paramkey"></td>
  411. <td></td>
  412. <td class="paramtype"><a class="el" href="structRakNet_1_1SystemAddress.html">SystemAddress</a>&#160;</td>
  413. <td class="paramname"><em>remoteSystemAddress</em>, </td>
  414. </tr>
  415. <tr>
  416. <td class="paramkey"></td>
  417. <td></td>
  418. <td class="paramtype">RakNet::TimeMS&#160;</td>
  419. <td class="paramname"><em>time</em>, </td>
  420. </tr>
  421. <tr>
  422. <td class="paramkey"></td>
  423. <td></td>
  424. <td class="paramtype">int&#160;</td>
  425. <td class="paramname"><em>isSend</em>&#160;</td>
  426. </tr>
  427. <tr>
  428. <td></td>
  429. <td>)</td>
  430. <td></td><td></td>
  431. </tr>
  432. </table>
  433. </td>
  434. <td class="mlabels-right">
  435. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
  436. </tr>
  437. </table>
  438. </div><div class="memdoc">
  439. <p>Called on a send or receive of a message within the reliability layer </p>
  440. <dl class="section pre"><dt>Precondition</dt><dd>To be called, <a class="el" href="classRakNet_1_1PluginInterface2.html#accfca7d25262c48a87a30114383284aa">UsesReliabilityLayer()</a> must return true </dd></dl>
  441. <dl class="params"><dt>Parameters</dt><dd>
  442. <table class="params">
  443. <tr><td class="paramdir">[in]</td><td class="paramname">internalPacket</td><td>The user message, along with all send data. </td></tr>
  444. <tr><td class="paramdir">[in]</td><td class="paramname">frameNumber</td><td>The number of frames sent or received so far for this player depending on <em>isSend</em> . Indicates the frame of this user message. </td></tr>
  445. <tr><td class="paramdir">[in]</td><td class="paramname">remoteSystemAddress</td><td>The player we sent or got this packet from </td></tr>
  446. <tr><td class="paramdir">[in]</td><td class="paramname">time</td><td>The current time as returned by <a class="el" href="namespaceRakNet.html#ada73d8160aa36bffbba9e3eb092147cc">RakNet::GetTimeMS()</a> </td></tr>
  447. <tr><td class="paramdir">[in]</td><td class="paramname">isSend</td><td>Is this callback representing a send event or receive event? </td></tr>
  448. </table>
  449. </dd>
  450. </dl>
  451. <p>Reimplemented in <a class="el" href="classRakNet_1_1PacketLogger.html#a96775f5fb8fa1be7c55b78628ec1ae94">RakNet::PacketLogger</a>.</p>
  452. </div>
  453. </div>
  454. <a class="anchor" id="abf13327cc10f772ba06dff8f2687f8ae"></a>
  455. <div class="memitem">
  456. <div class="memproto">
  457. <table class="mlabels">
  458. <tr>
  459. <td class="mlabels-left">
  460. <table class="memname">
  461. <tr>
  462. <td class="memname">virtual void RakNet::PluginInterface2::OnNewConnection </td>
  463. <td>(</td>
  464. <td class="paramtype">const <a class="el" href="structRakNet_1_1SystemAddress.html">SystemAddress</a> &amp;&#160;</td>
  465. <td class="paramname"><em>systemAddress</em>, </td>
  466. </tr>
  467. <tr>
  468. <td class="paramkey"></td>
  469. <td></td>
  470. <td class="paramtype"><a class="el" href="structRakNet_1_1RakNetGUID.html">RakNetGUID</a>&#160;</td>
  471. <td class="paramname"><em>rakNetGUID</em>, </td>
  472. </tr>
  473. <tr>
  474. <td class="paramkey"></td>
  475. <td></td>
  476. <td class="paramtype">bool&#160;</td>
  477. <td class="paramname"><em>isIncoming</em>&#160;</td>
  478. </tr>
  479. <tr>
  480. <td></td>
  481. <td>)</td>
  482. <td></td><td></td>
  483. </tr>
  484. </table>
  485. </td>
  486. <td class="mlabels-right">
  487. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
  488. </tr>
  489. </table>
  490. </div><div class="memdoc">
  491. <p>Called when we got a new connection </p>
  492. <dl class="params"><dt>Parameters</dt><dd>
  493. <table class="params">
  494. <tr><td class="paramdir">[in]</td><td class="paramname">systemAddress</td><td>Address of the new connection </td></tr>
  495. <tr><td class="paramdir">[in]</td><td class="paramname">rakNetGuid</td><td>The guid of the specified system </td></tr>
  496. <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>
  497. </table>
  498. </dd>
  499. </dl>
  500. <p>Reimplemented in <a class="el" href="classRakNet_1_1TeamManager.html#a87d0516651f2ee7e24867e528d854e0f">RakNet::TeamManager</a>, <a class="el" href="classRakNet_1_1ReplicaManager3.html#ac0c9ec75335ffe5f117a99ee24b55310">RakNet::ReplicaManager3</a>, <a class="el" href="classRakNet_1_1StatisticsHistoryPlugin.html#ae2bb9b2a23fc692a3622c3783ca9ed8c">RakNet::StatisticsHistoryPlugin</a>, <a class="el" href="classRakNet_1_1NatPunchthroughClient.html#a9819ed681b72317c2c97fc1f2abfc947">RakNet::NatPunchthroughClient</a>, <a class="el" href="classRakNet_1_1MessageFilter.html#aa596e84f76f6ce1c8a20464de498b786">RakNet::MessageFilter</a>, <a class="el" href="classRakNet_1_1HTTPConnection2.html#a0326c1416cbbe7d488950a190b7e6e7f">RakNet::HTTPConnection2</a>, <a class="el" href="classRakNet_1_1ConnectionGraph2.html#a5fc7c446326e17cbccfba7f37ce2b42d">RakNet::ConnectionGraph2</a>, <a class="el" href="classRakNet_1_1NatPunchthroughServer.html#a18194f2e4d4f75ae1cd7d0360339a0bb">RakNet::NatPunchthroughServer</a>, and <a class="el" href="classRakNet_1_1RakNetTransport2.html#a55d99bb7a6993f5e4d4ef564dea5e487">RakNet::RakNetTransport2</a>.</p>
  501. </div>
  502. </div>
  503. <a class="anchor" id="a5c976aea56ed85055a17c19d91b90727"></a>
  504. <div class="memitem">
  505. <div class="memproto">
  506. <table class="mlabels">
  507. <tr>
  508. <td class="mlabels-left">
  509. <table class="memname">
  510. <tr>
  511. <td class="memname">virtual void RakNet::PluginInterface2::OnPushBackPacket </td>
  512. <td>(</td>
  513. <td class="paramtype">const char *&#160;</td>
  514. <td class="paramname"><em>data</em>, </td>
  515. </tr>
  516. <tr>
  517. <td class="paramkey"></td>
  518. <td></td>
  519. <td class="paramtype">const BitSize_t&#160;</td>
  520. <td class="paramname"><em>bitsUsed</em>, </td>
  521. </tr>
  522. <tr>
  523. <td class="paramkey"></td>
  524. <td></td>
  525. <td class="paramtype"><a class="el" href="structRakNet_1_1SystemAddress.html">SystemAddress</a>&#160;</td>
  526. <td class="paramname"><em>remoteSystemAddress</em>&#160;</td>
  527. </tr>
  528. <tr>
  529. <td></td>
  530. <td>)</td>
  531. <td></td><td></td>
  532. </tr>
  533. </table>
  534. </td>
  535. <td class="mlabels-right">
  536. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
  537. </tr>
  538. </table>
  539. </div><div class="memdoc">
  540. <p>System called <a class="el" href="classRakNet_1_1RakPeerInterface.html#a29c5527b07a3ddc32083d8ec1e24318b">RakPeerInterface::PushBackPacket</a> </p>
  541. <dl class="params"><dt>Parameters</dt><dd>
  542. <table class="params">
  543. <tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>The data being sent </td></tr>
  544. <tr><td class="paramdir">[in]</td><td class="paramname">bitsUsed</td><td>How many bits long <em>data</em> is </td></tr>
  545. <tr><td class="paramdir">[in]</td><td class="paramname">remoteSystemAddress</td><td>The player we sent or got this packet from </td></tr>
  546. </table>
  547. </dd>
  548. </dl>
  549. <p>Reimplemented in <a class="el" href="classRakNet_1_1PacketLogger.html#aff91d53f25ba43df5778aa04bd01cc4f">RakNet::PacketLogger</a>.</p>
  550. </div>
  551. </div>
  552. <a class="anchor" id="aa86f33263c1648f11b8a006469272639"></a>
  553. <div class="memitem">
  554. <div class="memproto">
  555. <table class="mlabels">
  556. <tr>
  557. <td class="mlabels-left">
  558. <table class="memname">
  559. <tr>
  560. <td class="memname">virtual <a class="el" href="group__PLUGIN__INTERFACE__GROUP.html#ga89998adaafb29e5d879113b992161085">PluginReceiveResult</a> RakNet::PluginInterface2::OnReceive </td>
  561. <td>(</td>
  562. <td class="paramtype"><a class="el" href="structRakNet_1_1Packet.html">Packet</a> *&#160;</td>
  563. <td class="paramname"><em>packet</em></td><td>)</td>
  564. <td></td>
  565. </tr>
  566. </table>
  567. </td>
  568. <td class="mlabels-right">
  569. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
  570. </tr>
  571. </table>
  572. </div><div class="memdoc">
  573. <p>OnReceive is called for every packet. </p>
  574. <dl class="params"><dt>Parameters</dt><dd>
  575. <table class="params">
  576. <tr><td class="paramdir">[in]</td><td class="paramname">packet</td><td>the packet that is being returned to the user </td></tr>
  577. </table>
  578. </dd>
  579. </dl>
  580. <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>
  581. <p>Reimplemented in <a class="el" href="classRakNet_1_1RoomsPlugin.html#a1cefcb0c0027d0bcdb966987eec9ad77">RakNet::RoomsPlugin</a>, <a class="el" href="classRakNet_1_1RPC3.html#af3124837c8700edcb202c3244531228e">RakNet::RPC3</a>, <a class="el" href="classRakNet_1_1TeamManager.html#a6e2cc8a3ca194ab60c74e11f1e6edb80">RakNet::TeamManager</a>, <a class="el" href="classRakNet_1_1ReplicaManager3.html#a0cdd79247e16ca120ed9d13c1fca60ed">RakNet::ReplicaManager3</a>, <a class="el" href="classRakNet_1_1RPC4.html#aa2df727ed0ef203a017e198a94dc8841">RakNet::RPC4</a>, <a class="el" href="classRakNet_1_1AutopatcherServer.html#a1382dcb0946c9473dbad8416b2a59e2e">RakNet::AutopatcherServer</a>, <a class="el" href="classRakNet_1_1ReadyEvent.html#a2dd5308b4ee75a877c53404477a3c637">RakNet::ReadyEvent</a>, <a class="el" href="classRakNet_1_1RakVoice.html#a7e8be4c14ac3194935d46fdc001eae3d">RakNet::RakVoice</a>, <a class="el" href="classRakNet_1_1NatPunchthroughClient.html#a417a0812408c178e1e95d8983389e286">RakNet::NatPunchthroughClient</a>, <a class="el" href="classRakNet_1_1MessageFilter.html#ab3a96d9d18086da2cd8ee834116ff5e4">RakNet::MessageFilter</a>, <a class="el" href="classRakNet_1_1Lobby2Server.html#adaaaf6224637d7200f0d7f7edfc81199">RakNet::Lobby2Server</a>, <a class="el" href="classRakNet_1_1TeamBalancer.html#a1e3c779240545e2608f39c0fdfda802b">RakNet::TeamBalancer</a>, <a class="el" href="classRakNet_1_1UDPProxyClient.html#a92e2cefd0e42ee8a86fde60e32cd53c2">RakNet::UDPProxyClient</a>, <a class="el" href="classRakNet_1_1CloudClient.html#a17e6ca18a786db8612d6c64d82673bd1">RakNet::CloudClient</a>, <a class="el" href="classRakNet_1_1CloudServer.html#adbee1916d2deb68367f642065f029055">RakNet::CloudServer</a>, <a class="el" href="classRakNet_1_1FileListTransfer.html#afc5dc95534da3a6e812dcc7d045bb9cd">RakNet::FileListTransfer</a>, <a class="el" href="classRakNet_1_1SQLite3ClientPlugin.html#ac4a9a1dfc8221d1ef37ad83c3d9b157e">RakNet::SQLite3ClientPlugin</a>, <a class="el" href="classRakNet_1_1RelayPlugin.html#ae9eed4316b23891897d8bdf952a45618">RakNet::RelayPlugin</a>, <a class="el" href="classRakNet_1_1ConnectionGraph2.html#a952ce38786f2156945d5af7797ff70e8">RakNet::ConnectionGraph2</a>, <a class="el" href="classRakNet_1_1UDPProxyServer.html#a051c38b321e54ba658b2e3eb2224940e">RakNet::UDPProxyServer</a>, <a class="el" href="classRakNet_1_1HTTPConnection2.html#a3cc77b3be727d87abb8434b01a842445">RakNet::HTTPConnection2</a>, <a class="el" href="classRakNet_1_1Router2.html#a825d62c2f01def72c58815b609cf4bbf">RakNet::Router2</a>, <a class="el" href="classRakNet_1_1NatPunchthroughServer.html#ac94ec3872057d6488455aa54f0b577cc">RakNet::NatPunchthroughServer</a>, <a class="el" href="classRakNet_1_1RakNetTransport2.html#ad5607edbc41109fa3ab901c8eb47616d">RakNet::RakNetTransport2</a>, <a class="el" href="classRakNet_1_1TwoWayAuthentication.html#a692b2d35df56e4a4c0550808d67864cc">RakNet::TwoWayAuthentication</a>, <a class="el" href="classRakNet_1_1NatTypeDetectionServer.html#a3e57afed0cc9d4db4834c6ddb07c834c">RakNet::NatTypeDetectionServer</a>, <a class="el" href="classRakNet_1_1Lobby2Client.html#ab6bd157a6a8d6e71961e94c8ec10e817">RakNet::Lobby2Client</a>, <a class="el" href="classRakNet_1_1SQLite3ServerPlugin.html#a6d83f6d4f39c1dd3afbd11c3f07f879f">RakNet::SQLite3ServerPlugin</a>, <a class="el" href="classRakNet_1_1NatTypeDetectionClient.html#a264c0f60ebec5f2332821abc5c774f1e">RakNet::NatTypeDetectionClient</a>, and <a class="el" href="classRakNet_1_1UDPProxyCoordinator.html#a5be9954434489ab6c0004db520fc9447">RakNet::UDPProxyCoordinator</a>.</p>
  582. </div>
  583. </div>
  584. <a class="anchor" id="abf51e60546bd74d21c91dc0d6f9f3a4b"></a>
  585. <div class="memitem">
  586. <div class="memproto">
  587. <table class="mlabels">
  588. <tr>
  589. <td class="mlabels-left">
  590. <table class="memname">
  591. <tr>
  592. <td class="memname">virtual void RakNet::PluginInterface2::OnReliabilityLayerNotification </td>
  593. <td>(</td>
  594. <td class="paramtype">const char *&#160;</td>
  595. <td class="paramname"><em>errorMessage</em>, </td>
  596. </tr>
  597. <tr>
  598. <td class="paramkey"></td>
  599. <td></td>
  600. <td class="paramtype">const BitSize_t&#160;</td>
  601. <td class="paramname"><em>bitsUsed</em>, </td>
  602. </tr>
  603. <tr>
  604. <td class="paramkey"></td>
  605. <td></td>
  606. <td class="paramtype"><a class="el" href="structRakNet_1_1SystemAddress.html">SystemAddress</a>&#160;</td>
  607. <td class="paramname"><em>remoteSystemAddress</em>, </td>
  608. </tr>
  609. <tr>
  610. <td class="paramkey"></td>
  611. <td></td>
  612. <td class="paramtype">bool&#160;</td>
  613. <td class="paramname"><em>isError</em>&#160;</td>
  614. </tr>
  615. <tr>
  616. <td></td>
  617. <td>)</td>
  618. <td></td><td></td>
  619. </tr>
  620. </table>
  621. </td>
  622. <td class="mlabels-right">
  623. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
  624. </tr>
  625. </table>
  626. </div><div class="memdoc">
  627. <p>Called when the reliability layer rejects a send or receive </p>
  628. <dl class="section pre"><dt>Precondition</dt><dd>To be called, <a class="el" href="classRakNet_1_1PluginInterface2.html#accfca7d25262c48a87a30114383284aa">UsesReliabilityLayer()</a> must return true </dd></dl>
  629. <dl class="params"><dt>Parameters</dt><dd>
  630. <table class="params">
  631. <tr><td class="paramdir">[in]</td><td class="paramname">bitsUsed</td><td>How many bits long <em>data</em> is </td></tr>
  632. <tr><td class="paramdir">[in]</td><td class="paramname">remoteSystemAddress</td><td>Which system this message is being sent to </td></tr>
  633. </table>
  634. </dd>
  635. </dl>
  636. <p>Reimplemented in <a class="el" href="classRakNet_1_1PacketLogger.html#aba0d74f42ad8b50ed50e439d4d13fafb">RakNet::PacketLogger</a>.</p>
  637. </div>
  638. </div>
  639. <a class="anchor" id="accfca7d25262c48a87a30114383284aa"></a>
  640. <div class="memitem">
  641. <div class="memproto">
  642. <table class="mlabels">
  643. <tr>
  644. <td class="mlabels-left">
  645. <table class="memname">
  646. <tr>
  647. <td class="memname">virtual bool RakNet::PluginInterface2::UsesReliabilityLayer </td>
  648. <td>(</td>
  649. <td class="paramtype">void&#160;</td>
  650. <td class="paramname"></td><td>)</td>
  651. <td> const</td>
  652. </tr>
  653. </table>
  654. </td>
  655. <td class="mlabels-right">
  656. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
  657. </tr>
  658. </table>
  659. </div><div class="memdoc">
  660. <p>Queried when attached to <a class="el" href="classRakNet_1_1RakPeer.html" title="Main interface for network communications.">RakPeer</a> Return true to call <a class="el" href="classRakNet_1_1PluginInterface2.html#a7a6f69c6fc3a121e3676298a63a9ef78">OnDirectSocketSend()</a>, <a class="el" href="classRakNet_1_1PluginInterface2.html#a9aac1101ad58e8443516588e96e066ec">OnDirectSocketReceive()</a>, <a class="el" href="classRakNet_1_1PluginInterface2.html#abf51e60546bd74d21c91dc0d6f9f3a4b">OnReliabilityLayerNotification()</a>, <a class="el" href="classRakNet_1_1PluginInterface2.html#a399b8c93daa0236599961e754742e2f7">OnInternalPacket()</a>, and <a class="el" href="classRakNet_1_1PluginInterface2.html#ae0b0cad31cfc209c48197c77d6b46345">OnAck()</a> If true, then you cannot call <a class="el" href="classRakNet_1_1RakPeer.html#a4ceacd63ae51089a2e36287c54f07ffe" title="Attaches a Plugin interface to an instance of the base class (RakPeer or PacketizedTCP) to run code a...">RakPeer::AttachPlugin()</a> or <a class="el" href="classRakNet_1_1RakPeer.html#a9f29151642a0ad0abdddc6d9a8f25239" title="Detaches a Plugin interface from the instance of the base class (RakPeer or PacketizedTCP) it is atta...">RakPeer::DetachPlugin()</a> for this plugin, while <a class="el" href="classRakNet_1_1RakPeer.html" title="Main interface for network communications.">RakPeer</a> is active </p>
  661. <p>Reimplemented in <a class="el" href="classRakNet_1_1PacketLogger.html#ab486d35c408ffee7d1732678143d4a81">RakNet::PacketLogger</a>.</p>
  662. </div>
  663. </div>
  664. <hr/>The documentation for this class was generated from the following file:<ul>
  665. <li>D:/temp/RakNet_PC/Source/<a class="el" href="PluginInterface2_8h.html">PluginInterface2.h</a></li>
  666. </ul>
  667. </div><!-- contents -->
  668. <!-- start footer part -->
  669. <hr class="footer"/><address class="footer"><small>
  670. Generated on Mon Jun 2 2014 20:10:29 for RakNet by &#160;<a href="http://www.doxygen.org/index.html">
  671. <img class="footer" src="doxygen.png" alt="doxygen"/>
  672. </a> 1.8.2
  673. </small></address>
  674. </body>
  675. </html>
粤ICP备19079148号