aboutsummaryrefslogtreecommitdiff
path: root/src/network/networkpacket.cpp
diff options
context:
space:
mode:
authorsfan5 <sfan5@live.de>2019-11-14 17:38:15 +0100
committersfan5 <sfan5@live.de>2019-11-19 20:27:20 +0100
commitc10952b5742ba4364ac7e6fc9f9f2b44c73357b5 (patch)
tree19912e424ec01f59c01cadc23788ad160fae0118 /src/network/networkpacket.cpp
parent97764600e27f8872768a28ac4a379d1d82f86952 (diff)
downloadminetest-c10952b5742ba4364ac7e6fc9f9f2b44c73357b5.tar.xz
Rework packet receiving in ServerThread
Notably it tries to receive all queued packets between server steps, not just one.
Diffstat (limited to 'src/network/networkpacket.cpp')
-rw-r--r--src/network/networkpacket.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/network/networkpacket.cpp b/src/network/networkpacket.cpp
index 22c035c5b..4d531b611 100644
--- a/src/network/networkpacket.cpp
+++ b/src/network/networkpacket.cpp
@@ -66,6 +66,15 @@ void NetworkPacket::putRawPacket(u8 *data, u32 datasize, session_t peer_id)
memcpy(m_data.data(), &data[2], m_datasize);
}
+void NetworkPacket::clear()
+{
+ m_data.clear();
+ m_datasize = 0;
+ m_read_offset = 0;
+ m_command = 0;
+ m_peer_id = 0;
+}
+
const char* NetworkPacket::getString(u32 from_offset)
{
checkReadOffset(from_offset, 0);