MCPcopy Create free account
hub / github.com/ddnet/ddnet / ReplaceEntry

Method ReplaceEntry

src/engine/client/serverbrowser.cpp:873–899  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

871}
872
873CServerBrowser::CServerEntry *CServerBrowser::ReplaceEntry(CServerEntry *pEntry, const NETADDR *pAddrs, int NumAddrs)
874{
875 for(int i = 0; i < pEntry->m_Info.m_NumAddresses; i++)
876 {
877 m_ByAddr.erase(pEntry->m_Info.m_aAddresses[i]);
878 }
879
880 // set the info
881 mem_copy(pEntry->m_Info.m_aAddresses, pAddrs, NumAddrs * sizeof(pAddrs[0]));
882 pEntry->m_Info.m_NumAddresses = NumAddrs;
883
884 pEntry->m_Info.m_Latency = 999;
885 pEntry->m_Info.m_HasRank = CServerInfo::RANK_UNAVAILABLE;
886 ServerBrowserFormatAddresses(pEntry->m_Info.m_aAddress, sizeof(pEntry->m_Info.m_aAddress), pEntry->m_Info.m_aAddresses, pEntry->m_Info.m_NumAddresses);
887 UpdateServerCommunity(&pEntry->m_Info);
888 str_copy(pEntry->m_Info.m_aName, pEntry->m_Info.m_aAddress, sizeof(pEntry->m_Info.m_aName));
889
890 pEntry->m_Info.m_Favorite = m_pFavorites->IsFavorite(pEntry->m_Info.m_aAddresses, pEntry->m_Info.m_NumAddresses);
891 pEntry->m_Info.m_FavoriteAllowPing = m_pFavorites->IsPingAllowed(pEntry->m_Info.m_aAddresses, pEntry->m_Info.m_NumAddresses);
892
893 for(int i = 0; i < NumAddrs; i++)
894 {
895 m_ByAddr[pAddrs[i]] = pEntry->m_Info.m_ServerIndex;
896 }
897
898 return pEntry;
899}
900
901void CServerBrowser::OnServerInfoUpdate(const NETADDR &Addr, int Token, const CServerInfo *pInfo)
902{

Callers

nothing calls this directly

Calls 5

mem_copyFunction · 0.85
IsPingAllowedMethod · 0.80
str_copyFunction · 0.50
IsFavoriteMethod · 0.45

Tested by

no test coverage detected