m_active_object_messages is used like a queue. Use std::queue instead of std::list. Also rename to m_active_object_messages_queue

master
Loic Blot 2015-04-21 23:26:34 +02:00
parent 436cb468e9
commit 972d17baea
2 changed files with 6 additions and 5 deletions

View File

@ -1238,7 +1238,7 @@ void ServerEnvironment::step(float dtime)
// Read messages from object // Read messages from object
while(!obj->m_messages_out.empty()) while(!obj->m_messages_out.empty())
{ {
m_active_object_messages.push_back( m_active_object_messages_queue.push(
obj->m_messages_out.front()); obj->m_messages_out.front());
obj->m_messages_out.pop(); obj->m_messages_out.pop();
} }
@ -1458,11 +1458,11 @@ void ServerEnvironment::getRemovedActiveObjects(v3s16 pos, s16 radius,
ActiveObjectMessage ServerEnvironment::getActiveObjectMessage() ActiveObjectMessage ServerEnvironment::getActiveObjectMessage()
{ {
if(m_active_object_messages.empty()) if(m_active_object_messages_queue.empty())
return ActiveObjectMessage(0); return ActiveObjectMessage(0);
ActiveObjectMessage message = m_active_object_messages.front(); ActiveObjectMessage message = m_active_object_messages_queue.front();
m_active_object_messages.pop_front(); m_active_object_messages_queue.pop();
return message; return message;
} }

View File

@ -33,6 +33,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include <set> #include <set>
#include <list> #include <list>
#include <map> #include <map>
#include <queue>
#include "irr_v3d.h" #include "irr_v3d.h"
#include "activeobject.h" #include "activeobject.h"
#include "util/numeric.h" #include "util/numeric.h"
@ -378,7 +379,7 @@ private:
// Active object list // Active object list
std::map<u16, ServerActiveObject*> m_active_objects; std::map<u16, ServerActiveObject*> m_active_objects;
// Outgoing network message buffer for active objects // Outgoing network message buffer for active objects
std::list<ActiveObjectMessage> m_active_object_messages; std::queue<ActiveObjectMessage> m_active_object_messages_queue;
// Some timers // Some timers
float m_send_recommended_timer; float m_send_recommended_timer;
IntervalLimiter m_object_management_interval; IntervalLimiter m_object_management_interval;