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

Method CachePing

src/engine/client/serverbrowser_ping_cache.cpp:122–146  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

120}
121
122void CServerBrowserPingCache::CachePing(const NETADDR &Addr, int Ping)
123{
124 NETADDR StoredAddr = Addr;
125 StoredAddr.type &= ~NETTYPE_TW7;
126 StoredAddr.port = 0;
127 m_Entries[StoredAddr] = Ping;
128 if(m_pDisk)
129 {
130 sqlite3 *pSqlite = m_pDisk.get();
131 IConsole *pConsole = m_pConsole;
132 char aAddr[NETADDR_MAXSTRSIZE];
133 net_addr_str(&StoredAddr, aAddr, sizeof(aAddr), false);
134
135 bool Error = false;
136 Error = Error || !m_pStoreStmt;
137 Error = Error || SQLITE_HANDLE_ERROR(sqlite3_reset(m_pStoreStmt.get())) != SQLITE_OK;
138 Error = Error || SQLITE_HANDLE_ERROR(sqlite3_bind_text(m_pStoreStmt.get(), 1, aAddr, -1, SQLITE_STATIC)) != SQLITE_OK;
139 Error = Error || SQLITE_HANDLE_ERROR(sqlite3_bind_int(m_pStoreStmt.get(), 2, Ping)) != SQLITE_OK;
140 Error = Error || SQLITE_HANDLE_ERROR(sqlite3_step(m_pStoreStmt.get())) != SQLITE_DONE;
141 if(Error)
142 {
143 pConsole->Print(IConsole::OUTPUT_LEVEL_STANDARD, "serverbrowse_ping_cache", "failed to store ping");
144 }
145 }
146}
147
148int CServerBrowserPingCache::GetPing(const NETADDR *pAddrs, int NumAddrs) const
149{

Callers 2

SetLatencyMethod · 0.80
TESTFunction · 0.80

Calls 3

net_addr_strFunction · 0.85
getMethod · 0.80
PrintMethod · 0.45

Tested by 1

TESTFunction · 0.64