summaryrefslogtreecommitdiff
path: root/src/server
diff options
context:
space:
mode:
authorsfan5 <sfan5@live.de>2020-05-26 17:38:31 +0200
committersfan5 <sfan5@live.de>2020-05-27 21:58:40 +0200
commit471e567657dfd75a994a1b54d7a23cf4541a6bed (patch)
tree1b909e24669141f3fba2a6d98c68e22f1288249b /src/server
parent2fd5f38c45a3b57a9ea2d566aa50f9e5c33794d2 (diff)
downloadminetest-471e567657dfd75a994a1b54d7a23cf4541a6bed.tar.gz
minetest-471e567657dfd75a994a1b54d7a23cf4541a6bed.tar.bz2
minetest-471e567657dfd75a994a1b54d7a23cf4541a6bed.zip
Value copy / allocation optimizations mostly in server, SAO and serialize code
Diffstat (limited to 'src/server')
-rw-r--r--src/server/luaentity_sao.cpp15
-rw-r--r--src/server/player_sao.cpp7
-rw-r--r--src/server/serveractiveobject.cpp2
-rw-r--r--src/server/serverinventorymgr.h2
4 files changed, 9 insertions, 17 deletions
diff --git a/src/server/luaentity_sao.cpp b/src/server/luaentity_sao.cpp
index 51e1ca90e..8174da265 100644
--- a/src/server/luaentity_sao.cpp
+++ b/src/server/luaentity_sao.cpp
@@ -119,8 +119,7 @@ void LuaEntitySAO::step(float dtime, bool send_recommended)
m_properties_sent = true;
std::string str = getPropertyPacket();
// create message and add to list
- ActiveObjectMessage aom(getId(), true, str);
- m_messages_out.push(aom);
+ m_messages_out.emplace(getId(), true, str);
}
// If attached, check that our parent is still there. If it isn't, detach.
@@ -228,16 +227,14 @@ void LuaEntitySAO::step(float dtime, bool send_recommended)
m_animation_sent = true;
std::string str = generateUpdateAnimationCommand();
// create message and add to list
- ActiveObjectMessage aom(getId(), true, str);
- m_messages_out.push(aom);
+ m_messages_out.emplace(getId(), true, str);
}
if (!m_animation_speed_sent) {
m_animation_speed_sent = true;
std::string str = generateUpdateAnimationSpeedCommand();
// create message and add to list
- ActiveObjectMessage aom(getId(), true, str);
- m_messages_out.push(aom);
+ m_messages_out.emplace(getId(), true, str);
}
if (!m_bone_position_sent) {
@@ -247,8 +244,7 @@ void LuaEntitySAO::step(float dtime, bool send_recommended)
std::string str = generateUpdateBonePositionCommand((*ii).first,
(*ii).second.X, (*ii).second.Y);
// create message and add to list
- ActiveObjectMessage aom(getId(), true, str);
- m_messages_out.push(aom);
+ m_messages_out.emplace(getId(), true, str);
}
}
@@ -256,8 +252,7 @@ void LuaEntitySAO::step(float dtime, bool send_recommended)
m_attachment_sent = true;
std::string str = generateUpdateAttachmentCommand();
// create message and add to list
- ActiveObjectMessage aom(getId(), true, str);
- m_messages_out.push(aom);
+ m_messages_out.emplace(getId(), true, str);
}
}
diff --git a/src/server/player_sao.cpp b/src/server/player_sao.cpp
index a4d0f4ce7..3ea3536e2 100644
--- a/src/server/player_sao.cpp
+++ b/src/server/player_sao.cpp
@@ -223,8 +223,7 @@ void PlayerSAO::step(float dtime, bool send_recommended)
m_properties_sent = true;
std::string str = getPropertyPacket();
// create message and add to list
- ActiveObjectMessage aom(getId(), true, str);
- m_messages_out.push(aom);
+ m_messages_out.emplace(getId(), true, str);
m_env->getScriptIface()->player_event(this, "properties_changed");
}
@@ -324,10 +323,8 @@ void PlayerSAO::step(float dtime, bool send_recommended)
if (!m_attachment_sent) {
m_attachment_sent = true;
- std::string str = generateUpdateAttachmentCommand();
// create message and add to list
- ActiveObjectMessage aom(getId(), true, str);
- m_messages_out.push(aom);
+ m_messages_out.emplace(getId(), true, generateUpdateAttachmentCommand());
}
}
diff --git a/src/server/serveractiveobject.cpp b/src/server/serveractiveobject.cpp
index 8345ebd47..fdcb13bd8 100644
--- a/src/server/serveractiveobject.cpp
+++ b/src/server/serveractiveobject.cpp
@@ -75,7 +75,7 @@ std::string ServerActiveObject::generateUpdateNametagAttributesCommand(const vid
void ServerActiveObject::dumpAOMessagesToQueue(std::queue<ActiveObjectMessage> &queue)
{
while (!m_messages_out.empty()) {
- queue.push(m_messages_out.front());
+ queue.push(std::move(m_messages_out.front()));
m_messages_out.pop();
}
} \ No newline at end of file
diff --git a/src/server/serverinventorymgr.h b/src/server/serverinventorymgr.h
index d0aac4dae..ccf6d3b2e 100644
--- a/src/server/serverinventorymgr.h
+++ b/src/server/serverinventorymgr.h
@@ -57,4 +57,4 @@ private:
ServerEnvironment *m_env = nullptr;
std::unordered_map<std::string, DetachedInventory> m_detached_inventories;
-}; \ No newline at end of file
+};