sources/network/rconsession.h

Sat, 23 Jul 2016 12:28:52 +0300

author
Teemu Piippo <teemu@compsta2.com>
date
Sat, 23 Jul 2016 12:28:52 +0300
branch
protocol5
changeset 167
0150f86e68f0
parent 160
cf514fa0f1cc
child 169
febc3ed5435c
permissions
-rw-r--r--

Added the PacketQueue class to make use of the sequence numbering to process packets in the correct order, and the ZFC9000 end of packet recovery protocol.

10
3874575d924d - begin work on rcon sessions
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
1 /*
109
e4966d7e615d Happy new year 2016
Teemu Piippo <crimsondusk64@gmail.com>
parents: 92
diff changeset
2 Copyright 2014 - 2016 Teemu Piippo
10
3874575d924d - begin work on rcon sessions
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
3 All rights reserved.
3874575d924d - begin work on rcon sessions
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
4
3874575d924d - begin work on rcon sessions
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
5 Redistribution and use in source and binary forms, with or without
3874575d924d - begin work on rcon sessions
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
6 modification, are permitted provided that the following conditions
3874575d924d - begin work on rcon sessions
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
7 are met:
3874575d924d - begin work on rcon sessions
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
8
3874575d924d - begin work on rcon sessions
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
9 1. Redistributions of source code must retain the above copyright
3874575d924d - begin work on rcon sessions
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
10 notice, this list of conditions and the following disclaimer.
3874575d924d - begin work on rcon sessions
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
11 2. Redistributions in binary form must reproduce the above copyright
3874575d924d - begin work on rcon sessions
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
12 notice, this list of conditions and the following disclaimer in the
3874575d924d - begin work on rcon sessions
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
13 documentation and/or other materials provided with the distribution.
3874575d924d - begin work on rcon sessions
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
14 3. Neither the name of the copyright holder nor the names of its
3874575d924d - begin work on rcon sessions
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
15 contributors may be used to endorse or promote products derived from
3874575d924d - begin work on rcon sessions
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
16 this software without specific prior written permission.
3874575d924d - begin work on rcon sessions
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
17
3874575d924d - begin work on rcon sessions
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
18 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
3874575d924d - begin work on rcon sessions
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
19 "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
3874575d924d - begin work on rcon sessions
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
20 TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
3874575d924d - begin work on rcon sessions
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
21 PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER
3874575d924d - begin work on rcon sessions
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
22 OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
156
ce66d7e374bf Restyled RCONSession method names and paren style
Teemu Piippo <teemu@compsta2.com>
parents: 154
diff changeset
23 EXEMPLARY, OR CONSEQUENTIAL DAMAGES(INCLUDING, BUT NOT LIMITED TO,
10
3874575d924d - begin work on rcon sessions
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
24 PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
3874575d924d - begin work on rcon sessions
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
25 PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
156
ce66d7e374bf Restyled RCONSession method names and paren style
Teemu Piippo <teemu@compsta2.com>
parents: 154
diff changeset
26 LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT(INCLUDING
10
3874575d924d - begin work on rcon sessions
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
27 NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
3874575d924d - begin work on rcon sessions
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
28 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
3874575d924d - begin work on rcon sessions
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
29 */
3874575d924d - begin work on rcon sessions
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
30
3874575d924d - begin work on rcon sessions
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
31 #pragma once
3874575d924d - begin work on rcon sessions
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
32 #include "ipaddress.h"
3874575d924d - begin work on rcon sessions
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
33 #include "udpsocket.h"
3874575d924d - begin work on rcon sessions
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
34 #include "bytestream.h"
167
0150f86e68f0 Added the PacketQueue class to make use of the sequence numbering to process packets in the correct order, and the ZFC9000 end of packet recovery protocol.
Teemu Piippo <teemu@compsta2.com>
parents: 160
diff changeset
35 #include "packetqueue.h"
88
08ccaf26cffd Now works with MSVC 2010/pdcurses-win32a
Teemu Piippo <tsapii@utu.fi>
parents: 73
diff changeset
36 BEGIN_ZFC_NAMESPACE
10
3874575d924d - begin work on rcon sessions
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
37
3874575d924d - begin work on rcon sessions
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
38 // -------------------------------------------------------------------------------------------------
3874575d924d - begin work on rcon sessions
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
39 //
3874575d924d - begin work on rcon sessions
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
40 enum
3874575d924d - begin work on rcon sessions
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
41 {
132
8a4690db252e Added support for colored nicknames
Teemu Piippo <crimsondusk64@gmail.com>
parents: 109
diff changeset
42 RCON_PROTOCOL_VERSION = 5
10
3874575d924d - begin work on rcon sessions
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
43 };
3874575d924d - begin work on rcon sessions
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
44
3874575d924d - begin work on rcon sessions
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
45 // -------------------------------------------------------------------------------------------------
3874575d924d - begin work on rcon sessions
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
46 //
3874575d924d - begin work on rcon sessions
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
47 enum ServerResponse
3874575d924d - begin work on rcon sessions
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
48 {
3874575d924d - begin work on rcon sessions
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
49 SVRC_OLDPROTOCOL = 32,
3874575d924d - begin work on rcon sessions
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
50 SVRC_BANNED,
3874575d924d - begin work on rcon sessions
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
51 SVRC_SALT,
3874575d924d - begin work on rcon sessions
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
52 SVRC_LOGGEDIN,
3874575d924d - begin work on rcon sessions
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
53 SVRC_INVALIDPASSWORD,
3874575d924d - begin work on rcon sessions
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
54 SVRC_MESSAGE,
3874575d924d - begin work on rcon sessions
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
55 SVRC_UPDATE,
41
9ab869656b9e - re-commit tab-complete
Teemu Piippo <crimsondusk64@gmail.com>
parents: 40
diff changeset
56 SVRC_TABCOMPLETE,
9ab869656b9e - re-commit tab-complete
Teemu Piippo <crimsondusk64@gmail.com>
parents: 40
diff changeset
57 SVRC_TOOMANYTABCOMPLETES,
79
62cfb7b97fc0 Added rudimentary support for CVar watch (only as a debug command for now)
Teemu Piippo <crimsondusk64@gmail.com>
parents: 78
diff changeset
58 SVRC_WATCHINGCVAR,
62cfb7b97fc0 Added rudimentary support for CVar watch (only as a debug command for now)
Teemu Piippo <crimsondusk64@gmail.com>
parents: 78
diff changeset
59 SVRC_ALREADYWATCHINGCVAR,
62cfb7b97fc0 Added rudimentary support for CVar watch (only as a debug command for now)
Teemu Piippo <crimsondusk64@gmail.com>
parents: 78
diff changeset
60 SVRC_WATCHCVARNOTFOUND,
62cfb7b97fc0 Added rudimentary support for CVar watch (only as a debug command for now)
Teemu Piippo <crimsondusk64@gmail.com>
parents: 78
diff changeset
61 SVRC_CVARCHANGED,
80
f992b027374b Added support for SVRC_YOUREDISCONNECTED
Teemu Piippo <crimsondusk64@gmail.com>
parents: 79
diff changeset
62 SVRC_YOUREDISCONNECTED,
10
3874575d924d - begin work on rcon sessions
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
63 };
3874575d924d - begin work on rcon sessions
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
64
3874575d924d - begin work on rcon sessions
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
65 // -------------------------------------------------------------------------------------------------
3874575d924d - begin work on rcon sessions
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
66 //
3874575d924d - begin work on rcon sessions
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
67 enum ClientRequest
3874575d924d - begin work on rcon sessions
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
68 {
3874575d924d - begin work on rcon sessions
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
69 CLRC_BEGINCONNECTION = 52,
3874575d924d - begin work on rcon sessions
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
70 CLRC_PASSWORD,
3874575d924d - begin work on rcon sessions
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
71 CLRC_COMMAND,
3874575d924d - begin work on rcon sessions
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
72 CLRC_PONG,
3874575d924d - begin work on rcon sessions
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
73 CLRC_DISCONNECT,
41
9ab869656b9e - re-commit tab-complete
Teemu Piippo <crimsondusk64@gmail.com>
parents: 40
diff changeset
74 CLRC_TABCOMPLETE,
79
62cfb7b97fc0 Added rudimentary support for CVar watch (only as a debug command for now)
Teemu Piippo <crimsondusk64@gmail.com>
parents: 78
diff changeset
75 CLRC_WATCHCVAR,
167
0150f86e68f0 Added the PacketQueue class to make use of the sequence numbering to process packets in the correct order, and the ZFC9000 end of packet recovery protocol.
Teemu Piippo <teemu@compsta2.com>
parents: 160
diff changeset
76 CLRC_MISSINGPACKET,
10
3874575d924d - begin work on rcon sessions
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
77 };
3874575d924d - begin work on rcon sessions
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
78
3874575d924d - begin work on rcon sessions
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
79 // -------------------------------------------------------------------------------------------------
3874575d924d - begin work on rcon sessions
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
80 //
3874575d924d - begin work on rcon sessions
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
81 enum RCONUpdateType
3874575d924d - begin work on rcon sessions
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
82 {
3874575d924d - begin work on rcon sessions
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
83 SVRCU_PLAYERDATA,
3874575d924d - begin work on rcon sessions
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
84 SVRCU_ADMINCOUNT,
3874575d924d - begin work on rcon sessions
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
85 SVRCU_MAP,
3874575d924d - begin work on rcon sessions
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
86 };
3874575d924d - begin work on rcon sessions
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
87
3874575d924d - begin work on rcon sessions
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
88 // -------------------------------------------------------------------------------------------------
3874575d924d - begin work on rcon sessions
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
89 //
3874575d924d - begin work on rcon sessions
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
90 enum RCONSessionState
3874575d924d - begin work on rcon sessions
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
91 {
3874575d924d - begin work on rcon sessions
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
92 RCON_DISCONNECTED,
3874575d924d - begin work on rcon sessions
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
93 RCON_CONNECTING,
3874575d924d - begin work on rcon sessions
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
94 RCON_AUTHENTICATING,
3874575d924d - begin work on rcon sessions
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
95 RCON_CONNECTED
3874575d924d - begin work on rcon sessions
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
96 };
3874575d924d - begin work on rcon sessions
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
97
3874575d924d - begin work on rcon sessions
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
98 // -------------------------------------------------------------------------------------------------
3874575d924d - begin work on rcon sessions
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
99 //
3874575d924d - begin work on rcon sessions
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
100 class RCONSession
3874575d924d - begin work on rcon sessions
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
101 {
3874575d924d - begin work on rcon sessions
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
102 public:
92
39947c46ed17 Suppress more MSVC warnings
Teemu Piippo <tsapii@utu.fi>
parents: 88
diff changeset
103 RCONSession();
10
3874575d924d - begin work on rcon sessions
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
104 ~RCONSession();
3874575d924d - begin work on rcon sessions
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
105
156
ce66d7e374bf Restyled RCONSession method names and paren style
Teemu Piippo <teemu@compsta2.com>
parents: 154
diff changeset
106 const IPAddress& address() const;
ce66d7e374bf Restyled RCONSession method names and paren style
Teemu Piippo <teemu@compsta2.com>
parents: 154
diff changeset
107 void bumpLastPing();
ce66d7e374bf Restyled RCONSession method names and paren style
Teemu Piippo <teemu@compsta2.com>
parents: 154
diff changeset
108 void connect(IPAddress address);
ce66d7e374bf Restyled RCONSession method names and paren style
Teemu Piippo <teemu@compsta2.com>
parents: 154
diff changeset
109 void disconnect();
ce66d7e374bf Restyled RCONSession method names and paren style
Teemu Piippo <teemu@compsta2.com>
parents: 154
diff changeset
110 int getAdminCount() const;
ce66d7e374bf Restyled RCONSession method names and paren style
Teemu Piippo <teemu@compsta2.com>
parents: 154
diff changeset
111 const String& getLevel() const;
ce66d7e374bf Restyled RCONSession method names and paren style
Teemu Piippo <teemu@compsta2.com>
parents: 154
diff changeset
112 UDPSocket* getSocket();
ce66d7e374bf Restyled RCONSession method names and paren style
Teemu Piippo <teemu@compsta2.com>
parents: 154
diff changeset
113 RCONSessionState getState() const;
167
0150f86e68f0 Added the PacketQueue class to make use of the sequence numbering to process packets in the correct order, and the ZFC9000 end of packet recovery protocol.
Teemu Piippo <teemu@compsta2.com>
parents: 160
diff changeset
114 void handlePacket(ByteArray& message);
156
ce66d7e374bf Restyled RCONSession method names and paren style
Teemu Piippo <teemu@compsta2.com>
parents: 154
diff changeset
115 bool isActive() const;
ce66d7e374bf Restyled RCONSession method names and paren style
Teemu Piippo <teemu@compsta2.com>
parents: 154
diff changeset
116 void processServerUpdates(Bytestream& packet);
ce66d7e374bf Restyled RCONSession method names and paren style
Teemu Piippo <teemu@compsta2.com>
parents: 154
diff changeset
117 void requestTabCompletion(const String& part);
160
cf514fa0f1cc Fixed compilation problems.
Teemu Piippo <teemu@compsta2.com>
parents: 159
diff changeset
118 void requestWatch (const String& cvar);
cf514fa0f1cc Fixed compilation problems.
Teemu Piippo <teemu@compsta2.com>
parents: 159
diff changeset
119 void requestWatch (const StringList& cvars);
158
de7574d292ad Added the ByteArray typedef for Vector<unsigned char>
Teemu Piippo <teemu@compsta2.com>
parents: 157
diff changeset
120 void send(const ByteArray& packet);
157
42bb29924218 Bytestream now behaves more like a cursor. It does not store the data anymore, rather it leaves the user to specify a vector to use for storage.
Teemu Piippo <teemu@compsta2.com>
parents: 156
diff changeset
121 bool sendCommand(const String& commandString);
156
ce66d7e374bf Restyled RCONSession method names and paren style
Teemu Piippo <teemu@compsta2.com>
parents: 154
diff changeset
122 void sendHello();
ce66d7e374bf Restyled RCONSession method names and paren style
Teemu Piippo <teemu@compsta2.com>
parents: 154
diff changeset
123 void sendPassword();
ce66d7e374bf Restyled RCONSession method names and paren style
Teemu Piippo <teemu@compsta2.com>
parents: 154
diff changeset
124 void setInterface(class Interface* interface);
ce66d7e374bf Restyled RCONSession method names and paren style
Teemu Piippo <teemu@compsta2.com>
parents: 154
diff changeset
125 void setPassword(const String& password);
ce66d7e374bf Restyled RCONSession method names and paren style
Teemu Piippo <teemu@compsta2.com>
parents: 154
diff changeset
126 void tick();
14
33b8f428bacb - begin work on interface - input line works for the most part :)
Teemu Piippo <crimsondusk64@gmail.com>
parents: 12
diff changeset
127
10
3874575d924d - begin work on rcon sessions
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
128 private:
3874575d924d - begin work on rcon sessions
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
129 RCONSessionState m_state;
3874575d924d - begin work on rcon sessions
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
130 IPAddress m_address;
3874575d924d - begin work on rcon sessions
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
131 UDPSocket m_socket;
167
0150f86e68f0 Added the PacketQueue class to make use of the sequence numbering to process packets in the correct order, and the ZFC9000 end of packet recovery protocol.
Teemu Piippo <teemu@compsta2.com>
parents: 160
diff changeset
132 PacketQueue m_packetQueue;
10
3874575d924d - begin work on rcon sessions
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
133 time_t m_lastPing;
3874575d924d - begin work on rcon sessions
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
134 String m_password;
3874575d924d - begin work on rcon sessions
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
135 String m_salt;
12
8d0d1b368de0 - rcon session now works! woo!
Teemu Piippo <crimsondusk64@gmail.com>
parents: 10
diff changeset
136 int m_serverProtocol;
8d0d1b368de0 - rcon session now works! woo!
Teemu Piippo <crimsondusk64@gmail.com>
parents: 10
diff changeset
137 String m_hostname;
156
ce66d7e374bf Restyled RCONSession method names and paren style
Teemu Piippo <teemu@compsta2.com>
parents: 154
diff changeset
138 int m_adminCount;
27
089e37c0887e - now exits cleanly with ^Q!
Teemu Piippo <crimsondusk64@gmail.com>
parents: 24
diff changeset
139 String m_level;
41
9ab869656b9e - re-commit tab-complete
Teemu Piippo <crimsondusk64@gmail.com>
parents: 40
diff changeset
140 String m_lastTabComplete;
167
0150f86e68f0 Added the PacketQueue class to make use of the sequence numbering to process packets in the correct order, and the ZFC9000 end of packet recovery protocol.
Teemu Piippo <teemu@compsta2.com>
parents: 160
diff changeset
141 time_t m_lastMissingPacketRequest;
72
1b9c53e0c846 Massive refactor
Teemu Piippo <crimsondusk64@gmail.com>
parents: 71
diff changeset
142 class Interface* m_interface;
10
3874575d924d - begin work on rcon sessions
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
143 };
88
08ccaf26cffd Now works with MSVC 2010/pdcurses-win32a
Teemu Piippo <tsapii@utu.fi>
parents: 73
diff changeset
144
08ccaf26cffd Now works with MSVC 2010/pdcurses-win32a
Teemu Piippo <tsapii@utu.fi>
parents: 73
diff changeset
145 END_ZFC_NAMESPACE

mercurial