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

Function AdvanceServiceLifecycle

engine/dlib/src/dlib/mdns.cpp:2270–2300  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2268 }
2269
2270 static void AdvanceServiceLifecycle(MDNS* mdns, uint64_t now)
2271 {
2272 for (uint32_t i = 0; i < mdns->m_Services.Size(); ++i)
2273 {
2274 RegisteredService& service = mdns->m_Services[i];
2275 if (service.m_State == SERVICE_STATE_PROBING && now >= service.m_NextProbe)
2276 {
2277 if (service.m_ProbeCount >= MDNS_PROBE_COUNT)
2278 {
2279 service.m_State = SERVICE_STATE_ACTIVE;
2280 service.m_StartupAnnounceCount = MDNS_STARTUP_ANNOUNCEMENTS;
2281 service.m_NextAnnounce = now;
2282 }
2283 else
2284 {
2285 SendProbe(mdns, service);
2286 ++service.m_ProbeCount;
2287 service.m_NextProbe = now + SecondsToMicroSeconds(MDNS_PROBE_INTERVAL_MS) / 1000ULL;
2288 }
2289 }
2290
2291 if (service.m_State == SERVICE_STATE_ACTIVE
2292 && service.m_StartupAnnounceCount > 0
2293 && now >= service.m_NextAnnounce)
2294 {
2295 AnnounceService(mdns, service, service.m_Ttl);
2296 --service.m_StartupAnnounceCount;
2297 service.m_NextAnnounce = now + SecondsToMicroSeconds(MDNS_STARTUP_ANNOUNCE_INTERVAL);
2298 }
2299 }
2300 }
2301
2302 Result New(const Params* params, HMDNS* mdns)
2303 {

Callers 1

UpdateFunction · 0.85

Calls 4

SendProbeFunction · 0.85
SecondsToMicroSecondsFunction · 0.85
AnnounceServiceFunction · 0.85
SizeMethod · 0.45

Tested by

no test coverage detected