| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710 |
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
- <head>
- <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
- <meta http-equiv="X-UA-Compatible" content="IE=11"/>
- <meta name="generator" content="Doxygen 1.9.8"/>
- <meta name="viewport" content="width=device-width, initial-scale=1"/>
- <title>Torque2D Reference: NetEvent Class Reference</title>
- <link href="tabs.css" rel="stylesheet" type="text/css"/>
- <script type="text/javascript" src="jquery.js"></script>
- <script type="text/javascript" src="dynsections.js"></script>
- <link href="search/search.css" rel="stylesheet" type="text/css"/>
- <script type="text/javascript" src="search/searchdata.js"></script>
- <script type="text/javascript" src="search/search.js"></script>
- <link href="doxygen.css" rel="stylesheet" type="text/css" />
- <link href="t2d-stylesheet-extra.css" rel="stylesheet" type="text/css"/>
- </head>
- <body>
- <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
- <div id="titlearea">
- <table cellspacing="0" cellpadding="0">
- <tbody>
- <tr id="projectrow">
- <td id="projectalign">
- <div id="projectname">Torque2D Reference
- </div>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <!-- end header part -->
- <!-- Generated by Doxygen 1.9.8 -->
- <script type="text/javascript">
- /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
- var searchBox = new SearchBox("searchBox", "search/",'.html');
- /* @license-end */
- </script>
- <script type="text/javascript" src="menudata.js"></script>
- <script type="text/javascript" src="menu.js"></script>
- <script type="text/javascript">
- /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
- $(function() {
- initMenu('',true,false,'search.php','Search');
- $(document).ready(function() { init_search(); });
- });
- /* @license-end */
- </script>
- <div id="main-nav"></div>
- <!-- window showing the filter options -->
- <div id="MSearchSelectWindow"
- onmouseover="return searchBox.OnSearchSelectShow()"
- onmouseout="return searchBox.OnSearchSelectHide()"
- onkeydown="return searchBox.OnSearchSelectKey(event)">
- </div>
- <!-- iframe showing the search results (closed by default) -->
- <div id="MSearchResultsWindow">
- <div id="MSearchResults">
- <div class="SRPage">
- <div id="SRIndex">
- <div id="SRResults"></div>
- <div class="SRStatus" id="Loading">Loading...</div>
- <div class="SRStatus" id="Searching">Searching...</div>
- <div class="SRStatus" id="NoMatches">No Matches</div>
- </div>
- </div>
- </div>
- </div>
- </div><!-- top -->
- <div class="header">
- <div class="summary">
- <a href="class_net_event-members.html">List of all members</a> </div>
- <div class="headertitle"><div class="title">NetEvent Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div></div>
- </div><!--header-->
- <div class="contents">
- <p><code>#include <netConnection.h></code></p>
- <div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
- <img id="dynsection-0-trigger" src="closed.png" alt="+"/> Inheritance diagram for NetEvent:</div>
- <div id="dynsection-0-summary" class="dynsummary" style="display:block;">
- </div>
- <div id="dynsection-0-content" class="dyncontent" style="display:none;">
- <div class="center">
- <img src="class_net_event.png" usemap="#NetEvent_map" alt=""/>
- <map id="NetEvent_map" name="NetEvent_map">
- <area href="class_console_object.html" alt="ConsoleObject" shape="rect" coords="525,0,690,24"/>
- <area href="class_connection_message_event.html" alt="ConnectionMessageEvent" shape="rect" coords="0,112,165,136"/>
- <area href="class_file_chunk_event.html" alt="FileChunkEvent" shape="rect" coords="175,112,340,136"/>
- <area href="class_file_download_request_event.html" alt="FileDownloadRequestEvent" shape="rect" coords="350,112,515,136"/>
- <area href="class_ghost_always_object_event.html" alt="GhostAlwaysObjectEvent" shape="rect" coords="525,112,690,136"/>
- <area href="class_net_string_event.html" alt="NetStringEvent" shape="rect" coords="700,112,865,136"/>
- <area href="class_remote_command_event.html" alt="RemoteCommandEvent" shape="rect" coords="875,112,1040,136"/>
- <area href="class_simple_message_event.html" alt="SimpleMessageEvent" shape="rect" coords="1050,112,1215,136"/>
- </map>
- </div></div>
- <table class="memberdecls">
- <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
- Public Member Functions</h2></td></tr>
- <tr><td colspan="2"><div class="groupHeader">Things To Subclass</div></td></tr>
- <tr class="memitem:a55bcd3d383b77b6a6dcc7c7c1c834ba2" id="r_a55bcd3d383b77b6a6dcc7c7c1c834ba2"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_net_event.html#a55bcd3d383b77b6a6dcc7c7c1c834ba2">NetEvent</a> ()</td></tr>
- <tr class="separator:a55bcd3d383b77b6a6dcc7c7c1c834ba2"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a24ac8248111fca6e465a430bbfa0b779" id="r_a24ac8248111fca6e465a430bbfa0b779"><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="class_net_event.html#a24ac8248111fca6e465a430bbfa0b779">~NetEvent</a> ()</td></tr>
- <tr class="separator:a24ac8248111fca6e465a430bbfa0b779"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:af51dfc665d744afb6f6086fc0c7fde04" id="r_af51dfc665d744afb6f6086fc0c7fde04"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_net_event.html#af51dfc665d744afb6f6086fc0c7fde04">write</a> (<a class="el" href="class_net_connection.html">NetConnection</a> *ps, <a class="el" href="class_bit_stream.html">BitStream</a> *bstream)=0</td></tr>
- <tr class="separator:af51dfc665d744afb6f6086fc0c7fde04"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ac8ff1e326308c7a0bd7d40008ca48178" id="r_ac8ff1e326308c7a0bd7d40008ca48178"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_net_event.html#ac8ff1e326308c7a0bd7d40008ca48178">pack</a> (<a class="el" href="class_net_connection.html">NetConnection</a> *ps, <a class="el" href="class_bit_stream.html">BitStream</a> *bstream)=0</td></tr>
- <tr class="separator:ac8ff1e326308c7a0bd7d40008ca48178"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:af3ef32fa5dcfe9edeef7b4924bd78b31" id="r_af3ef32fa5dcfe9edeef7b4924bd78b31"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_net_event.html#af3ef32fa5dcfe9edeef7b4924bd78b31">unpack</a> (<a class="el" href="class_net_connection.html">NetConnection</a> *ps, <a class="el" href="class_bit_stream.html">BitStream</a> *bstream)=0</td></tr>
- <tr class="separator:af3ef32fa5dcfe9edeef7b4924bd78b31"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a49b80251b894de6fd4d5c8cca0a1d1d8" id="r_a49b80251b894de6fd4d5c8cca0a1d1d8"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_net_event.html#a49b80251b894de6fd4d5c8cca0a1d1d8">process</a> (<a class="el" href="class_net_connection.html">NetConnection</a> *ps)=0</td></tr>
- <tr class="separator:a49b80251b894de6fd4d5c8cca0a1d1d8"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a3fd4a891d430db6485d7a84e2cccc91c" id="r_a3fd4a891d430db6485d7a84e2cccc91c"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_net_event.html#a3fd4a891d430db6485d7a84e2cccc91c">notifySent</a> (<a class="el" href="class_net_connection.html">NetConnection</a> *ps)</td></tr>
- <tr class="separator:a3fd4a891d430db6485d7a84e2cccc91c"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a56c66cdce0e7a2e16f482e42b25d3e03" id="r_a56c66cdce0e7a2e16f482e42b25d3e03"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_net_event.html#a56c66cdce0e7a2e16f482e42b25d3e03">notifyDelivered</a> (<a class="el" href="class_net_connection.html">NetConnection</a> *ps, bool madeit)</td></tr>
- <tr class="separator:a56c66cdce0e7a2e16f482e42b25d3e03"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="inherit_header pub_methods_class_console_object"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_class_console_object')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="class_console_object.html">ConsoleObject</a></td></tr>
- <tr class="memitem:a1126670f9cef40e89f356669cd373252 inherit pub_methods_class_console_object" id="r_a1126670f9cef40e89f356669cd373252"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="struct_abstract_class_rep_1_1_field.html">AbstractClassRep::Field</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="class_console_object.html#a1126670f9cef40e89f356669cd373252">findField</a> (StringTableEntry fieldName) const</td></tr>
- <tr class="memdesc:a1126670f9cef40e89f356669cd373252 inherit pub_methods_class_console_object"><td class="mdescLeft"> </td><td class="mdescRight">Get a reference to a field by name. <br /></td></tr>
- <tr class="separator:a1126670f9cef40e89f356669cd373252 inherit pub_methods_class_console_object"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:aa8453ccfe6d778d5612ae246b05c488b inherit pub_methods_class_console_object" id="r_aa8453ccfe6d778d5612ae246b05c488b"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="class_abstract_class_rep.html">AbstractClassRep</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="class_console_object.html#aa8453ccfe6d778d5612ae246b05c488b">getClassRep</a> () const</td></tr>
- <tr class="memdesc:aa8453ccfe6d778d5612ae246b05c488b inherit pub_methods_class_console_object"><td class="mdescLeft"> </td><td class="mdescRight">Gets the ClassRep. <br /></td></tr>
- <tr class="separator:aa8453ccfe6d778d5612ae246b05c488b inherit pub_methods_class_console_object"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ac980ffce7987a95385fe04d6fd934a6a inherit pub_methods_class_console_object" id="r_ac980ffce7987a95385fe04d6fd934a6a"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="class_console_object.html#ac980ffce7987a95385fe04d6fd934a6a">setField</a> (const char *fieldName, const char *value)</td></tr>
- <tr class="memdesc:ac980ffce7987a95385fe04d6fd934a6a inherit pub_methods_class_console_object"><td class="mdescLeft"> </td><td class="mdescRight">Set the value of a field. <br /></td></tr>
- <tr class="separator:ac980ffce7987a95385fe04d6fd934a6a inherit pub_methods_class_console_object"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a648a403aff97cfb8f198fad055feea64 inherit pub_methods_class_console_object" id="r_a648a403aff97cfb8f198fad055feea64"><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="class_console_object.html#a648a403aff97cfb8f198fad055feea64">~ConsoleObject</a> ()</td></tr>
- <tr class="separator:a648a403aff97cfb8f198fad055feea64 inherit pub_methods_class_console_object"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a2f9f31b3f4acbf8bdfefa15f78c49729 inherit pub_methods_class_console_object" id="r_a2f9f31b3f4acbf8bdfefa15f78c49729"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="class_abstract_class_rep.html#a470d9814acbdf9bd6a2b054c6ff7f3a6">AbstractClassRep::FieldList</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="class_console_object.html#a2f9f31b3f4acbf8bdfefa15f78c49729">getFieldList</a> () const</td></tr>
- <tr class="memdesc:a2f9f31b3f4acbf8bdfefa15f78c49729 inherit pub_methods_class_console_object"><td class="mdescLeft"> </td><td class="mdescRight">Get a list of all the fields. This information cannot be modified. <br /></td></tr>
- <tr class="separator:a2f9f31b3f4acbf8bdfefa15f78c49729 inherit pub_methods_class_console_object"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ab33e449170ae2f52341c47138da4996c inherit pub_methods_class_console_object" id="r_ab33e449170ae2f52341c47138da4996c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_abstract_class_rep.html#a470d9814acbdf9bd6a2b054c6ff7f3a6">AbstractClassRep::FieldList</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="class_console_object.html#ab33e449170ae2f52341c47138da4996c">getModifiableFieldList</a> ()</td></tr>
- <tr class="separator:ab33e449170ae2f52341c47138da4996c inherit pub_methods_class_console_object"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a546fd9261e6104b86b947e417bef1228 inherit pub_methods_class_console_object" id="r_a546fd9261e6104b86b947e417bef1228"><td class="memItemLeft" align="right" valign="top">bool & </td><td class="memItemRight" valign="bottom"><a class="el" href="class_console_object.html#a546fd9261e6104b86b947e417bef1228">getDynamicGroupExpand</a> ()</td></tr>
- <tr class="separator:a546fd9261e6104b86b947e417bef1228 inherit pub_methods_class_console_object"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ae7913c7a8d1966a725b93f657456b66a inherit pub_methods_class_console_object" id="r_ae7913c7a8d1966a725b93f657456b66a"><td class="memItemLeft" align="right" valign="top">S32 </td><td class="memItemRight" valign="bottom"><a class="el" href="class_console_object.html#ae7913c7a8d1966a725b93f657456b66a">getClassId</a> (U32 netClassGroup) const</td></tr>
- <tr class="separator:ae7913c7a8d1966a725b93f657456b66a inherit pub_methods_class_console_object"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a45b489f436c9d32a63f9c3d62f66c892 inherit pub_methods_class_console_object" id="r_a45b489f436c9d32a63f9c3d62f66c892"><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="class_console_object.html#a45b489f436c9d32a63f9c3d62f66c892">getClassName</a> () const</td></tr>
- <tr class="separator:a45b489f436c9d32a63f9c3d62f66c892 inherit pub_methods_class_console_object"><td class="memSeparator" colspan="2"> </td></tr>
- </table><table class="memberdecls">
- <tr class="heading"><td colspan="2"><h2 class="groupheader">Implementation Details</h2></td></tr>
- <tr><td class="ititle" colspan="2"><p>These are internal fields which you won't need to manipulate, except for mGuaranteeType. </p>
- </td></tr>
- <tr class="memitem:a1e0795748452eb5b129b64b8702a8ab1" id="r_a1e0795748452eb5b129b64b8702a8ab1"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="class_console_object.html">ConsoleObject</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_net_event.html#a1e0795748452eb5b129b64b8702a8ab1">Parent</a></td></tr>
- <tr class="separator:a1e0795748452eb5b129b64b8702a8ab1"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a7c8400b45a6ad24baa1182a08aaabd1f" id="r_a7c8400b45a6ad24baa1182a08aaabd1f"><td class="memItemLeft" align="right" valign="top">S32 </td><td class="memItemRight" valign="bottom"><a class="el" href="class_net_event.html#a7c8400b45a6ad24baa1182a08aaabd1f">mRefCount</a></td></tr>
- <tr class="separator:a7c8400b45a6ad24baa1182a08aaabd1f"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a709989e9fe47fb71011e881d03ee7851" id="r_a709989e9fe47fb71011e881d03ee7851"><td class="memItemLeft" align="right" valign="top">enum NetEvent:: { ... }  </td><td class="memItemRight" valign="bottom"><a class="el" href="class_net_event.html#a709989e9fe47fb71011e881d03ee7851">mGuaranteeType</a></td></tr>
- <tr class="separator:a709989e9fe47fb71011e881d03ee7851"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a2cbf59d68c21a8f8264f3d67d7b23623" id="r_a2cbf59d68c21a8f8264f3d67d7b23623"><td class="memItemLeft" align="right" valign="top">NetConnectionId </td><td class="memItemRight" valign="bottom"><a class="el" href="class_net_event.html#a2cbf59d68c21a8f8264f3d67d7b23623">mSourceId</a></td></tr>
- <tr class="separator:a2cbf59d68c21a8f8264f3d67d7b23623"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a8e4d24aed92fabda0a38134779ceb0e5" id="r_a8e4d24aed92fabda0a38134779ceb0e5"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_net_event.html#a8e4d24aed92fabda0a38134779ceb0e5">incRef</a> ()</td></tr>
- <tr class="separator:a8e4d24aed92fabda0a38134779ceb0e5"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ac91d90fa59beeadccf9d607ba0ef46e1" id="r_ac91d90fa59beeadccf9d607ba0ef46e1"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_net_event.html#ac91d90fa59beeadccf9d607ba0ef46e1">decRef</a> ()</td></tr>
- <tr class="separator:ac91d90fa59beeadccf9d607ba0ef46e1"><td class="memSeparator" colspan="2"> </td></tr>
- </table><table class="memberdecls">
- <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="inherited" name="inherited"></a>
- Additional Inherited Members</h2></td></tr>
- <tr class="inherit_header pub_static_methods_class_console_object"><td colspan="2" onclick="javascript:toggleInherit('pub_static_methods_class_console_object')"><img src="closed.png" alt="-"/> Static Public Member Functions inherited from <a class="el" href="class_console_object.html">ConsoleObject</a></td></tr>
- <tr class="memitem:a336cc354c2d28bd8a502405466282db9 inherit pub_static_methods_class_console_object" id="r_a336cc354c2d28bd8a502405466282db9"><td class="memItemLeft" align="right" valign="top">static const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="class_console_object.html#a336cc354c2d28bd8a502405466282db9">lookupClassName</a> (const U32 in_classTag)</td></tr>
- <tr class="memdesc:a336cc354c2d28bd8a502405466282db9 inherit pub_static_methods_class_console_object"><td class="mdescLeft"> </td><td class="mdescRight">Get the classname from a class tag. <br /></td></tr>
- <tr class="separator:a336cc354c2d28bd8a502405466282db9 inherit pub_static_methods_class_console_object"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a67420d3593db1aae6efb2c3abb23c690 inherit pub_static_methods_class_console_object" id="r_a67420d3593db1aae6efb2c3abb23c690"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_console_object.html#a67420d3593db1aae6efb2c3abb23c690">initPersistFields</a> ()</td></tr>
- <tr class="separator:a67420d3593db1aae6efb2c3abb23c690 inherit pub_static_methods_class_console_object"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a95c239afc15d197ae11798bc11e5c28b inherit pub_static_methods_class_console_object" id="r_a95c239afc15d197ae11798bc11e5c28b"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_console_object.html#a95c239afc15d197ae11798bc11e5c28b">consoleInit</a> ()</td></tr>
- <tr class="separator:a95c239afc15d197ae11798bc11e5c28b inherit pub_static_methods_class_console_object"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:af6128f2158606edc40e1cb210ba92bd0 inherit pub_static_methods_class_console_object" id="r_af6128f2158606edc40e1cb210ba92bd0"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="class_abstract_class_rep.html">AbstractClassRep</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="class_console_object.html#af6128f2158606edc40e1cb210ba92bd0">getStaticClassRep</a> ()</td></tr>
- <tr class="memdesc:af6128f2158606edc40e1cb210ba92bd0 inherit pub_static_methods_class_console_object"><td class="mdescLeft"> </td><td class="mdescRight">Get the abstract class information for this class. <br /></td></tr>
- <tr class="separator:af6128f2158606edc40e1cb210ba92bd0 inherit pub_static_methods_class_console_object"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ac93219672441a5e91bcfc02abeed29cb inherit pub_static_methods_class_console_object" id="r_ac93219672441a5e91bcfc02abeed29cb"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="class_abstract_class_rep.html">AbstractClassRep</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="class_console_object.html#ac93219672441a5e91bcfc02abeed29cb">getParentStaticClassRep</a> ()</td></tr>
- <tr class="memdesc:ac93219672441a5e91bcfc02abeed29cb inherit pub_static_methods_class_console_object"><td class="mdescLeft"> </td><td class="mdescRight">Get the abstract class information for this class's superclass. <br /></td></tr>
- <tr class="separator:ac93219672441a5e91bcfc02abeed29cb inherit pub_static_methods_class_console_object"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:aa8b4ee59c729a0704b4a2f7b52246f98 inherit pub_static_methods_class_console_object" id="r_aa8b4ee59c729a0704b4a2f7b52246f98"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="class_console_object.html">ConsoleObject</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="class_console_object.html#aa8b4ee59c729a0704b4a2f7b52246f98">create</a> (const char *in_pClassName)</td></tr>
- <tr class="separator:aa8b4ee59c729a0704b4a2f7b52246f98 inherit pub_static_methods_class_console_object"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:abeb358d6fc89fc282b4e401de2895965 inherit pub_static_methods_class_console_object" id="r_abeb358d6fc89fc282b4e401de2895965"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="class_console_object.html">ConsoleObject</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="class_console_object.html#abeb358d6fc89fc282b4e401de2895965">create</a> (const U32 groupId, const U32 typeId, const U32 in_classId)</td></tr>
- <tr class="separator:abeb358d6fc89fc282b4e401de2895965 inherit pub_static_methods_class_console_object"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="inherit_header pro_methods_class_console_object"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_class_console_object')"><img src="closed.png" alt="-"/> Protected Member Functions inherited from <a class="el" href="class_console_object.html">ConsoleObject</a></td></tr>
- <tr class="memitem:a8b5a944ed3b7fa672a250a5d389c8f15 inherit pro_methods_class_console_object" id="r_a8b5a944ed3b7fa672a250a5d389c8f15"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_console_object.html#a8b5a944ed3b7fa672a250a5d389c8f15">ConsoleObject</a> ()</td></tr>
- <tr class="separator:a8b5a944ed3b7fa672a250a5d389c8f15 inherit pro_methods_class_console_object"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a601f42ddcee97ab4eee59e6dbc9df75b inherit pro_methods_class_console_object" id="r_a601f42ddcee97ab4eee59e6dbc9df75b"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_console_object.html#a601f42ddcee97ab4eee59e6dbc9df75b">ConsoleObject</a> (const <a class="el" href="class_console_object.html">ConsoleObject</a> &)</td></tr>
- <tr class="separator:a601f42ddcee97ab4eee59e6dbc9df75b inherit pro_methods_class_console_object"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="inherit_header pro_static_methods_class_console_object"><td colspan="2" onclick="javascript:toggleInherit('pro_static_methods_class_console_object')"><img src="closed.png" alt="-"/> Static Protected Member Functions inherited from <a class="el" href="class_console_object.html">ConsoleObject</a></td></tr>
- <tr class="memitem:a38f3095c01e8b2055e4c2e58d9a133e8 inherit pro_static_methods_class_console_object" id="r_a38f3095c01e8b2055e4c2e58d9a133e8"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_console_object.html#a38f3095c01e8b2055e4c2e58d9a133e8">addGroup</a> (const char *in_pGroupname, const char *in_pGroupDocs=NULL)</td></tr>
- <tr class="separator:a38f3095c01e8b2055e4c2e58d9a133e8 inherit pro_static_methods_class_console_object"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a1918263ead95ed1906c7027651938e0c inherit pro_static_methods_class_console_object" id="r_a1918263ead95ed1906c7027651938e0c"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_console_object.html#a1918263ead95ed1906c7027651938e0c">endGroup</a> (const char *in_pGroupname)</td></tr>
- <tr class="separator:a1918263ead95ed1906c7027651938e0c inherit pro_static_methods_class_console_object"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a1e61452413a8cd497dfc1a2b62f072cd inherit pro_static_methods_class_console_object" id="r_a1e61452413a8cd497dfc1a2b62f072cd"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_console_object.html#a1e61452413a8cd497dfc1a2b62f072cd">addField</a> (const char *in_pFieldname, const U32 in_fieldType, const dsize_t in_fieldOffset, const U32 in_elementCount=1, <a class="el" href="struct_enum_table.html">EnumTable</a> *in_table=NULL, const char *in_pFieldDocs=NULL)</td></tr>
- <tr class="separator:a1e61452413a8cd497dfc1a2b62f072cd inherit pro_static_methods_class_console_object"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ad4ad51d247b2e09ea51783a8fdbb4b95 inherit pro_static_methods_class_console_object" id="r_ad4ad51d247b2e09ea51783a8fdbb4b95"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_console_object.html#ad4ad51d247b2e09ea51783a8fdbb4b95">addField</a> (const char *in_pFieldname, const U32 in_fieldType, const dsize_t in_fieldOffset, <a class="el" href="class_abstract_class_rep.html#ab897bbd2116b331da38ac71717dbb3b3">AbstractClassRep::WriteDataNotify</a> in_writeDataFn, const U32 in_elementCount=1, <a class="el" href="struct_enum_table.html">EnumTable</a> *in_table=NULL, const char *in_pFieldDocs=NULL)</td></tr>
- <tr class="separator:ad4ad51d247b2e09ea51783a8fdbb4b95 inherit pro_static_methods_class_console_object"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a7fe0d513b2bea8f6a1710c35189f550c inherit pro_static_methods_class_console_object" id="r_a7fe0d513b2bea8f6a1710c35189f550c"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_console_object.html#a7fe0d513b2bea8f6a1710c35189f550c">addField</a> (const char *in_pFieldname, const U32 in_fieldType, const dsize_t in_fieldOffset, const char *in_pFieldDocs)</td></tr>
- <tr class="separator:a7fe0d513b2bea8f6a1710c35189f550c inherit pro_static_methods_class_console_object"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a83176674ac909724b9ba2dce44a71e9a inherit pro_static_methods_class_console_object" id="r_a83176674ac909724b9ba2dce44a71e9a"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_console_object.html#a83176674ac909724b9ba2dce44a71e9a">addField</a> (const char *in_pFieldname, const U32 in_fieldType, const dsize_t in_fieldOffset, <a class="el" href="class_abstract_class_rep.html#ab897bbd2116b331da38ac71717dbb3b3">AbstractClassRep::WriteDataNotify</a> in_writeDataFn, const char *in_pFieldDocs)</td></tr>
- <tr class="separator:a83176674ac909724b9ba2dce44a71e9a inherit pro_static_methods_class_console_object"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a3356a3140575cbc1e4466883937daf0b inherit pro_static_methods_class_console_object" id="r_a3356a3140575cbc1e4466883937daf0b"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_console_object.html#a3356a3140575cbc1e4466883937daf0b">addFieldV</a> (const char *in_pFieldname, const U32 in_fieldType, const dsize_t in_fieldOffset, <a class="el" href="class_console_type_validator.html">ConsoleTypeValidator</a> *v, const char *in_pFieldDocs=NULL)</td></tr>
- <tr class="separator:a3356a3140575cbc1e4466883937daf0b inherit pro_static_methods_class_console_object"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ae5af434e7146816044ce3be70f61ebb8 inherit pro_static_methods_class_console_object" id="r_ae5af434e7146816044ce3be70f61ebb8"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_console_object.html#ae5af434e7146816044ce3be70f61ebb8">addProtectedField</a> (const char *in_pFieldname, const U32 in_fieldType, const dsize_t in_fieldOffset, <a class="el" href="class_abstract_class_rep.html#a23fe751b9b844d180a5e8ee921968aa5">AbstractClassRep::SetDataNotify</a> in_setDataFn, <a class="el" href="class_abstract_class_rep.html#a11f286fc60ce139f916571059ec35e22">AbstractClassRep::GetDataNotify</a> in_getDataFn=&defaultProtectedGetFn, const U32 in_elementCount=1, <a class="el" href="struct_enum_table.html">EnumTable</a> *in_table=NULL, const char *in_pFieldDocs=NULL)</td></tr>
- <tr class="separator:ae5af434e7146816044ce3be70f61ebb8 inherit pro_static_methods_class_console_object"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a5161f628159e510b744cef47fd6598a3 inherit pro_static_methods_class_console_object" id="r_a5161f628159e510b744cef47fd6598a3"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_console_object.html#a5161f628159e510b744cef47fd6598a3">addProtectedField</a> (const char *in_pFieldname, const U32 in_fieldType, const dsize_t in_fieldOffset, <a class="el" href="class_abstract_class_rep.html#a23fe751b9b844d180a5e8ee921968aa5">AbstractClassRep::SetDataNotify</a> in_setDataFn, <a class="el" href="class_abstract_class_rep.html#a11f286fc60ce139f916571059ec35e22">AbstractClassRep::GetDataNotify</a> in_getDataFn=&defaultProtectedGetFn, <a class="el" href="class_abstract_class_rep.html#ab897bbd2116b331da38ac71717dbb3b3">AbstractClassRep::WriteDataNotify</a> in_writeDataFn=&defaultProtectedWriteFn, const U32 in_elementCount=1, <a class="el" href="struct_enum_table.html">EnumTable</a> *in_table=NULL, const char *in_pFieldDocs=NULL)</td></tr>
- <tr class="separator:a5161f628159e510b744cef47fd6598a3 inherit pro_static_methods_class_console_object"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a2df2d873096113f009661c676c4d0c81 inherit pro_static_methods_class_console_object" id="r_a2df2d873096113f009661c676c4d0c81"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_console_object.html#a2df2d873096113f009661c676c4d0c81">addProtectedField</a> (const char *in_pFieldname, const U32 in_fieldType, const dsize_t in_fieldOffset, <a class="el" href="class_abstract_class_rep.html#a23fe751b9b844d180a5e8ee921968aa5">AbstractClassRep::SetDataNotify</a> in_setDataFn, <a class="el" href="class_abstract_class_rep.html#a11f286fc60ce139f916571059ec35e22">AbstractClassRep::GetDataNotify</a> in_getDataFn=&defaultProtectedGetFn, const char *in_pFieldDocs=NULL)</td></tr>
- <tr class="separator:a2df2d873096113f009661c676c4d0c81 inherit pro_static_methods_class_console_object"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:aed96a36e73e2eee15cf6a3ae1412d9bd inherit pro_static_methods_class_console_object" id="r_aed96a36e73e2eee15cf6a3ae1412d9bd"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_console_object.html#aed96a36e73e2eee15cf6a3ae1412d9bd">addProtectedField</a> (const char *in_pFieldname, const U32 in_fieldType, const dsize_t in_fieldOffset, <a class="el" href="class_abstract_class_rep.html#a23fe751b9b844d180a5e8ee921968aa5">AbstractClassRep::SetDataNotify</a> in_setDataFn, <a class="el" href="class_abstract_class_rep.html#a11f286fc60ce139f916571059ec35e22">AbstractClassRep::GetDataNotify</a> in_getDataFn=&defaultProtectedGetFn, <a class="el" href="class_abstract_class_rep.html#ab897bbd2116b331da38ac71717dbb3b3">AbstractClassRep::WriteDataNotify</a> in_writeDataFn=&defaultProtectedWriteFn, const char *in_pFieldDocs=NULL)</td></tr>
- <tr class="separator:aed96a36e73e2eee15cf6a3ae1412d9bd inherit pro_static_methods_class_console_object"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:aed3d0d1abd7ba4a17e792ca80f3478a7 inherit pro_static_methods_class_console_object" id="r_aed3d0d1abd7ba4a17e792ca80f3478a7"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_console_object.html#aed3d0d1abd7ba4a17e792ca80f3478a7">addDepricatedField</a> (const char *fieldName)</td></tr>
- <tr class="separator:aed3d0d1abd7ba4a17e792ca80f3478a7 inherit pro_static_methods_class_console_object"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a7a47772574721164fe83b2fd5e3c6fc8 inherit pro_static_methods_class_console_object" id="r_a7a47772574721164fe83b2fd5e3c6fc8"><td class="memItemLeft" align="right" valign="top">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="class_console_object.html#a7a47772574721164fe83b2fd5e3c6fc8">removeField</a> (const char *in_pFieldname)</td></tr>
- <tr class="separator:a7a47772574721164fe83b2fd5e3c6fc8 inherit pro_static_methods_class_console_object"><td class="memSeparator" colspan="2"> </td></tr>
- </table>
- <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
- <div class="textblock"><p>An event to be sent over the network.</p>
- <dl class="section note"><dt>Note</dt><dd><a class="el" href="namespace_torque.html">Torque</a> implements two methods of network data passing; this is one of them. See <a class="el" href="class_net_connection.html">NetConnection</a> for details of the other, which is referred to as ghosting.</dd></dl>
- <p><a class="el" href="namespace_torque.html">Torque</a>'s network layer lets you pass events to/from the server. There are three types of events:</p><ul>
- <li><b>Unguaranteed events</b> are events which are sent once. If they don't make it through the link, they are not resent. This is good for quick, frequent status updates which are of transient interest, like position updates or voice communication.</li>
- <li><b>Guaranteed events</b> are events which are guaranteed to be delivered. If they don't make it through the link, they are sent as needed. This is good for important, one-time information, like which team a user wants to play on, or the current weather.</li>
- <li><b>GuaranteedOrdered events</b> are events which are guaranteed not only to be delivered, but to be delivered in order. This is good for information which is not only important, but also order-critical, like chat messages.</li>
- </ul>
- <p>There are 6 methods that you need to implement if you want to make a basic <a class="el" href="class_net_event.html">NetEvent</a> subclass, and 2 macros you need to call.</p>
- <div class="fragment"><div class="line"><span class="comment">// A simple NetEvent to transmit a string over the network.</span></div>
- <div class="line"><span class="comment">// This is based on the code in netTest.cc</span></div>
- <div class="line"><span class="keyword">class </span><a class="code hl_class" href="class_simple_message_event.html">SimpleMessageEvent</a> : <span class="keyword">public</span> <a class="code hl_class" href="class_net_event.html">NetEvent</a></div>
- <div class="line">{</div>
- <div class="line"> <span class="keyword">typedef</span> <a class="code hl_class" href="class_net_event.html">NetEvent</a> <a class="code hl_class" href="class_console_object.html">Parent</a>;</div>
- <div class="line"> <span class="keywordtype">char</span> *msg;</div>
- <div class="line"><span class="keyword">public</span>:</div>
- <div class="line"> <a class="code hl_class" href="class_simple_message_event.html">SimpleMessageEvent</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *message = NULL);</div>
- <div class="line"> <a class="code hl_class" href="class_simple_message_event.html">~SimpleMessageEvent</a>();</div>
- <div class="line"> </div>
- <div class="line"> <span class="keyword">virtual</span> <span class="keywordtype">void</span> pack (<a class="code hl_class" href="class_net_connection.html">NetConnection</a> *conn, <a class="code hl_class" href="class_bit_stream.html">BitStream</a> *bstream);</div>
- <div class="line"> <span class="keyword">virtual</span> <span class="keywordtype">void</span> write (<a class="code hl_class" href="class_net_connection.html">NetConnection</a> *conn, <a class="code hl_class" href="class_bit_stream.html">BitStream</a> *bstream);</div>
- <div class="line"> <span class="keyword">virtual</span> <span class="keywordtype">void</span> unpack (<a class="code hl_class" href="class_net_connection.html">NetConnection</a> *conn, <a class="code hl_class" href="class_bit_stream.html">BitStream</a> *bstream);</div>
- <div class="line"> <span class="keyword">virtual</span> <span class="keywordtype">void</span> process(<a class="code hl_class" href="class_net_connection.html">NetConnection</a> *conn);</div>
- <div class="line"> </div>
- <div class="line"> DECLARE_CONOBJECT(<a class="code hl_class" href="class_simple_message_event.html">SimpleMessageEvent</a>);</div>
- <div class="line">};</div>
- <div class="line"> </div>
- <div class="line">IMPLEMENT_CO_NETEVENT_V1(<a class="code hl_class" href="class_simple_message_event.html">SimpleMessageEvent</a>);</div>
- <div class="ttc" id="aclass_bit_stream_html"><div class="ttname"><a href="class_bit_stream.html">BitStream</a></div><div class="ttdef"><b>Definition</b> bitStream.h:51</div></div>
- <div class="ttc" id="aclass_console_object_html"><div class="ttname"><a href="class_console_object.html">ConsoleObject</a></div><div class="ttdef"><b>Definition</b> consoleObject.h:481</div></div>
- <div class="ttc" id="aclass_net_connection_html"><div class="ttname"><a href="class_net_connection.html">NetConnection</a></div><div class="ttdef"><b>Definition</b> netConnection.h:404</div></div>
- <div class="ttc" id="aclass_net_event_html"><div class="ttname"><a href="class_net_event.html">NetEvent</a></div><div class="ttdef"><b>Definition</b> netConnection.h:237</div></div>
- <div class="ttc" id="aclass_simple_message_event_html"><div class="ttname"><a href="class_simple_message_event.html">SimpleMessageEvent</a></div><div class="ttdef"><b>Definition</b> netTest.cc:31</div></div>
- </div><!-- fragment --><p>Notice the two macros which we call. The first, DECLARE_CONOBJECT() is there because we're a <a class="el" href="class_console_object.html">ConsoleObject</a>. The second, IMPLEMENT_CO_NETEVENT_V1(), is there to register this event type with <a class="el" href="namespace_torque.html">Torque</a>'s networking layer, so that it can be properly transmitted over the wire. There are three macros which you might use:</p><ul>
- <li><b>IMPLEMENT_CO_NETEVENT_V1</b>, which indicates an event which may be sent in either direction, from the client to the server, or from the server to the client.</li>
- <li><b>IMPLEMENT_CO_CLIENTEVENT_V1</b>, which indicates an event which may only be sent to the client.</li>
- <li><b>IMPLEMENT_CO_SERVEREVENT_V1</b>, which indicates an event which may only be sent to the server.</li>
- </ul>
- <p>Choosing the right macro is a good way to make your game more resistant to hacking; for instance, PathManager events are marked as CLIENTEVENTs, because they would cause the server to crash if a client sent them.</p>
- <dl class="section note"><dt>Note</dt><dd><a class="el" href="namespace_torque.html">Torque</a> allows you to call <a class="el" href="class_net_connection.html#a260fa157f979d5f8ad398495e6b263be">NetConnection::setLastError()</a> on the <a class="el" href="class_net_connection.html">NetConnection</a> passed to your <a class="el" href="class_net_event.html">NetEvent</a>. You can cause the connection to abort if invalid data is received, specifying a reason to the user.</dd></dl>
- <p>Now, the 6 methods which we have above; the constructor and destructor need only do whatever book-keeping is needed for your specific implementation. In our case, we just need to allocate/deallocate the space for our string:</p>
- <div class="fragment"><div class="line"><a class="code hl_function" href="class_simple_message_event.html#a2fdbbf0ac3b742b23e2211c84fdfe82c">SimpleMessageEvent::SimpleMessageEvent</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *message = NULL)</div>
- <div class="line">{</div>
- <div class="line"> <span class="comment">// If we wanted to make this not be a GuaranteedOrdered event, we'd</span></div>
- <div class="line"> <span class="comment">// put a line like this in the constructor:</span></div>
- <div class="line"> <span class="comment">// mGuaranteeType = Guaranteed;</span></div>
- <div class="line"> <span class="comment">// (or whatever type you wanted.)</span></div>
- <div class="line"> <span class="keywordflow">if</span>(message)</div>
- <div class="line"> msg = dStrdup(message);</div>
- <div class="line"> <span class="keywordflow">else</span></div>
- <div class="line"> msg = NULL;</div>
- <div class="line">}</div>
- <div class="line"> </div>
- <div class="line"><a class="code hl_function" href="class_simple_message_event.html#a74211b710f575c19cdc92dedd0dbf289">SimpleMessageEvent::~SimpleMessageEvent</a>()</div>
- <div class="line">{</div>
- <div class="line"> dFree(msg);</div>
- <div class="line">}</div>
- <div class="ttc" id="aclass_simple_message_event_html_a2fdbbf0ac3b742b23e2211c84fdfe82c"><div class="ttname"><a href="class_simple_message_event.html#a2fdbbf0ac3b742b23e2211c84fdfe82c">SimpleMessageEvent::SimpleMessageEvent</a></div><div class="ttdeci">SimpleMessageEvent(const char *message=NULL)</div><div class="ttdef"><b>Definition</b> netTest.cc:35</div></div>
- <div class="ttc" id="aclass_simple_message_event_html_a74211b710f575c19cdc92dedd0dbf289"><div class="ttname"><a href="class_simple_message_event.html#a74211b710f575c19cdc92dedd0dbf289">SimpleMessageEvent::~SimpleMessageEvent</a></div><div class="ttdeci">~SimpleMessageEvent()</div><div class="ttdef"><b>Definition</b> netTest.cc:42</div></div>
- </div><!-- fragment --><p>Simple as that! Now, onto <a class="el" href="class_net_event.html#ac8ff1e326308c7a0bd7d40008ca48178">pack()</a>, <a class="el" href="class_net_event.html#af51dfc665d744afb6f6086fc0c7fde04">write()</a>, <a class="el" href="class_net_event.html#af3ef32fa5dcfe9edeef7b4924bd78b31">unpack()</a>, <a class="el" href="class_net_event.html#a49b80251b894de6fd4d5c8cca0a1d1d8">process()</a>.</p>
- <p><b><a class="el" href="class_net_event.html#ac8ff1e326308c7a0bd7d40008ca48178">pack()</a></b> is responsible for packing the event over the wire:</p>
- <div class="fragment"><div class="line"><span class="keywordtype">void</span> <a class="code hl_function" href="class_simple_message_event.html#a1975c20c1c300161afc263c244e8fb80">SimpleMessageEvent::pack</a>(<a class="code hl_class" href="class_net_connection.html">NetConnection</a>* conn, <a class="code hl_class" href="class_bit_stream.html">BitStream</a> *bstream)</div>
- <div class="line">{</div>
- <div class="line"> bstream-><a class="code hl_function" href="class_bit_stream.html#a156ee70ed74214c0c58538019c3e609f">writeString</a>(msg);</div>
- <div class="line">}</div>
- <div class="ttc" id="aclass_bit_stream_html_a156ee70ed74214c0c58538019c3e609f"><div class="ttname"><a href="class_bit_stream.html#a156ee70ed74214c0c58538019c3e609f">BitStream::writeString</a></div><div class="ttdeci">void writeString(const char *stringBuf, S32 maxLen=255)</div><div class="ttdoc">Writes a string to the stream.</div><div class="ttdef"><b>Definition</b> bitStream.cc:602</div></div>
- <div class="ttc" id="aclass_simple_message_event_html_a1975c20c1c300161afc263c244e8fb80"><div class="ttname"><a href="class_simple_message_event.html#a1975c20c1c300161afc263c244e8fb80">SimpleMessageEvent::pack</a></div><div class="ttdeci">virtual void pack(NetConnection *, BitStream *bstream)</div><div class="ttdef"><b>Definition</b> netTest.cc:45</div></div>
- </div><!-- fragment --><p><b><a class="el" href="class_net_event.html#af3ef32fa5dcfe9edeef7b4924bd78b31">unpack()</a></b> is responsible for unpacking the event on the other end:</p>
- <div class="fragment"><div class="line"><span class="comment">// The networking layer takes care of instantiating a new</span></div>
- <div class="line"><span class="comment">// SimpleMessageEvent, which saves us a bit of effort.</span></div>
- <div class="line"><span class="keywordtype">void</span> <a class="code hl_function" href="class_simple_message_event.html#aa9225bcd24da2453d29817ab4ca6907e">SimpleMessageEvent::unpack</a>(<a class="code hl_class" href="class_net_connection.html">NetConnection</a> *conn, <a class="code hl_class" href="class_bit_stream.html">BitStream</a> *bstream)</div>
- <div class="line">{</div>
- <div class="line"> <span class="keywordtype">char</span> buf[256];</div>
- <div class="line"> bstream-><a class="code hl_function" href="class_bit_stream.html#a2fbd4b3661401a422e85c500f5abd29b">readString</a>(buf);</div>
- <div class="line"> msg = dStrdup(buf);</div>
- <div class="line">}</div>
- <div class="ttc" id="aclass_bit_stream_html_a2fbd4b3661401a422e85c500f5abd29b"><div class="ttname"><a href="class_bit_stream.html#a2fbd4b3661401a422e85c500f5abd29b">BitStream::readString</a></div><div class="ttdeci">void readString(char stringBuf[256])</div><div class="ttdoc">Reads a string of maximum 255 characters long.</div><div class="ttdef"><b>Definition</b> bitStream.cc:585</div></div>
- <div class="ttc" id="aclass_simple_message_event_html_aa9225bcd24da2453d29817ab4ca6907e"><div class="ttname"><a href="class_simple_message_event.html#aa9225bcd24da2453d29817ab4ca6907e">SimpleMessageEvent::unpack</a></div><div class="ttdeci">virtual void unpack(NetConnection *, BitStream *bstream)</div><div class="ttdef"><b>Definition</b> netTest.cc:49</div></div>
- </div><!-- fragment --><p><b><a class="el" href="class_net_event.html#a49b80251b894de6fd4d5c8cca0a1d1d8">process()</a></b> is called when the network layer is finished with things. A typical case is that a GuaranteedOrdered event is unpacked and stored, but not processed until the events preceding it in the sequence have also been dealt with.</p>
- <div class="fragment"><div class="line"><span class="comment">// This just prints the event in the console. You might</span></div>
- <div class="line"><span class="comment">// want to do something more clever here -- BJG</span></div>
- <div class="line"><span class="keywordtype">void</span> <a class="code hl_function" href="class_simple_message_event.html#a5b1c12ace5e5d0e3f02e78e1986f7f1c">SimpleMessageEvent::process</a>(<a class="code hl_class" href="class_net_connection.html">NetConnection</a> *conn)</div>
- <div class="line">{</div>
- <div class="line"> <a class="code hl_function" href="namespace_con.html#a0aff7311d684a0e0ef33125616a73385">Con::printf</a>(<span class="stringliteral">"RMSG %d %s"</span>, <a class="code hl_variable" href="class_net_event.html#a2cbf59d68c21a8f8264f3d67d7b23623">mSourceId</a>, msg);</div>
- <div class="line">}</div>
- <div class="ttc" id="aclass_net_event_html_a2cbf59d68c21a8f8264f3d67d7b23623"><div class="ttname"><a href="class_net_event.html#a2cbf59d68c21a8f8264f3d67d7b23623">NetEvent::mSourceId</a></div><div class="ttdeci">NetConnectionId mSourceId</div><div class="ttdef"><b>Definition</b> netConnection.h:252</div></div>
- <div class="ttc" id="aclass_simple_message_event_html_a5b1c12ace5e5d0e3f02e78e1986f7f1c"><div class="ttname"><a href="class_simple_message_event.html#a5b1c12ace5e5d0e3f02e78e1986f7f1c">SimpleMessageEvent::process</a></div><div class="ttdeci">virtual void process(NetConnection *)</div><div class="ttdef"><b>Definition</b> netTest.cc:51</div></div>
- <div class="ttc" id="anamespace_con_html_a0aff7311d684a0e0ef33125616a73385"><div class="ttname"><a href="namespace_con.html#a0aff7311d684a0e0ef33125616a73385">Con::printf</a></div><div class="ttdeci">void printf(const char *fmt,...)</div><div class="ttdef"><b>Definition</b> console.cc:636</div></div>
- </div><!-- fragment --><p><b><a class="el" href="class_net_event.html#af51dfc665d744afb6f6086fc0c7fde04">write()</a></b> is called if a demo recording is started, and the event has not yet been processed, but it has been unpacked. It should be identical in its output to the bitstream compared to <a class="el" href="class_net_event.html#ac8ff1e326308c7a0bd7d40008ca48178">pack()</a>, but since it is called after <a class="el" href="class_net_event.html#af3ef32fa5dcfe9edeef7b4924bd78b31">unpack()</a> some lookups may not need to be performed. In normal demo recording, whole network packets are recorded, meaning that most of the time <a class="el" href="class_net_event.html#af51dfc665d744afb6f6086fc0c7fde04">write()</a> will not be called.</p>
- <p>In our case, it's entirely identical to <a class="el" href="class_net_event.html#ac8ff1e326308c7a0bd7d40008ca48178">pack()</a>:</p>
- <div class="fragment"><div class="line"><span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="class_net_event.html#af51dfc665d744afb6f6086fc0c7fde04">write</a>(<a class="code hl_class" href="class_net_connection.html">NetConnection</a>*, <a class="code hl_class" href="class_bit_stream.html">BitStream</a> *bstream)</div>
- <div class="line">{</div>
- <div class="line"> bstream-><a class="code hl_function" href="class_bit_stream.html#a156ee70ed74214c0c58538019c3e609f">writeString</a>(msg);</div>
- <div class="line">}</div>
- <div class="ttc" id="aclass_net_event_html_af51dfc665d744afb6f6086fc0c7fde04"><div class="ttname"><a href="class_net_event.html#af51dfc665d744afb6f6086fc0c7fde04">NetEvent::write</a></div><div class="ttdeci">virtual void write(NetConnection *ps, BitStream *bstream)=0</div></div>
- </div><!-- fragment --><p>The <a class="el" href="class_net_event.html">NetEvent</a> is sent over the wire in a straightforward way (assuming you have a handle to a <a class="el" href="class_net_connection.html">NetConnection</a>):</p>
- <div class="fragment"><div class="line"><a class="code hl_class" href="class_net_connection.html">NetConnection</a> *conn; <span class="comment">// We assume you have filled this in.</span></div>
- <div class="line"> </div>
- <div class="line">con-><a class="code hl_function" href="class_net_connection.html#a9375d3d01784d5a6091fcf6ca61843e3">postNetEvent</a>(<span class="keyword">new</span> <a class="code hl_class" href="class_simple_message_event.html">SimpleMessageEvent</a>(<span class="stringliteral">"This is a test!"</span>));</div>
- <div class="ttc" id="aclass_net_connection_html_a9375d3d01784d5a6091fcf6ca61843e3"><div class="ttname"><a href="class_net_connection.html#a9375d3d01784d5a6091fcf6ca61843e3">NetConnection::postNetEvent</a></div><div class="ttdeci">bool postNetEvent(NetEvent *event)</div><div class="ttdoc">Post an event to this connection.</div><div class="ttdef"><b>Definition</b> netEvent.cc:359</div></div>
- </div><!-- fragment --><dl class="section see"><dt>See also</dt><dd><a class="el" href="class_ghost_always_object_event.html">GhostAlwaysObjectEvent</a> for an example of dissimilar <a class="el" href="class_net_event.html#af51dfc665d744afb6f6086fc0c7fde04">write()</a>/pack() methods.</dd></dl>
- <p>Finally, for more advanced applications, <a class="el" href="class_net_event.html#a3fd4a891d430db6485d7a84e2cccc91c">notifySent()</a> is called whenever the event is sent over the wire, in NetConnection::eventWritePacket(). <a class="el" href="class_net_event.html#a56c66cdce0e7a2e16f482e42b25d3e03">notifyDelivered()</a> is called when the packet is finally received or (in the case of Unguaranteed packets) dropped.</p>
- <dl class="section note"><dt>Note</dt><dd>IMPLEMENT_CO_NETEVENT_V1 and co. have sibling macros which allow you to specify a groupMask; see <a class="el" href="class_console_object.html">ConsoleObject</a> for a further discussion of this. </dd></dl>
- </div><h2 class="groupheader">Member Typedef Documentation</h2>
- <a id="a1e0795748452eb5b129b64b8702a8ab1" name="a1e0795748452eb5b129b64b8702a8ab1"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a1e0795748452eb5b129b64b8702a8ab1">◆ </a></span>Parent</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">typedef <a class="el" href="class_console_object.html">ConsoleObject</a> <a class="el" href="class_net_event.html#a1e0795748452eb5b129b64b8702a8ab1">Parent</a></td>
- </tr>
- </table>
- </div><div class="memdoc">
- </div>
- </div>
- <h2 class="groupheader">Member Enumeration Documentation</h2>
- <a id="a6b7b47dd702d9e331586d485013fd1ea" name="a6b7b47dd702d9e331586d485013fd1ea"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a6b7b47dd702d9e331586d485013fd1ea">◆ </a></span>anonymous enum</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">anonymous enum</td>
- </tr>
- </table>
- </div><div class="memdoc">
- <table class="fieldtable">
- <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a6b7b47dd702d9e331586d485013fd1eaa5eaab1c95dbff635ad3b83dae5b46c67" name="a6b7b47dd702d9e331586d485013fd1eaa5eaab1c95dbff635ad3b83dae5b46c67"></a>GuaranteedOrdered </td><td class="fielddoc"></td></tr>
- <tr><td class="fieldname"><a id="a6b7b47dd702d9e331586d485013fd1eaaa113d8ae2d03b9d8e6def2088d0ae545" name="a6b7b47dd702d9e331586d485013fd1eaaa113d8ae2d03b9d8e6def2088d0ae545"></a>Guaranteed </td><td class="fielddoc"></td></tr>
- <tr><td class="fieldname"><a id="a6b7b47dd702d9e331586d485013fd1eaa2f0eec7e64f3ece2ced3fbef438c9f29" name="a6b7b47dd702d9e331586d485013fd1eaa2f0eec7e64f3ece2ced3fbef438c9f29"></a>Unguaranteed </td><td class="fielddoc"></td></tr>
- </table>
- </div>
- </div>
- <h2 class="groupheader">Constructor & Destructor Documentation</h2>
- <a id="a55bcd3d383b77b6a6dcc7c7c1c834ba2" name="a55bcd3d383b77b6a6dcc7c7c1c834ba2"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a55bcd3d383b77b6a6dcc7c7c1c834ba2">◆ </a></span>NetEvent()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="class_net_event.html">NetEvent</a> </td>
- <td>(</td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
- <span class="mlabels"><span class="mlabel">inline</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- </div>
- </div>
- <a id="a24ac8248111fca6e465a430bbfa0b779" name="a24ac8248111fca6e465a430bbfa0b779"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a24ac8248111fca6e465a430bbfa0b779">◆ </a></span>~NetEvent()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">~<a class="el" href="class_net_event.html">NetEvent</a> </td>
- <td>(</td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
- <span class="mlabels"><span class="mlabel">virtual</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- </div>
- </div>
- <h2 class="groupheader">Member Function Documentation</h2>
- <a id="ac91d90fa59beeadccf9d607ba0ef46e1" name="ac91d90fa59beeadccf9d607ba0ef46e1"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ac91d90fa59beeadccf9d607ba0ef46e1">◆ </a></span>decRef()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">void decRef </td>
- <td>(</td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
- <span class="mlabels"><span class="mlabel">inline</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- </div>
- </div>
- <a id="a8e4d24aed92fabda0a38134779ceb0e5" name="a8e4d24aed92fabda0a38134779ceb0e5"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a8e4d24aed92fabda0a38134779ceb0e5">◆ </a></span>incRef()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">void incRef </td>
- <td>(</td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
- <span class="mlabels"><span class="mlabel">inline</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- </div>
- </div>
- <a id="a56c66cdce0e7a2e16f482e42b25d3e03" name="a56c66cdce0e7a2e16f482e42b25d3e03"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a56c66cdce0e7a2e16f482e42b25d3e03">◆ </a></span>notifyDelivered()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">void notifyDelivered </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="class_net_connection.html">NetConnection</a> * </td>
- <td class="paramname"><em>ps</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">bool </td>
- <td class="paramname"><em>madeit</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
- <span class="mlabels"><span class="mlabel">virtual</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Reimplemented in <a class="el" href="class_file_chunk_event.html#a5b352bb2fc91e21e6eccbfced37046a9">FileChunkEvent</a>, and <a class="el" href="class_net_string_event.html#a89ced195c3f07f6b1dd6d4127623f959">NetStringEvent</a>.</p>
- </div>
- </div>
- <a id="a3fd4a891d430db6485d7a84e2cccc91c" name="a3fd4a891d430db6485d7a84e2cccc91c"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a3fd4a891d430db6485d7a84e2cccc91c">◆ </a></span>notifySent()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">void notifySent </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="class_net_connection.html">NetConnection</a> * </td>
- <td class="paramname"><em>ps</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
- <span class="mlabels"><span class="mlabel">virtual</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- </div>
- </div>
- <a id="ac8ff1e326308c7a0bd7d40008ca48178" name="ac8ff1e326308c7a0bd7d40008ca48178"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ac8ff1e326308c7a0bd7d40008ca48178">◆ </a></span>pack()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">virtual void pack </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="class_net_connection.html">NetConnection</a> * </td>
- <td class="paramname"><em>ps</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="class_bit_stream.html">BitStream</a> * </td>
- <td class="paramname"><em>bstream</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
- <span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Implemented in <a class="el" href="class_net_string_event.html#a1975c20c1c300161afc263c244e8fb80">NetStringEvent</a>, <a class="el" href="class_connection_message_event.html#af730e4c72da9afc1284107facd6b1133">ConnectionMessageEvent</a>, <a class="el" href="class_file_download_request_event.html#a1975c20c1c300161afc263c244e8fb80">FileDownloadRequestEvent</a>, <a class="el" href="class_file_chunk_event.html#a1975c20c1c300161afc263c244e8fb80">FileChunkEvent</a>, <a class="el" href="class_simple_message_event.html#a1975c20c1c300161afc263c244e8fb80">SimpleMessageEvent</a>, <a class="el" href="class_remote_command_event.html#a6dd1377ddbabc54dc23c73751c2a2a6c">RemoteCommandEvent</a>, and <a class="el" href="class_ghost_always_object_event.html#aea1e0ddbc410c09e564bf36907b13017">GhostAlwaysObjectEvent</a>.</p>
- </div>
- </div>
- <a id="a49b80251b894de6fd4d5c8cca0a1d1d8" name="a49b80251b894de6fd4d5c8cca0a1d1d8"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a49b80251b894de6fd4d5c8cca0a1d1d8">◆ </a></span>process()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">virtual void process </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="class_net_connection.html">NetConnection</a> * </td>
- <td class="paramname"><em>ps</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
- <span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Implemented in <a class="el" href="class_simple_message_event.html#a5b1c12ace5e5d0e3f02e78e1986f7f1c">SimpleMessageEvent</a>, <a class="el" href="class_remote_command_event.html#ae9cc930cc7438addaa3f01b627741056">RemoteCommandEvent</a>, <a class="el" href="class_net_string_event.html#a14e27026a563318c89eaff9084fddd8f">NetStringEvent</a>, <a class="el" href="class_file_download_request_event.html#a14e27026a563318c89eaff9084fddd8f">FileDownloadRequestEvent</a>, <a class="el" href="class_file_chunk_event.html#a14e27026a563318c89eaff9084fddd8f">FileChunkEvent</a>, <a class="el" href="class_connection_message_event.html#aa0c2a6f1f9481803b8067a17b9918c5c">ConnectionMessageEvent</a>, and <a class="el" href="class_ghost_always_object_event.html#aa0c2a6f1f9481803b8067a17b9918c5c">GhostAlwaysObjectEvent</a>.</p>
- </div>
- </div>
- <a id="af3ef32fa5dcfe9edeef7b4924bd78b31" name="af3ef32fa5dcfe9edeef7b4924bd78b31"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#af3ef32fa5dcfe9edeef7b4924bd78b31">◆ </a></span>unpack()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">virtual void unpack </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="class_net_connection.html">NetConnection</a> * </td>
- <td class="paramname"><em>ps</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="class_bit_stream.html">BitStream</a> * </td>
- <td class="paramname"><em>bstream</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
- <span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Implemented in <a class="el" href="class_net_string_event.html#aa9225bcd24da2453d29817ab4ca6907e">NetStringEvent</a>, <a class="el" href="class_connection_message_event.html#a60260bf7f30d0983c95cd452f03b7e55">ConnectionMessageEvent</a>, <a class="el" href="class_file_download_request_event.html#aa9225bcd24da2453d29817ab4ca6907e">FileDownloadRequestEvent</a>, <a class="el" href="class_file_chunk_event.html#aa9225bcd24da2453d29817ab4ca6907e">FileChunkEvent</a>, <a class="el" href="class_simple_message_event.html#aa9225bcd24da2453d29817ab4ca6907e">SimpleMessageEvent</a>, <a class="el" href="class_remote_command_event.html#a1cb78e77ea2a3b11697b7f4b3f17bc07">RemoteCommandEvent</a>, and <a class="el" href="class_ghost_always_object_event.html#a0e3151e50eb3b2de658093dc3c580f49">GhostAlwaysObjectEvent</a>.</p>
- </div>
- </div>
- <a id="af51dfc665d744afb6f6086fc0c7fde04" name="af51dfc665d744afb6f6086fc0c7fde04"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#af51dfc665d744afb6f6086fc0c7fde04">◆ </a></span>write()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">virtual void write </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="class_net_connection.html">NetConnection</a> * </td>
- <td class="paramname"><em>ps</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="class_bit_stream.html">BitStream</a> * </td>
- <td class="paramname"><em>bstream</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
- <span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Implemented in <a class="el" href="class_net_string_event.html#a3323c7657fcc24d36adcd36032fac056">NetStringEvent</a>, <a class="el" href="class_connection_message_event.html#a034ab7d148852210380b90ffe3daf5c9">ConnectionMessageEvent</a>, <a class="el" href="class_file_download_request_event.html#a3323c7657fcc24d36adcd36032fac056">FileDownloadRequestEvent</a>, <a class="el" href="class_file_chunk_event.html#a3323c7657fcc24d36adcd36032fac056">FileChunkEvent</a>, <a class="el" href="class_simple_message_event.html#a3323c7657fcc24d36adcd36032fac056">SimpleMessageEvent</a>, <a class="el" href="class_remote_command_event.html#a1a3acd950994febea923af0d5b6849c7">RemoteCommandEvent</a>, and <a class="el" href="class_ghost_always_object_event.html#a84445768099405cd75ff155a88c6dbd6">GhostAlwaysObjectEvent</a>.</p>
- </div>
- </div>
- <h2 class="groupheader">Member Data Documentation</h2>
- <a id="a709989e9fe47fb71011e881d03ee7851" name="a709989e9fe47fb71011e881d03ee7851"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a709989e9fe47fb71011e881d03ee7851">◆ </a></span>[]</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">enum { ... } mGuaranteeType</td>
- </tr>
- </table>
- </div><div class="memdoc">
- </div>
- </div>
- <a id="a7c8400b45a6ad24baa1182a08aaabd1f" name="a7c8400b45a6ad24baa1182a08aaabd1f"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a7c8400b45a6ad24baa1182a08aaabd1f">◆ </a></span>mRefCount</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">S32 mRefCount</td>
- </tr>
- </table>
- </div><div class="memdoc">
- </div>
- </div>
- <a id="a2cbf59d68c21a8f8264f3d67d7b23623" name="a2cbf59d68c21a8f8264f3d67d7b23623"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a2cbf59d68c21a8f8264f3d67d7b23623">◆ </a></span>mSourceId</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">NetConnectionId mSourceId</td>
- </tr>
- </table>
- </div><div class="memdoc">
- </div>
- </div>
- <hr/>The documentation for this class was generated from the following files:<ul>
- <li>network/<b>netConnection.h</b></li>
- <li>network/<b>netEvent.cc</b></li>
- </ul>
- </div><!-- contents -->
- <!-- start footer part -->
- <hr class="footer"/><address class="footer"><small>
- Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8
- </small></address>
- </body>
- </html>
|