Optimize ClientIface::getPlayerNames(): return const ref instead a copy of all names

This commit is contained in:
Loic Blot 2016-10-08 16:42:09 +02:00 committed by Ner'zhul
parent fd5a130b86
commit edba6e50d9
3 changed files with 4 additions and 10 deletions

@ -627,12 +627,6 @@ std::vector<u16> ClientInterface::getClientIDs(ClientState min_state)
return reply; return reply;
} }
std::vector<std::string> ClientInterface::getPlayerNames()
{
return m_clients_names;
}
void ClientInterface::step(float dtime) void ClientInterface::step(float dtime)
{ {
m_print_info_timer += dtime; m_print_info_timer += dtime;

@ -453,7 +453,7 @@ public:
std::vector<u16> getClientIDs(ClientState min_state=CS_Active); std::vector<u16> getClientIDs(ClientState min_state=CS_Active);
/* get list of client player names */ /* get list of client player names */
std::vector<std::string> getPlayerNames(); const std::vector<std::string> &getPlayerNames() const { return m_clients_names; }
/* send message to client */ /* send message to client */
void send(u16 peer_id, u8 channelnum, NetworkPacket* pkt, bool reliable); void send(u16 peer_id, u8 channelnum, NetworkPacket* pkt, bool reliable);

@ -1123,11 +1123,11 @@ PlayerSAO* Server::StageTwoClientInit(u16 peer_id)
Print out action Print out action
*/ */
{ {
std::vector<std::string> names = m_clients.getPlayerNames(); const std::vector<std::string> &names = m_clients.getPlayerNames();
actionstream<<player->getName() <<" joins game. List of players: "; actionstream << player->getName() << " joins game. List of players: ";
for (std::vector<std::string>::iterator i = names.begin(); for (std::vector<std::string>::const_iterator i = names.begin();
i != names.end(); ++i) { i != names.end(); ++i) {
actionstream << *i << " "; actionstream << *i << " ";
} }