Skip to content
This repository was archived by the owner on Jan 5, 2024. It is now read-only.

Commit df18e84

Browse files
committed
fix network input lag queue
1 parent c043810 commit df18e84

File tree

2 files changed

+7
-7
lines changed

2 files changed

+7
-7
lines changed

Managers/NetworkServer.cpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -538,7 +538,7 @@ namespace RTE {
538538
skip = false;
539539
}
540540

541-
if (!skip) { m_InputMessages[player].push(msg); }
541+
if (!skip) { m_InputMessages[player].push_back(msg); }
542542
}
543543
}
544544

@@ -596,9 +596,7 @@ namespace RTE {
596596

597597
void NetworkServer::ClearInputMessages(short player) {
598598
if (player >= 0 && player < c_MaxClients) {
599-
while (!m_InputMessages[player].empty()) {
600-
m_InputMessages[player].pop();
601-
}
599+
m_InputMessages[player].clear();
602600
}
603601
}
604602

@@ -1826,8 +1824,10 @@ namespace RTE {
18261824
for (short player = 0; player < c_MaxClients; player++) {
18271825
if (!m_InputMessages[player].empty()) {
18281826
MsgInput msg = m_InputMessages[player].front();
1829-
m_InputMessages[player].pop();
1830-
ProcessInputMsg(player, msg);
1827+
for (auto &msg: m_InputMessages[player]) {
1828+
ProcessInputMsg(player, msg);
1829+
}
1830+
m_InputMessages[player].clear();
18311831
}
18321832
}
18331833

Managers/NetworkServer.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -276,7 +276,7 @@ namespace RTE {
276276

277277
std::mutex m_Mutex[c_MaxClients]; //!<
278278

279-
std::queue<MsgInput> m_InputMessages[c_MaxClients]; //!<
279+
std::vector<MsgInput> m_InputMessages[c_MaxClients]; //!<
280280

281281
unsigned char m_SceneID; //!<
282282

0 commit comments

Comments
 (0)