classRakNet_1_1ReliabilityLayer.html 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485
  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::ReliabilityLayer 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_1ReliabilityLayer.html">ReliabilityLayer</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_1ReliabilityLayer-members.html">List of all members</a> </div>
  56. <div class="headertitle">
  57. <div class="title">RakNet::ReliabilityLayer Class Reference</div> </div>
  58. </div><!--header-->
  59. <div class="contents">
  60. <p>Datagram reliable, ordered, unordered and sequenced sends. Flow control. Message splitting, reassembly, and coalescence.
  61. <a href="classRakNet_1_1ReliabilityLayer.html#details">More...</a></p>
  62. <p><code>#include &lt;ReliabilityLayer.h&gt;</code></p>
  63. <table class="memberdecls">
  64. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
  65. Public Member Functions</h2></td></tr>
  66. <tr class="memitem:ae9130c179782a6f8c27cd9c1385818dc"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae9130c179782a6f8c27cd9c1385818dc"></a>
  67. void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1ReliabilityLayer.html#ae9130c179782a6f8c27cd9c1385818dc">Reset</a> (bool resetVariables, int MTUSize, bool _useSecurity)</td></tr>
  68. <tr class="memdesc:ae9130c179782a6f8c27cd9c1385818dc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Resets the layer for reuse. <br/></td></tr>
  69. <tr class="separator:ae9130c179782a6f8c27cd9c1385818dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
  70. <tr class="memitem:a52cf9a398cfe611e1af920a19e65787a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1ReliabilityLayer.html#a52cf9a398cfe611e1af920a19e65787a">SetTimeoutTime</a> (RakNet::TimeMS time)</td></tr>
  71. <tr class="separator:a52cf9a398cfe611e1af920a19e65787a"><td class="memSeparator" colspan="2">&#160;</td></tr>
  72. <tr class="memitem:a36dcac9c07138222392a4c1314c23a8f"><td class="memItemLeft" align="right" valign="top">RakNet::TimeMS&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1ReliabilityLayer.html#a36dcac9c07138222392a4c1314c23a8f">GetTimeoutTime</a> (void)</td></tr>
  73. <tr class="separator:a36dcac9c07138222392a4c1314c23a8f"><td class="memSeparator" colspan="2">&#160;</td></tr>
  74. <tr class="memitem:ad4705443cbdb957b9351cfffdd23a81b"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1ReliabilityLayer.html#ad4705443cbdb957b9351cfffdd23a81b">HandleSocketReceiveFromConnectedPlayer</a> (const char *buffer, unsigned int length, <a class="el" href="structRakNet_1_1SystemAddress.html">SystemAddress</a> &amp;systemAddress, <a class="el" href="classDataStructures_1_1List.html">DataStructures::List</a>&lt; <a class="el" href="classRakNet_1_1PluginInterface2.html">PluginInterface2</a> * &gt; &amp;messageHandlerList, int MTUSize, RakNetSocket2 *s, RakNetRandom *rnr, CCTimeType timeRead, <a class="el" href="classRakNet_1_1BitStream.html">BitStream</a> &amp;updateBitStream)</td></tr>
  75. <tr class="separator:ad4705443cbdb957b9351cfffdd23a81b"><td class="memSeparator" colspan="2">&#160;</td></tr>
  76. <tr class="memitem:a9dcac79ba7f4f69424c586f267dbf0a1"><td class="memItemLeft" align="right" valign="top">BitSize_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1ReliabilityLayer.html#a9dcac79ba7f4f69424c586f267dbf0a1">Receive</a> (unsigned char **data)</td></tr>
  77. <tr class="separator:a9dcac79ba7f4f69424c586f267dbf0a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
  78. <tr class="memitem:a1c0cec3e2e22dc8a5e66906f659e226a"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1ReliabilityLayer.html#a1c0cec3e2e22dc8a5e66906f659e226a">Send</a> (char *data, BitSize_t numberOfBitsToSend, <a class="el" href="PacketPriority_8h.html#a659378374e516180f93640c79f59705c">PacketPriority</a> priority, <a class="el" href="PacketPriority_8h.html#ae41fa01235e99dced384d137fa874a7e">PacketReliability</a> reliability, unsigned char orderingChannel, bool makeDataCopy, int MTUSize, CCTimeType currentTime, uint32_t receipt)</td></tr>
  79. <tr class="separator:a1c0cec3e2e22dc8a5e66906f659e226a"><td class="memSeparator" colspan="2">&#160;</td></tr>
  80. <tr class="memitem:ab49b383b349560bbb4f72643db3e1ea0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1ReliabilityLayer.html#ab49b383b349560bbb4f72643db3e1ea0">Update</a> (RakNetSocket2 *s, <a class="el" href="structRakNet_1_1SystemAddress.html">SystemAddress</a> &amp;systemAddress, int MTUSize, CCTimeType time, unsigned bitsPerSecondLimit, <a class="el" href="classDataStructures_1_1List.html">DataStructures::List</a>&lt; <a class="el" href="classRakNet_1_1PluginInterface2.html">PluginInterface2</a> * &gt; &amp;messageHandlerList, RakNetRandom *rnr, <a class="el" href="classRakNet_1_1BitStream.html">BitStream</a> &amp;updateBitStream)</td></tr>
  81. <tr class="separator:ab49b383b349560bbb4f72643db3e1ea0"><td class="memSeparator" colspan="2">&#160;</td></tr>
  82. <tr class="memitem:aefec7668d83301e70d97f2a5f174b6f3"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1ReliabilityLayer.html#aefec7668d83301e70d97f2a5f174b6f3">IsDeadConnection</a> (void) const </td></tr>
  83. <tr class="separator:aefec7668d83301e70d97f2a5f174b6f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
  84. <tr class="memitem:a4c641454132f1b0d79969100e46dbf3f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4c641454132f1b0d79969100e46dbf3f"></a>
  85. void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1ReliabilityLayer.html#a4c641454132f1b0d79969100e46dbf3f">KillConnection</a> (void)</td></tr>
  86. <tr class="memdesc:a4c641454132f1b0d79969100e46dbf3f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Causes IsDeadConnection to return true. <br/></td></tr>
  87. <tr class="separator:a4c641454132f1b0d79969100e46dbf3f"><td class="memSeparator" colspan="2">&#160;</td></tr>
  88. <tr class="memitem:a09e4d34890b2f3163616efd717c6069f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structRakNet_1_1RakNetStatistics.html">RakNetStatistics</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1ReliabilityLayer.html#a09e4d34890b2f3163616efd717c6069f">GetStatistics</a> (<a class="el" href="structRakNet_1_1RakNetStatistics.html">RakNetStatistics</a> *rns)</td></tr>
  89. <tr class="separator:a09e4d34890b2f3163616efd717c6069f"><td class="memSeparator" colspan="2">&#160;</td></tr>
  90. <tr class="memitem:a7a3a10ac55b09d57e218d18c33b78c30"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7a3a10ac55b09d57e218d18c33b78c30"></a>
  91. bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1ReliabilityLayer.html#a7a3a10ac55b09d57e218d18c33b78c30">IsOutgoingDataWaiting</a> (void)</td></tr>
  92. <tr class="memdesc:a7a3a10ac55b09d57e218d18c33b78c30"><td class="mdescLeft">&#160;</td><td class="mdescRight">Are we waiting for any data to be sent out or be processed by the player? <br/></td></tr>
  93. <tr class="separator:a7a3a10ac55b09d57e218d18c33b78c30"><td class="memSeparator" colspan="2">&#160;</td></tr>
  94. <tr class="memitem:a4ed34ffa73cea88a216c8e345e6878ea"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1ReliabilityLayer.html#a4ed34ffa73cea88a216c8e345e6878ea">IsNetworkSimulatorActive</a> (void)</td></tr>
  95. <tr class="separator:a4ed34ffa73cea88a216c8e345e6878ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
  96. <tr class="memitem:a97ed79b752b105253bae9f41b27084b6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a97ed79b752b105253bae9f41b27084b6"></a>
  97. bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1ReliabilityLayer.html#a97ed79b752b105253bae9f41b27084b6">AckTimeout</a> (RakNet::Time curTime)</td></tr>
  98. <tr class="memdesc:a97ed79b752b105253bae9f41b27084b6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Has a lot of time passed since the last ack. <br/></td></tr>
  99. <tr class="separator:a97ed79b752b105253bae9f41b27084b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
  100. </table>
  101. <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
  102. <div class="textblock"><p>Datagram reliable, ordered, unordered and sequenced sends. Flow control. Message splitting, reassembly, and coalescence. </p>
  103. </div><h2 class="groupheader">Member Function Documentation</h2>
  104. <a class="anchor" id="a09e4d34890b2f3163616efd717c6069f"></a>
  105. <div class="memitem">
  106. <div class="memproto">
  107. <table class="memname">
  108. <tr>
  109. <td class="memname"><a class="el" href="structRakNet_1_1RakNetStatistics.html">RakNetStatistics</a>* RakNet::ReliabilityLayer::GetStatistics </td>
  110. <td>(</td>
  111. <td class="paramtype"><a class="el" href="structRakNet_1_1RakNetStatistics.html">RakNetStatistics</a> *&#160;</td>
  112. <td class="paramname"><em>rns</em></td><td>)</td>
  113. <td></td>
  114. </tr>
  115. </table>
  116. </div><div class="memdoc">
  117. <p>Get Statistics </p>
  118. <dl class="section return"><dt>Returns</dt><dd>A pointer to a static struct, filled out with current statistical information. </dd></dl>
  119. </div>
  120. </div>
  121. <a class="anchor" id="a36dcac9c07138222392a4c1314c23a8f"></a>
  122. <div class="memitem">
  123. <div class="memproto">
  124. <table class="memname">
  125. <tr>
  126. <td class="memname">RakNet::TimeMS RakNet::ReliabilityLayer::GetTimeoutTime </td>
  127. <td>(</td>
  128. <td class="paramtype">void&#160;</td>
  129. <td class="paramname"></td><td>)</td>
  130. <td></td>
  131. </tr>
  132. </table>
  133. </div><div class="memdoc">
  134. <p>Returns the value passed to SetTimeoutTime. or the default if it was never called </p>
  135. <dl class="params"><dt>Parameters</dt><dd>
  136. <table class="params">
  137. <tr><td class="paramdir">[out]</td><td class="paramname">the</td><td>value passed to SetTimeoutTime </td></tr>
  138. </table>
  139. </dd>
  140. </dl>
  141. </div>
  142. </div>
  143. <a class="anchor" id="ad4705443cbdb957b9351cfffdd23a81b"></a>
  144. <div class="memitem">
  145. <div class="memproto">
  146. <table class="memname">
  147. <tr>
  148. <td class="memname">bool RakNet::ReliabilityLayer::HandleSocketReceiveFromConnectedPlayer </td>
  149. <td>(</td>
  150. <td class="paramtype">const char *&#160;</td>
  151. <td class="paramname"><em>buffer</em>, </td>
  152. </tr>
  153. <tr>
  154. <td class="paramkey"></td>
  155. <td></td>
  156. <td class="paramtype">unsigned int&#160;</td>
  157. <td class="paramname"><em>length</em>, </td>
  158. </tr>
  159. <tr>
  160. <td class="paramkey"></td>
  161. <td></td>
  162. <td class="paramtype"><a class="el" href="structRakNet_1_1SystemAddress.html">SystemAddress</a> &amp;&#160;</td>
  163. <td class="paramname"><em>systemAddress</em>, </td>
  164. </tr>
  165. <tr>
  166. <td class="paramkey"></td>
  167. <td></td>
  168. <td class="paramtype"><a class="el" href="classDataStructures_1_1List.html">DataStructures::List</a>&lt; <a class="el" href="classRakNet_1_1PluginInterface2.html">PluginInterface2</a> * &gt; &amp;&#160;</td>
  169. <td class="paramname"><em>messageHandlerList</em>, </td>
  170. </tr>
  171. <tr>
  172. <td class="paramkey"></td>
  173. <td></td>
  174. <td class="paramtype">int&#160;</td>
  175. <td class="paramname"><em>MTUSize</em>, </td>
  176. </tr>
  177. <tr>
  178. <td class="paramkey"></td>
  179. <td></td>
  180. <td class="paramtype">RakNetSocket2 *&#160;</td>
  181. <td class="paramname"><em>s</em>, </td>
  182. </tr>
  183. <tr>
  184. <td class="paramkey"></td>
  185. <td></td>
  186. <td class="paramtype">RakNetRandom *&#160;</td>
  187. <td class="paramname"><em>rnr</em>, </td>
  188. </tr>
  189. <tr>
  190. <td class="paramkey"></td>
  191. <td></td>
  192. <td class="paramtype">CCTimeType&#160;</td>
  193. <td class="paramname"><em>timeRead</em>, </td>
  194. </tr>
  195. <tr>
  196. <td class="paramkey"></td>
  197. <td></td>
  198. <td class="paramtype"><a class="el" href="classRakNet_1_1BitStream.html">BitStream</a> &amp;&#160;</td>
  199. <td class="paramname"><em>updateBitStream</em>&#160;</td>
  200. </tr>
  201. <tr>
  202. <td></td>
  203. <td>)</td>
  204. <td></td><td></td>
  205. </tr>
  206. </table>
  207. </div><div class="memdoc">
  208. <p>Packets are read directly from the socket layer and skip the reliability layer because unconnected players do not use the reliability layer This function takes packet data after a player has been confirmed as connected. </p>
  209. <dl class="params"><dt>Parameters</dt><dd>
  210. <table class="params">
  211. <tr><td class="paramdir">[in]</td><td class="paramname">buffer</td><td>The socket data </td></tr>
  212. <tr><td class="paramdir">[in]</td><td class="paramname">length</td><td>The length of the socket data </td></tr>
  213. <tr><td class="paramdir">[in]</td><td class="paramname">systemAddress</td><td>The player that this data is from </td></tr>
  214. <tr><td class="paramdir">[in]</td><td class="paramname">messageHandlerList</td><td>A list of registered plugins </td></tr>
  215. <tr><td class="paramdir">[in]</td><td class="paramname">MTUSize</td><td>maximum datagram size </td></tr>
  216. </table>
  217. </dd>
  218. </dl>
  219. <dl class="retval"><dt>Return values</dt><dd>
  220. <table class="retval">
  221. <tr><td class="paramname">true</td><td>Success </td></tr>
  222. <tr><td class="paramname">false</td><td>Modified packet </td></tr>
  223. </table>
  224. </dd>
  225. </dl>
  226. </div>
  227. </div>
  228. <a class="anchor" id="aefec7668d83301e70d97f2a5f174b6f3"></a>
  229. <div class="memitem">
  230. <div class="memproto">
  231. <table class="memname">
  232. <tr>
  233. <td class="memname">bool RakNet::ReliabilityLayer::IsDeadConnection </td>
  234. <td>(</td>
  235. <td class="paramtype">void&#160;</td>
  236. <td class="paramname"></td><td>)</td>
  237. <td> const</td>
  238. </tr>
  239. </table>
  240. </div><div class="memdoc">
  241. <p>Were you ever unable to deliver a packet despite retries? </p>
  242. <dl class="section return"><dt>Returns</dt><dd>true means the connection has been lost. Otherwise not. </dd></dl>
  243. </div>
  244. </div>
  245. <a class="anchor" id="a4ed34ffa73cea88a216c8e345e6878ea"></a>
  246. <div class="memitem">
  247. <div class="memproto">
  248. <table class="memname">
  249. <tr>
  250. <td class="memname">bool RakNet::ReliabilityLayer::IsNetworkSimulatorActive </td>
  251. <td>(</td>
  252. <td class="paramtype">void&#160;</td>
  253. <td class="paramname"></td><td>)</td>
  254. <td></td>
  255. </tr>
  256. </table>
  257. </div><div class="memdoc">
  258. <p>Returns if you previously called ApplyNetworkSimulator </p>
  259. <dl class="section return"><dt>Returns</dt><dd>If you previously called ApplyNetworkSimulator </dd></dl>
  260. </div>
  261. </div>
  262. <a class="anchor" id="a9dcac79ba7f4f69424c586f267dbf0a1"></a>
  263. <div class="memitem">
  264. <div class="memproto">
  265. <table class="memname">
  266. <tr>
  267. <td class="memname">BitSize_t RakNet::ReliabilityLayer::Receive </td>
  268. <td>(</td>
  269. <td class="paramtype">unsigned char **&#160;</td>
  270. <td class="paramname"><em>data</em></td><td>)</td>
  271. <td></td>
  272. </tr>
  273. </table>
  274. </div><div class="memdoc">
  275. <p>This allocates bytes and writes a user-level message to those bytes. </p>
  276. <dl class="params"><dt>Parameters</dt><dd>
  277. <table class="params">
  278. <tr><td class="paramdir">[out]</td><td class="paramname">data</td><td>The message </td></tr>
  279. </table>
  280. </dd>
  281. </dl>
  282. <dl class="section return"><dt>Returns</dt><dd>Returns number of BITS put into the buffer </dd></dl>
  283. </div>
  284. </div>
  285. <a class="anchor" id="a1c0cec3e2e22dc8a5e66906f659e226a"></a>
  286. <div class="memitem">
  287. <div class="memproto">
  288. <table class="memname">
  289. <tr>
  290. <td class="memname">bool RakNet::ReliabilityLayer::Send </td>
  291. <td>(</td>
  292. <td class="paramtype">char *&#160;</td>
  293. <td class="paramname"><em>data</em>, </td>
  294. </tr>
  295. <tr>
  296. <td class="paramkey"></td>
  297. <td></td>
  298. <td class="paramtype">BitSize_t&#160;</td>
  299. <td class="paramname"><em>numberOfBitsToSend</em>, </td>
  300. </tr>
  301. <tr>
  302. <td class="paramkey"></td>
  303. <td></td>
  304. <td class="paramtype"><a class="el" href="PacketPriority_8h.html#a659378374e516180f93640c79f59705c">PacketPriority</a>&#160;</td>
  305. <td class="paramname"><em>priority</em>, </td>
  306. </tr>
  307. <tr>
  308. <td class="paramkey"></td>
  309. <td></td>
  310. <td class="paramtype"><a class="el" href="PacketPriority_8h.html#ae41fa01235e99dced384d137fa874a7e">PacketReliability</a>&#160;</td>
  311. <td class="paramname"><em>reliability</em>, </td>
  312. </tr>
  313. <tr>
  314. <td class="paramkey"></td>
  315. <td></td>
  316. <td class="paramtype">unsigned char&#160;</td>
  317. <td class="paramname"><em>orderingChannel</em>, </td>
  318. </tr>
  319. <tr>
  320. <td class="paramkey"></td>
  321. <td></td>
  322. <td class="paramtype">bool&#160;</td>
  323. <td class="paramname"><em>makeDataCopy</em>, </td>
  324. </tr>
  325. <tr>
  326. <td class="paramkey"></td>
  327. <td></td>
  328. <td class="paramtype">int&#160;</td>
  329. <td class="paramname"><em>MTUSize</em>, </td>
  330. </tr>
  331. <tr>
  332. <td class="paramkey"></td>
  333. <td></td>
  334. <td class="paramtype">CCTimeType&#160;</td>
  335. <td class="paramname"><em>currentTime</em>, </td>
  336. </tr>
  337. <tr>
  338. <td class="paramkey"></td>
  339. <td></td>
  340. <td class="paramtype">uint32_t&#160;</td>
  341. <td class="paramname"><em>receipt</em>&#160;</td>
  342. </tr>
  343. <tr>
  344. <td></td>
  345. <td>)</td>
  346. <td></td><td></td>
  347. </tr>
  348. </table>
  349. </div><div class="memdoc">
  350. <p>Puts data on the send queue </p>
  351. <dl class="params"><dt>Parameters</dt><dd>
  352. <table class="params">
  353. <tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>The data to send </td></tr>
  354. <tr><td class="paramdir">[in]</td><td class="paramname">numberOfBitsToSend</td><td>The length of <em>data</em> in bits </td></tr>
  355. <tr><td class="paramdir">[in]</td><td class="paramname">priority</td><td>The priority level for the send </td></tr>
  356. <tr><td class="paramdir">[in]</td><td class="paramname">reliability</td><td>The reliability type for the send </td></tr>
  357. <tr><td class="paramdir">[in]</td><td class="paramname">orderingChannel</td><td>0 to 31. Specifies what channel to use, for relational ordering and sequencing of packets. </td></tr>
  358. <tr><td class="paramdir">[in]</td><td class="paramname">makeDataCopy</td><td>If true <em>data</em> will be copied. Otherwise, only a pointer will be stored. </td></tr>
  359. <tr><td class="paramdir">[in]</td><td class="paramname">MTUSize</td><td>maximum datagram size </td></tr>
  360. <tr><td class="paramdir">[in]</td><td class="paramname">currentTime</td><td>Current time, as per <a class="el" href="namespaceRakNet.html#ada73d8160aa36bffbba9e3eb092147cc">RakNet::GetTimeMS()</a> </td></tr>
  361. <tr><td class="paramdir">[in]</td><td class="paramname">receipt</td><td>This number will be returned back with ID_SND_RECEIPT_ACKED or ID_SND_RECEIPT_LOSS and is only returned with the reliability types that contain RECEIPT in the name </td></tr>
  362. </table>
  363. </dd>
  364. </dl>
  365. <dl class="section return"><dt>Returns</dt><dd>True or false for success or failure. </dd></dl>
  366. </div>
  367. </div>
  368. <a class="anchor" id="a52cf9a398cfe611e1af920a19e65787a"></a>
  369. <div class="memitem">
  370. <div class="memproto">
  371. <table class="memname">
  372. <tr>
  373. <td class="memname">void RakNet::ReliabilityLayer::SetTimeoutTime </td>
  374. <td>(</td>
  375. <td class="paramtype">RakNet::TimeMS&#160;</td>
  376. <td class="paramname"><em>time</em></td><td>)</td>
  377. <td></td>
  378. </tr>
  379. </table>
  380. </div><div class="memdoc">
  381. <p>Set the time, in MS, to use before considering ourselves disconnected after not being able to deliver a reliable packet Default time is 10,000 or 10 seconds in release and 30,000 or 30 seconds in debug. </p>
  382. <dl class="params"><dt>Parameters</dt><dd>
  383. <table class="params">
  384. <tr><td class="paramdir">[in]</td><td class="paramname">time</td><td>Time, in MS </td></tr>
  385. </table>
  386. </dd>
  387. </dl>
  388. </div>
  389. </div>
  390. <a class="anchor" id="ab49b383b349560bbb4f72643db3e1ea0"></a>
  391. <div class="memitem">
  392. <div class="memproto">
  393. <table class="memname">
  394. <tr>
  395. <td class="memname">void RakNet::ReliabilityLayer::Update </td>
  396. <td>(</td>
  397. <td class="paramtype">RakNetSocket2 *&#160;</td>
  398. <td class="paramname"><em>s</em>, </td>
  399. </tr>
  400. <tr>
  401. <td class="paramkey"></td>
  402. <td></td>
  403. <td class="paramtype"><a class="el" href="structRakNet_1_1SystemAddress.html">SystemAddress</a> &amp;&#160;</td>
  404. <td class="paramname"><em>systemAddress</em>, </td>
  405. </tr>
  406. <tr>
  407. <td class="paramkey"></td>
  408. <td></td>
  409. <td class="paramtype">int&#160;</td>
  410. <td class="paramname"><em>MTUSize</em>, </td>
  411. </tr>
  412. <tr>
  413. <td class="paramkey"></td>
  414. <td></td>
  415. <td class="paramtype">CCTimeType&#160;</td>
  416. <td class="paramname"><em>time</em>, </td>
  417. </tr>
  418. <tr>
  419. <td class="paramkey"></td>
  420. <td></td>
  421. <td class="paramtype">unsigned&#160;</td>
  422. <td class="paramname"><em>bitsPerSecondLimit</em>, </td>
  423. </tr>
  424. <tr>
  425. <td class="paramkey"></td>
  426. <td></td>
  427. <td class="paramtype"><a class="el" href="classDataStructures_1_1List.html">DataStructures::List</a>&lt; <a class="el" href="classRakNet_1_1PluginInterface2.html">PluginInterface2</a> * &gt; &amp;&#160;</td>
  428. <td class="paramname"><em>messageHandlerList</em>, </td>
  429. </tr>
  430. <tr>
  431. <td class="paramkey"></td>
  432. <td></td>
  433. <td class="paramtype">RakNetRandom *&#160;</td>
  434. <td class="paramname"><em>rnr</em>, </td>
  435. </tr>
  436. <tr>
  437. <td class="paramkey"></td>
  438. <td></td>
  439. <td class="paramtype"><a class="el" href="classRakNet_1_1BitStream.html">BitStream</a> &amp;&#160;</td>
  440. <td class="paramname"><em>updateBitStream</em>&#160;</td>
  441. </tr>
  442. <tr>
  443. <td></td>
  444. <td>)</td>
  445. <td></td><td></td>
  446. </tr>
  447. </table>
  448. </div><div class="memdoc">
  449. <p>Call once per game cycle. Handles internal lists and actually does the send. </p>
  450. <dl class="params"><dt>Parameters</dt><dd>
  451. <table class="params">
  452. <tr><td class="paramdir">[in]</td><td class="paramname">s</td><td>the communication end point </td></tr>
  453. <tr><td class="paramdir">[in]</td><td class="paramname">systemAddress</td><td>The Unique Player Identifier who shouldhave sent some packets </td></tr>
  454. <tr><td class="paramdir">[in]</td><td class="paramname">MTUSize</td><td>maximum datagram size </td></tr>
  455. <tr><td class="paramdir">[in]</td><td class="paramname">time</td><td>current system time </td></tr>
  456. <tr><td class="paramdir">[in]</td><td class="paramname">maxBitsPerSecond</td><td>if non-zero, enforces that outgoing bandwidth does not exceed this amount </td></tr>
  457. <tr><td class="paramdir">[in]</td><td class="paramname">messageHandlerList</td><td>A list of registered plugins </td></tr>
  458. </table>
  459. </dd>
  460. </dl>
  461. </div>
  462. </div>
  463. <hr/>The documentation for this class was generated from the following file:<ul>
  464. <li>D:/temp/RakNet_PC/Source/<a class="el" href="ReliabilityLayer_8h.html">ReliabilityLayer.h</a></li>
  465. </ul>
  466. </div><!-- contents -->
  467. <!-- start footer part -->
  468. <hr class="footer"/><address class="footer"><small>
  469. Generated on Mon Jun 2 2014 20:10:29 for RakNet by &#160;<a href="http://www.doxygen.org/index.html">
  470. <img class="footer" src="doxygen.png" alt="doxygen"/>
  471. </a> 1.8.2
  472. </small></address>
  473. </body>
  474. </html>
粤ICP备19079148号