From 8898ad9b25fca6afe2374d293a981db02a83d7e9 Mon Sep 17 00:00:00 2001 From: "FWoltermann@gmail.com" Date: Thu, 31 May 2012 14:46:27 +0000 Subject: Committing the documentation to svn to have it accessible online --- Doc/doxygen/html/_net_gram_8h_source.html | 196 ++++++++++++++++++++++++++++++ 1 file changed, 196 insertions(+) create mode 100644 Doc/doxygen/html/_net_gram_8h_source.html (limited to 'Doc/doxygen/html/_net_gram_8h_source.html') diff --git a/Doc/doxygen/html/_net_gram_8h_source.html b/Doc/doxygen/html/_net_gram_8h_source.html new file mode 100644 index 0000000..183edc7 --- /dev/null +++ b/Doc/doxygen/html/_net_gram_8h_source.html @@ -0,0 +1,196 @@ + + + + + +Starshatter_Open: D:/SRC/StarshatterSVN/NetEx/NetGram.h Source File + + + + + + + + + + + + + +
+
+ + + + + + +
+
Starshatter_Open +
+
Open source Starshatter engine
+
+
+ + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+
+
NetGram.h
+
+
+Go to the documentation of this file.
1 /* Project nGenEx
+
2  Destroyer Studios LLC
+
3  Copyright © 1997-2004. All Rights Reserved.
+
4 
+
5  SUBSYSTEM: NetEx.lib
+
6  FILE: NetGram.h
+
7  AUTHOR: John DiCamillo
+
8 
+
9 
+
10  OVERVIEW
+
11  ========
+
12  Datagram (UDP) packet that implements the basic
+
13  packet-oriented network protocol.
+
14 */
+
15 
+
16 
+
17 #ifndef NetGram_h
+
18 #define NetGram_h
+
19 
+
20 #include <windows.h>
+
21 #include "NetAddr.h"
+
22 #include "Text.h"
+
23 
+
24 // +-------------------------------------------------------------------+
+
25 
+
26 const int NET_GRAM_ACK = 0x80000000;
+
27 const int NET_GRAM_RELIABLE = 0x40000000;
+
28 const int NET_GRAM_SEQ_MASK = 0x3fffffff;
+
29 
+
30 const int NET_GRAM_HEADER_SIZE = 4;
+
31 const int NET_GRAM_MAX_SIZE = 1024;
+
32 
+
33 // +-------------------------------------------------------------------+
+
34 
+
35 class NetGram
+
36 {
+
37 public:
+
38  static const char* TYPENAME() { return "NetGram"; }
+
39 
+
40  // for receiving packets from remote hosts:
+
41  NetGram(const NetAddr& src, Text msg);
+
42 
+
43  // for composing packets to send to remote hosts:
+
44  NetGram(const NetAddr& dst, Text user_data, int retries);
+
45 
+
46  int operator == (const NetGram& g) const { return packet_id == g.packet_id &&
+
47  addr == g.addr; }
+
48  int operator < (const NetGram& g) const { return Sequence() < g.Sequence(); }
+
49 
+
50  DWORD PacketID() const { return packet_id; }
+
51  DWORD Sequence() const { return packet_id & NET_GRAM_SEQ_MASK; }
+
52  DWORD SendTime() const { return send_time; }
+
53  BYTE* Data() const { return (BYTE*) body.data(); }
+
54  BYTE* UserData() const { return (BYTE*) body.data() + NET_GRAM_HEADER_SIZE; }
+
55  int Size() const { return body.length(); }
+
56  const Text& Body() const { return body; }
+
57  const NetAddr& Address() const { return addr; }
+
58 
+
59  bool IsAck() const { return packet_id & NET_GRAM_ACK ? true : false; }
+
60  bool IsReliable() const { return packet_id & NET_GRAM_RELIABLE ? true : false; }
+
61  int Retries() const { return retries; }
+
62 
+
63  void Retry();
+
64  NetGram Ack();
+ +
66 
+
67 protected:
+
68  NetGram();
+
69 
+
70  NetAddr addr; // network address of remote host
+
71  int retries; // number of retries remaining (reliable packets only)
+
72  DWORD send_time; // time in msec of most recent send attempt
+
73 
+
74  DWORD packet_id; // copy of packet id from header in body
+
75  Text body; // header plus user data
+
76 };
+
77 
+
78 
+
79 #endif NetGram_h
+
+
+ + + + -- cgit v1.1