MCPcopy Create free account
hub / github.com/defold/defold / ExpireBrowserEntries

Function ExpireBrowserEntries

engine/dlib/src/dlib/mdns.cpp:2175–2230  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2173 }
2174
2175 static void ExpireBrowserEntries(Browser* browser)
2176 {
2177 const uint64_t now = GetNow();
2178 bool hosts_changed = false;
2179
2180 for (uint32_t i = 0; i < browser->m_Hosts.Size();)
2181 {
2182 if (now >= browser->m_Hosts[i].m_Expires)
2183 {
2184 browser->m_Hosts.EraseSwap(i);
2185 hosts_changed = true;
2186 }
2187 else
2188 {
2189 ++i;
2190 }
2191 }
2192
2193 for (uint32_t i = 0; i < browser->m_Services.Size();)
2194 {
2195 BrowserService& service = browser->m_Services[i];
2196 if (service.m_HasPtr && now >= service.m_PtrExpires)
2197 {
2198 EmitBrowserRemoved(browser, &service);
2199 browser->m_Services.EraseSwap(i);
2200 }
2201 else
2202 {
2203 if (service.m_HasSrv && now >= service.m_SrvExpires)
2204 {
2205 service.m_HasSrv = 0;
2206 service.m_SrvExpires = 0;
2207 service.m_SrvRefresh = 0;
2208 service.m_SrvTtl = 0;
2209 service.m_Host[0] = 0;
2210 service.m_Port = 0;
2211 }
2212
2213 if (service.m_HasTxt && now >= service.m_TxtExpires)
2214 {
2215 service.m_HasTxt = 0;
2216 service.m_TxtExpires = 0;
2217 service.m_TxtRefresh = 0;
2218 service.m_TxtTtl = 0;
2219 service.m_TxtCount = 0;
2220 service.m_Id[0] = 0;
2221 }
2222
2223 if (hosts_changed || (service.m_Resolved && (!service.m_HasSrv || !service.m_HasTxt)))
2224 {
2225 TryResolveService(browser, &service);
2226 }
2227 ++i;
2228 }
2229 }
2230 }
2231
2232 static bool ResolveCurrentHostAddress(const MDNS* mdns, dmSocket::Address* out)

Callers 1

UpdateBrowserFunction · 0.85

Calls 4

GetNowFunction · 0.85
EmitBrowserRemovedFunction · 0.85
TryResolveServiceFunction · 0.85
SizeMethod · 0.45

Tested by

no test coverage detected