Ticket #3700: 3700.txt

File 3700.txt, 21.3 KB (added by Andy Alt, 7 years ago)

only some renaming done. The threading hasn't been added yet. Builds but fails the tests.

Line 
1Index: source/gui/scripting/ScriptFunctions.cpp
2===================================================================
3--- source/gui/scripting/ScriptFunctions.cpp (revision 19355)
4+++ source/gui/scripting/ScriptFunctions.cpp (working copy)
5@@ -349,7 +349,7 @@
6 }
7
8 g_Game = new CGame();
9- g_NetClient = new CNetClient(g_Game, true);
10+ g_NetClient = new CNetClientWorker(g_Game, true);
11 g_NetClient->SetUserName(playerName);
12
13 if (!g_NetClient->SetupConnection("127.0.0.1", serverPort))
14@@ -367,7 +367,7 @@
15 ENSURE(!g_Game);
16
17 g_Game = new CGame();
18- g_NetClient = new CNetClient(g_Game, false);
19+ g_NetClient = new CNetClientWorker(g_Game, false);
20 g_NetClient->SetUserName(playerName);
21 if (!g_NetClient->SetupConnection(serverAddress, serverPort))
22 {
23Index: source/network/NetClient.cpp
24===================================================================
25--- source/network/NetClient.cpp (revision 19355)
26+++ source/network/NetClient.cpp (working copy)
27@@ -35,7 +35,7 @@
28 #include "scriptinterface/ScriptInterface.h"
29 #include "simulation2/Simulation2.h"
30
31-CNetClient *g_NetClient = NULL;
32+CNetClientWorker *g_NetClient = NULL;
33
34 /**
35 * Async task for receiving the initial game state when rejoining an
36@@ -45,7 +45,7 @@
37 {
38 NONCOPYABLE(CNetFileReceiveTask_ClientRejoin);
39 public:
40- CNetFileReceiveTask_ClientRejoin(CNetClient& client)
41+ CNetFileReceiveTask_ClientRejoin(CNetClientWorker& client)
42 : m_Client(client)
43 {
44 }
45@@ -63,10 +63,10 @@
46 }
47
48 private:
49- CNetClient& m_Client;
50+ CNetClientWorker& m_Client;
51 };
52
53-CNetClient::CNetClient(CGame* game, bool isLocalClient) :
54+CNetClientWorker::CNetClientWorker(CGame* game, bool isLocalClient) :
55 m_Session(NULL),
56 m_UserName(L"anonymous"),
57 m_GUID(ps_generate_guid()), m_HostID((u32)-1), m_ClientTurnManager(NULL), m_Game(game),
58@@ -79,7 +79,7 @@
59
60 void* context = this;
61
62- JS_AddExtraGCRootsTracer(GetScriptInterface().GetJSRuntime(), CNetClient::Trace, this);
63+ JS_AddExtraGCRootsTracer(GetScriptInterface().GetJSRuntime(), CNetClientWorker::Trace, this);
64
65 // Set up transitions for session
66 AddTransition(NCS_UNCONNECTED, (uint)NMT_CONNECT_COMPLETE, NCS_CONNECT, (void*)&OnConnect, context);
67@@ -139,19 +139,19 @@
68 SetFirstState(NCS_UNCONNECTED);
69 }
70
71-CNetClient::~CNetClient()
72+CNetClientWorker::~CNetClientWorker()
73 {
74 DestroyConnection();
75- JS_RemoveExtraGCRootsTracer(GetScriptInterface().GetJSRuntime(), CNetClient::Trace, this);
76+ JS_RemoveExtraGCRootsTracer(GetScriptInterface().GetJSRuntime(), CNetClientWorker::Trace, this);
77 }
78
79-void CNetClient::TraceMember(JSTracer *trc)
80+void CNetClientWorker::TraceMember(JSTracer *trc)
81 {
82 for (JS::Heap<JS::Value>& guiMessage : m_GuiMessageQueue)
83 JS_CallValueTracer(trc, &guiMessage, "m_GuiMessageQueue");
84 }
85
86-void CNetClient::SetUserName(const CStrW& username)
87+void CNetClientWorker::SetUserName(const CStrW& username)
88 {
89 ENSURE(!m_Session); // must be called before we start the connection
90
91@@ -158,7 +158,7 @@
92 m_UserName = username;
93 }
94
95-bool CNetClient::SetupConnection(const CStr& server, const u16 port)
96+bool CNetClientWorker::SetupConnection(const CStr& server, const u16 port)
97 {
98 CNetClientSession* session = new CNetClientSession(*this);
99 bool ok = session->Connect(server, port, m_IsLocalClient);
100@@ -166,13 +166,13 @@
101 return ok;
102 }
103
104-void CNetClient::SetAndOwnSession(CNetClientSession* session)
105+void CNetClientWorker::SetAndOwnSession(CNetClientSession* session)
106 {
107 delete m_Session;
108 m_Session = session;
109 }
110
111-void CNetClient::DestroyConnection()
112+void CNetClientWorker::DestroyConnection()
113 {
114 // Send network messages from the current frame before connection is destroyed.
115 if (m_ClientTurnManager)
116@@ -183,7 +183,7 @@
117 SAFE_DELETE(m_Session);
118 }
119
120-void CNetClient::Poll()
121+void CNetClientWorker::Poll()
122 {
123 if (!m_Session)
124 return;
125@@ -192,7 +192,7 @@
126 m_Session->Poll();
127 }
128
129-void CNetClient::CheckServerConnection()
130+void CNetClientWorker::CheckServerConnection()
131 {
132 // Trigger local warnings if the connection to the server is bad.
133 // At most once per second.
134@@ -227,13 +227,13 @@
135 }
136 }
137
138-void CNetClient::Flush()
139+void CNetClientWorker::Flush()
140 {
141 if (m_Session)
142 m_Session->Flush();
143 }
144
145-void CNetClient::GuiPoll(JS::MutableHandleValue ret)
146+void CNetClientWorker::GuiPoll(JS::MutableHandleValue ret)
147 {
148 if (m_GuiMessageQueue.empty())
149 {
150@@ -245,7 +245,7 @@
151 m_GuiMessageQueue.pop_front();
152 }
153
154-void CNetClient::PushGuiMessage(const JS::HandleValue message)
155+void CNetClientWorker::PushGuiMessage(const JS::HandleValue message)
156 {
157 ENSURE(!message.isUndefined());
158
159@@ -252,7 +252,7 @@
160 m_GuiMessageQueue.push_back(JS::Heap<JS::Value>(message));
161 }
162
163-std::string CNetClient::TestReadGuiMessages()
164+std::string CNetClientWorker::TestReadGuiMessages()
165 {
166 JSContext* cx = GetScriptInterface().GetContext();
167 JSAutoRequest rq(cx);
168@@ -269,12 +269,12 @@
169 return r;
170 }
171
172-ScriptInterface& CNetClient::GetScriptInterface()
173+ScriptInterface& CNetClientWorker::GetScriptInterface()
174 {
175 return m_Game->GetSimulation2()->GetScriptInterface();
176 }
177
178-void CNetClient::PostPlayerAssignmentsToScript()
179+void CNetClientWorker::PostPlayerAssignmentsToScript()
180 {
181 JSContext* cx = GetScriptInterface().GetContext();
182 JSAutoRequest rq(cx);
183@@ -298,7 +298,7 @@
184 PushGuiMessage(msg);
185 }
186
187-bool CNetClient::SendMessage(const CNetMessage* message)
188+bool CNetClientWorker::SendMessage(const CNetMessage* message)
189 {
190 if (!m_Session)
191 return false;
192@@ -306,12 +306,12 @@
193 return m_Session->SendMessage(message);
194 }
195
196-void CNetClient::HandleConnect()
197+void CNetClientWorker::HandleConnect()
198 {
199 Update((uint)NMT_CONNECT_COMPLETE, NULL);
200 }
201
202-void CNetClient::HandleDisconnect(u32 reason)
203+void CNetClientWorker::HandleDisconnect(u32 reason)
204 {
205 JSContext* cx = GetScriptInterface().GetContext();
206 JSAutoRequest rq(cx);
207@@ -328,7 +328,7 @@
208 SetCurrState(NCS_UNCONNECTED);
209 }
210
211-void CNetClient::SendGameSetupMessage(JS::MutableHandleValue attrs, ScriptInterface& scriptInterface)
212+void CNetClientWorker::SendGameSetupMessage(JS::MutableHandleValue attrs, ScriptInterface& scriptInterface)
213 {
214 CGameSetupMessage gameSetup(scriptInterface);
215 gameSetup.m_Data = attrs;
216@@ -335,7 +335,7 @@
217 SendMessage(&gameSetup);
218 }
219
220-void CNetClient::SendAssignPlayerMessage(const int playerID, const CStr& guid)
221+void CNetClientWorker::SendAssignPlayerMessage(const int playerID, const CStr& guid)
222 {
223 CAssignPlayerMessage assignPlayer;
224 assignPlayer.m_PlayerID = playerID;
225@@ -343,7 +343,7 @@
226 SendMessage(&assignPlayer);
227 }
228
229-void CNetClient::SendChatMessage(const std::wstring& text)
230+void CNetClientWorker::SendChatMessage(const std::wstring& text)
231 {
232 CChatMessage chat;
233 chat.m_Message = text;
234@@ -350,7 +350,7 @@
235 SendMessage(&chat);
236 }
237
238-void CNetClient::SendReadyMessage(const int status)
239+void CNetClientWorker::SendReadyMessage(const int status)
240 {
241 CReadyMessage readyStatus;
242 readyStatus.m_Status = status;
243@@ -357,25 +357,25 @@
244 SendMessage(&readyStatus);
245 }
246
247-void CNetClient::SendClearAllReadyMessage()
248+void CNetClientWorker::SendClearAllReadyMessage()
249 {
250 CClearAllReadyMessage clearAllReady;
251 SendMessage(&clearAllReady);
252 }
253
254-void CNetClient::SendStartGameMessage()
255+void CNetClientWorker::SendStartGameMessage()
256 {
257 CGameStartMessage gameStart;
258 SendMessage(&gameStart);
259 }
260
261-void CNetClient::SendRejoinedMessage()
262+void CNetClientWorker::SendRejoinedMessage()
263 {
264 CRejoinedMessage rejoinedMessage;
265 SendMessage(&rejoinedMessage);
266 }
267
268-void CNetClient::SendKickPlayerMessage(const CStrW& playerName, bool ban)
269+void CNetClientWorker::SendKickPlayerMessage(const CStrW& playerName, bool ban)
270 {
271 CKickedMessage kickPlayer;
272 kickPlayer.m_Name = playerName;
273@@ -383,7 +383,7 @@
274 SendMessage(&kickPlayer);
275 }
276
277-void CNetClient::SendPausedMessage(bool pause)
278+void CNetClientWorker::SendPausedMessage(bool pause)
279 {
280 CClientPausedMessage pausedMessage;
281 pausedMessage.m_Pause = pause;
282@@ -390,7 +390,7 @@
283 SendMessage(&pausedMessage);
284 }
285
286-bool CNetClient::HandleMessage(CNetMessage* message)
287+bool CNetClientWorker::HandleMessage(CNetMessage* message)
288 {
289 // Handle non-FSM messages first
290
291@@ -433,7 +433,7 @@
292 return ok;
293 }
294
295-void CNetClient::LoadFinished()
296+void CNetClientWorker::LoadFinished()
297 {
298 JSContext* cx = GetScriptInterface().GetContext();
299 JSAutoRequest rq(cx);
300@@ -476,11 +476,11 @@
301 SendMessage(&loaded);
302 }
303
304-bool CNetClient::OnConnect(void* context, CFsmEvent* event)
305+bool CNetClientWorker::OnConnect(void* context, CFsmEvent* event)
306 {
307 ENSURE(event->GetType() == (uint)NMT_CONNECT_COMPLETE);
308
309- CNetClient* client = (CNetClient*)context;
310+ CNetClientWorker* client = (CNetClientWorker*)context;
311
312 JSContext* cx = client->GetScriptInterface().GetContext();
313 JSAutoRequest rq(cx);
314@@ -492,11 +492,11 @@
315 return true;
316 }
317
318-bool CNetClient::OnHandshake(void* context, CFsmEvent* event)
319+bool CNetClientWorker::OnHandshake(void* context, CFsmEvent* event)
320 {
321 ENSURE(event->GetType() == (uint)NMT_SERVER_HANDSHAKE);
322
323- CNetClient* client = (CNetClient*)context;
324+ CNetClientWorker* client = (CNetClientWorker*)context;
325
326 CCliHandshakeMessage handshake;
327 handshake.m_MagicResponse = PS_PROTOCOL_MAGIC_RESPONSE;
328@@ -507,11 +507,11 @@
329 return true;
330 }
331
332-bool CNetClient::OnHandshakeResponse(void* context, CFsmEvent* event)
333+bool CNetClientWorker::OnHandshakeResponse(void* context, CFsmEvent* event)
334 {
335 ENSURE(event->GetType() == (uint)NMT_SERVER_HANDSHAKE_RESPONSE);
336
337- CNetClient* client = (CNetClient*)context;
338+ CNetClientWorker* client = (CNetClientWorker*)context;
339
340 CAuthenticateMessage authenticate;
341 authenticate.m_GUID = client->m_GUID;
342@@ -523,11 +523,11 @@
343 return true;
344 }
345
346-bool CNetClient::OnAuthenticate(void* context, CFsmEvent* event)
347+bool CNetClientWorker::OnAuthenticate(void* context, CFsmEvent* event)
348 {
349 ENSURE(event->GetType() == (uint)NMT_AUTHENTICATE_RESULT);
350
351- CNetClient* client = (CNetClient*)context;
352+ CNetClientWorker* client = (CNetClientWorker*)context;
353
354 JSContext* cx = client->GetScriptInterface().GetContext();
355 JSAutoRequest rq(cx);
356@@ -547,11 +547,11 @@
357 return true;
358 }
359
360-bool CNetClient::OnChat(void* context, CFsmEvent* event)
361+bool CNetClientWorker::OnChat(void* context, CFsmEvent* event)
362 {
363 ENSURE(event->GetType() == (uint)NMT_CHAT);
364
365- CNetClient* client = (CNetClient*)context;
366+ CNetClientWorker* client = (CNetClientWorker*)context;
367 JSContext* cx = client->GetScriptInterface().GetContext();
368 JSAutoRequest rq(cx);
369
370@@ -566,11 +566,11 @@
371 return true;
372 }
373
374-bool CNetClient::OnReady(void* context, CFsmEvent* event)
375+bool CNetClientWorker::OnReady(void* context, CFsmEvent* event)
376 {
377 ENSURE(event->GetType() == (uint)NMT_READY);
378
379- CNetClient* client = (CNetClient*)context;
380+ CNetClientWorker* client = (CNetClientWorker*)context;
381 JSContext* cx = client->GetScriptInterface().GetContext();
382 JSAutoRequest rq(cx);
383
384@@ -585,11 +585,11 @@
385 return true;
386 }
387
388-bool CNetClient::OnGameSetup(void* context, CFsmEvent* event)
389+bool CNetClientWorker::OnGameSetup(void* context, CFsmEvent* event)
390 {
391 ENSURE(event->GetType() == (uint)NMT_GAME_SETUP);
392
393- CNetClient* client = (CNetClient*)context;
394+ CNetClientWorker* client = (CNetClientWorker*)context;
395 JSContext* cx = client->GetScriptInterface().GetContext();
396 JSAutoRequest rq(cx);
397
398@@ -605,11 +605,11 @@
399 return true;
400 }
401
402-bool CNetClient::OnPlayerAssignment(void* context, CFsmEvent* event)
403+bool CNetClientWorker::OnPlayerAssignment(void* context, CFsmEvent* event)
404 {
405 ENSURE(event->GetType() == (uint)NMT_PLAYER_ASSIGNMENT);
406
407- CNetClient* client = (CNetClient*)context;
408+ CNetClientWorker* client = (CNetClientWorker*)context;
409
410 CPlayerAssignmentMessage* message = (CPlayerAssignmentMessage*)event->GetParamRef();
411
412@@ -632,11 +632,11 @@
413 return true;
414 }
415
416-bool CNetClient::OnGameStart(void* context, CFsmEvent* event)
417+bool CNetClientWorker::OnGameStart(void* context, CFsmEvent* event)
418 {
419 ENSURE(event->GetType() == (uint)NMT_GAME_START);
420
421- CNetClient* client = (CNetClient*)context;
422+ CNetClientWorker* client = (CNetClientWorker*)context;
423 JSContext* cx = client->GetScriptInterface().GetContext();
424 JSAutoRequest rq(cx);
425
426@@ -658,11 +658,11 @@
427 return true;
428 }
429
430-bool CNetClient::OnJoinSyncStart(void* context, CFsmEvent* event)
431+bool CNetClientWorker::OnJoinSyncStart(void* context, CFsmEvent* event)
432 {
433 ENSURE(event->GetType() == (uint)NMT_JOIN_SYNC_START);
434
435- CNetClient* client = (CNetClient*)context;
436+ CNetClientWorker* client = (CNetClientWorker*)context;
437
438 // The server wants us to start downloading the game state from it, so do so
439 client->m_Session->GetFileTransferer().StartTask(
440@@ -672,11 +672,11 @@
441 return true;
442 }
443
444-bool CNetClient::OnJoinSyncEndCommandBatch(void* context, CFsmEvent* event)
445+bool CNetClientWorker::OnJoinSyncEndCommandBatch(void* context, CFsmEvent* event)
446 {
447 ENSURE(event->GetType() == (uint)NMT_END_COMMAND_BATCH);
448
449- CNetClient* client = (CNetClient*)context;
450+ CNetClientWorker* client = (CNetClientWorker*)context;
451
452 CEndCommandBatchMessage* endMessage = (CEndCommandBatchMessage*)event->GetParamRef();
453
454@@ -688,11 +688,11 @@
455 return true;
456 }
457
458-bool CNetClient::OnRejoined(void* context, CFsmEvent* event)
459+bool CNetClientWorker::OnRejoined(void* context, CFsmEvent* event)
460 {
461 ENSURE(event->GetType() == (uint)NMT_REJOINED);
462
463- CNetClient* client = (CNetClient*)context;
464+ CNetClientWorker* client = (CNetClientWorker*)context;
465 JSContext* cx = client->GetScriptInterface().GetContext();
466 JSAutoRequest rq(cx);
467
468@@ -705,11 +705,11 @@
469 return true;
470 }
471
472-bool CNetClient::OnKicked(void *context, CFsmEvent* event)
473+bool CNetClientWorker::OnKicked(void *context, CFsmEvent* event)
474 {
475 ENSURE(event->GetType() == (uint)NMT_KICKED);
476
477- CNetClient* client = (CNetClient*)context;
478+ CNetClientWorker* client = (CNetClientWorker*)context;
479 JSContext* cx = client->GetScriptInterface().GetContext();
480 JSAutoRequest rq(cx);
481
482@@ -725,13 +725,13 @@
483 return true;
484 }
485
486-bool CNetClient::OnClientTimeout(void *context, CFsmEvent* event)
487+bool CNetClientWorker::OnClientTimeout(void *context, CFsmEvent* event)
488 {
489 // Report the timeout of some other client
490
491 ENSURE(event->GetType() == (uint)NMT_CLIENT_TIMEOUT);
492
493- CNetClient* client = (CNetClient*)context;
494+ CNetClientWorker* client = (CNetClientWorker*)context;
495 JSContext* cx = client->GetScriptInterface().GetContext();
496 JSAutoRequest rq(cx);
497
498@@ -749,13 +749,13 @@
499 return true;
500 }
501
502-bool CNetClient::OnClientPerformance(void *context, CFsmEvent* event)
503+bool CNetClientWorker::OnClientPerformance(void *context, CFsmEvent* event)
504 {
505 // Performance statistics for one or multiple clients
506
507 ENSURE(event->GetType() == (uint)NMT_CLIENT_PERFORMANCE);
508
509- CNetClient* client = (CNetClient*)context;
510+ CNetClientWorker* client = (CNetClientWorker*)context;
511 JSContext* cx = client->GetScriptInterface().GetContext();
512 JSAutoRequest rq(cx);
513
514@@ -780,7 +780,7 @@
515 return true;
516 }
517
518-bool CNetClient::OnClientsLoading(void *context, CFsmEvent *event)
519+bool CNetClientWorker::OnClientsLoading(void *context, CFsmEvent *event)
520 {
521 ENSURE(event->GetType() == (uint)NMT_CLIENTS_LOADING);
522
523@@ -791,7 +791,7 @@
524 for (const CClientsLoadingMessage::S_m_Clients& client : message->m_Clients)
525 guids.push_back(client.m_GUID);
526
527- CNetClient* client = (CNetClient*)context;
528+ CNetClientWorker* client = (CNetClientWorker*)context;
529 JSContext* cx = client->GetScriptInterface().GetContext();
530 JSAutoRequest rq(cx);
531
532@@ -802,11 +802,11 @@
533 return true;
534 }
535
536-bool CNetClient::OnClientPaused(void *context, CFsmEvent *event)
537+bool CNetClientWorker::OnClientPaused(void *context, CFsmEvent *event)
538 {
539 ENSURE(event->GetType() == (uint)NMT_CLIENT_PAUSED);
540
541- CNetClient* client = (CNetClient*)context;
542+ CNetClientWorker* client = (CNetClientWorker*)context;
543 JSContext* cx = client->GetScriptInterface().GetContext();
544 JSAutoRequest rq(cx);
545
546@@ -821,11 +821,11 @@
547 return true;
548 }
549
550-bool CNetClient::OnLoadedGame(void* context, CFsmEvent* event)
551+bool CNetClientWorker::OnLoadedGame(void* context, CFsmEvent* event)
552 {
553 ENSURE(event->GetType() == (uint)NMT_LOADED_GAME);
554
555- CNetClient* client = (CNetClient*)context;
556+ CNetClientWorker* client = (CNetClientWorker*)context;
557 JSContext* cx = client->GetScriptInterface().GetContext();
558 JSAutoRequest rq(cx);
559
560@@ -844,11 +844,11 @@
561 return true;
562 }
563
564-bool CNetClient::OnInGame(void *context, CFsmEvent* event)
565+bool CNetClientWorker::OnInGame(void *context, CFsmEvent* event)
566 {
567 // TODO: should split each of these cases into a separate method
568
569- CNetClient* client = (CNetClient*)context;
570+ CNetClientWorker* client = (CNetClientWorker*)context;
571
572 CNetMessage* message = (CNetMessage*)event->GetParamRef();
573 if (message)
574Index: source/network/NetClient.h
575===================================================================
576--- source/network/NetClient.h (revision 19355)
577+++ source/network/NetClient.h (working copy)
578@@ -23,6 +23,7 @@
579 #include "network/NetHost.h"
580 #include "scriptinterface/ScriptVal.h"
581
582+#include "ps/ThreadUtil.h"
583 #include "ps/CStr.h"
584
585 #include <deque>
586@@ -54,9 +55,9 @@
587 * It provides an interface between the GUI, the network (via CNetClientSession),
588 * and the game (via CGame and CNetClientTurnManager).
589 */
590-class CNetClient : public CFsm
591+class CNetClientWorker : public CFsm
592 {
593- NONCOPYABLE(CNetClient);
594+ NONCOPYABLE(CNetClientWorker);
595
596 friend class CNetFileReceiveTask_ClientRejoin;
597
598@@ -65,9 +66,9 @@
599 * Construct a client associated with the given game object.
600 * The game must exist for the lifetime of this object.
601 */
602- CNetClient(CGame* game, bool isLocalClient);
603+ CNetClientWorker(CGame* game, bool isLocalClient);
604
605- virtual ~CNetClient();
606+ virtual ~CNetClientWorker();
607
608 /**
609 * We assume that adding a tracing function that's only called
610@@ -77,7 +78,7 @@
611 */
612 static void Trace(JSTracer *trc, void *data)
613 {
614- reinterpret_cast<CNetClient*>(data)->TraceMember(trc);
615+ reinterpret_cast<CNetClientWorker*>(data)->TraceMember(trc);
616 }
617
618 void TraceMember(JSTracer *trc);
619@@ -285,6 +286,6 @@
620 };
621
622 /// Global network client for the standard game
623-extern CNetClient *g_NetClient;
624+extern CNetClientWorker *g_NetClient;
625
626 #endif // NETCLIENT_H
627Index: source/network/NetClientTurnManager.cpp
628===================================================================
629--- source/network/NetClientTurnManager.cpp (revision 19355)
630+++ source/network/NetClientTurnManager.cpp (working copy)
631@@ -33,7 +33,7 @@
632 #define NETCLIENTTURN_LOG(...)
633 #endif
634
635-CNetClientTurnManager::CNetClientTurnManager(CSimulation2& simulation, CNetClient& client, int clientId, IReplayLogger& replay)
636+CNetClientTurnManager::CNetClientTurnManager(CSimulation2& simulation, CNetClientWorker& client, int clientId, IReplayLogger& replay)
637 : CTurnManager(simulation, DEFAULT_TURN_LENGTH_MP, clientId, replay), m_NetClient(client)
638 {
639 }
640Index: source/network/NetClientTurnManager.h
641===================================================================
642--- source/network/NetClientTurnManager.h (revision 19355)
643+++ source/network/NetClientTurnManager.h (working copy)
644@@ -21,7 +21,7 @@
645 #include "simulation2/system/TurnManager.h"
646 #include "NetMessage.h"
647
648-class CNetClient;
649+class CNetClientWorker;
650
651 /**
652 * Implementation of CTurnManager for network clients.
653@@ -30,7 +30,7 @@
654 {
655 NONCOPYABLE(CNetClientTurnManager);
656 public:
657- CNetClientTurnManager(CSimulation2& simulation, CNetClient& client, int clientId, IReplayLogger& replay);
658+ CNetClientTurnManager(CSimulation2& simulation, CNetClientWorker& client, int clientId, IReplayLogger& replay);
659
660 void OnSimulationMessage(CSimulationMessage* msg) override;
661
662@@ -48,7 +48,7 @@
663
664 void NotifyFinishedUpdate(u32 turn) override;
665
666- CNetClient& m_NetClient;
667+ CNetClientWorker& m_NetClient;
668 };
669
670 #endif // INCLUDED_NETCLIENTTURNMANAGER
671Index: source/network/NetSession.cpp
672===================================================================
673--- source/network/NetSession.cpp (revision 19355)
674+++ source/network/NetSession.cpp (working copy)
675@@ -32,7 +32,7 @@
676
677 static const int CHANNEL_COUNT = 1;
678
679-CNetClientSession::CNetClientSession(CNetClient& client) :
680+CNetClientSession::CNetClientSession(CNetClientWorker& client) :
681 m_Client(client), m_FileTransferer(this), m_Host(NULL), m_Server(NULL), m_Stats(NULL)
682 {
683 }
684Index: source/network/NetSession.h
685===================================================================
686--- source/network/NetSession.h (revision 19355)
687+++ source/network/NetSession.h (working copy)
688@@ -34,7 +34,7 @@
689 */
690 extern const u32 MAXIMUM_HOST_TIMEOUT;
691
692-class CNetClient;
693+class CNetClientWorker;
694 class CNetServerWorker;
695
696 class CNetStatsTable;
697@@ -67,7 +67,7 @@
698 NONCOPYABLE(CNetClientSession);
699
700 public:
701- CNetClientSession(CNetClient& client);
702+ CNetClientSession(CNetClientWorker& client);
703 ~CNetClientSession();
704
705 bool Connect(const CStr& server, const u16 port, const bool isLocalClient);
706@@ -106,7 +106,7 @@
707 CNetFileTransferer& GetFileTransferer() { return m_FileTransferer; }
708
709 private:
710- CNetClient& m_Client;
711+ CNetClientWorker& m_Client;
712
713 CNetFileTransferer m_FileTransferer;
714
715Index: source/ps/GameSetup/GameSetup.cpp
716===================================================================
717--- source/ps/GameSetup/GameSetup.cpp (revision 19355)
718+++ source/ps/GameSetup/GameSetup.cpp (working copy)
719@@ -1498,7 +1498,7 @@
720 bool ok = g_NetServer->SetupConnection(PS_DEFAULT_PORT);
721 ENSURE(ok);
722
723- g_NetClient = new CNetClient(g_Game, true);
724+ g_NetClient = new CNetClientWorker(g_Game, true);
725 g_NetClient->SetUserName(userName);
726 g_NetClient->SetupConnection("127.0.0.1", PS_DEFAULT_PORT);
727 }
728@@ -1506,7 +1506,7 @@
729 {
730 InitPs(true, L"page_loading.xml", &scriptInterface, mpInitData);
731
732- g_NetClient = new CNetClient(g_Game, false);
733+ g_NetClient = new CNetClientWorker(g_Game, false);
734 g_NetClient->SetUserName(userName);
735
736 CStr ip = args.Get("autostart-client");