summaryrefslogtreecommitdiff
path: root/src/network/networkpacket.cpp
diff options
context:
space:
mode:
authorsfan5 <sfan5@live.de>2021-09-17 18:14:25 +0200
committerrubenwardy <rw@rubenwardy.com>2021-10-19 19:22:46 +0100
commit05b54a8d18051a3452c405f58bee5852f3d3a27b (patch)
tree961f7e79c3c64d4074e228ff0c415820eded32ea /src/network/networkpacket.cpp
parente5cfdd369ed96a7906a6ed6de7eb3878a10fc57c (diff)
downloadminetest-05b54a8d18051a3452c405f58bee5852f3d3a27b.tar.gz
minetest-05b54a8d18051a3452c405f58bee5852f3d3a27b.tar.bz2
minetest-05b54a8d18051a3452c405f58bee5852f3d3a27b.zip
Shave off buffer copies in networking code (#11607)
Diffstat (limited to 'src/network/networkpacket.cpp')
-rw-r--r--src/network/networkpacket.cpp9
1 files changed, 3 insertions, 6 deletions
diff --git a/src/network/networkpacket.cpp b/src/network/networkpacket.cpp
index a71e26572..6b8b0f703 100644
--- a/src/network/networkpacket.cpp
+++ b/src/network/networkpacket.cpp
@@ -549,14 +549,11 @@ NetworkPacket& NetworkPacket::operator<<(video::SColor src)
return *this;
}
-SharedBuffer<u8> NetworkPacket::oldForgePacket()
+Buffer<u8> NetworkPacket::oldForgePacket()
{
- SharedBuffer<u8> sb(m_datasize + 2);
+ Buffer<u8> sb(m_datasize + 2);
writeU16(&sb[0], m_command);
+ memcpy(&sb[2], m_data.data(), m_datasize);
- u8* datas = getU8Ptr(0);
-
- if (datas != NULL)
- memcpy(&sb[2], datas, m_datasize);
return sb;
}