From: Loic Blot Date: Thu, 30 Jul 2015 21:14:05 +0000 (+0200) Subject: Small SendableMediaAnnouncement cleanup X-Git-Tag: 0.4.13~71 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=05fe9ab2d4a4be252adb456b8bc14896939e4eb7;p=oweals%2Fminetest.git Small SendableMediaAnnouncement cleanup -> Remove the SendableMediaAnnouncement struct -> Forge the packet directly in the m_media loop, spare one loop and the construction of a vector -> Use preincrement to spare iterator copies --- diff --git a/src/server.cpp b/src/server.cpp index 33cba17e5..70fe5ae2c 100644 --- a/src/server.cpp +++ b/src/server.cpp @@ -2330,44 +2330,22 @@ void Server::fillMediaCache() } } -struct SendableMediaAnnouncement -{ - std::string name; - std::string sha1_digest; - - SendableMediaAnnouncement(const std::string &name_="", - const std::string &sha1_digest_=""): - name(name_), - sha1_digest(sha1_digest_) - {} -}; - void Server::sendMediaAnnouncement(u16 peer_id) { DSTACK(__FUNCTION_NAME); - verbosestream<<"Server: Announcing files to id("< file_announcements; - - for (std::map::iterator i = m_media.begin(); - i != m_media.end(); i++){ - // Put in list - file_announcements.push_back( - SendableMediaAnnouncement(i->first, i->second.sha1_digest)); - } + verbosestream << "Server: Announcing files to id(" << peer_id << ")" + << std::endl; // Make packet std::ostringstream os(std::ios_base::binary); NetworkPacket pkt(TOCLIENT_ANNOUNCE_MEDIA, 0, peer_id); - pkt << (u16) file_announcements.size(); + pkt << (u16) m_media.size(); - for (std::vector::iterator - j = file_announcements.begin(); - j != file_announcements.end(); ++j) { - pkt << j->name << j->sha1_digest; + for (std::map::iterator i = m_media.begin(); + i != m_media.end(); ++i) { + pkt << i->first << i->second.sha1_digest; } pkt << g_settings->get("remote_media");