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

Function CollectInterfaceAddresses

engine/dlib/src/dlib/mdns.cpp:405–429  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

403 }
404
405 static void CollectInterfaceAddresses(dmArray<dmSocket::Address>* addresses)
406 {
407 dmSocket::IfAddr interfaces[MDNS_MAX_INTERFACES];
408 uint32_t interface_count = 0;
409 dmSocket::GetIfAddresses(interfaces, MDNS_MAX_INTERFACES, &interface_count);
410
411 addresses->SetSize(0);
412
413 for (uint32_t i = 0; i < interface_count; ++i)
414 {
415 const dmSocket::IfAddr& if_addr = interfaces[i];
416 if (if_addr.m_Address.m_family != dmSocket::DOMAIN_IPV4)
417 continue;
418 if (dmSocket::Empty(if_addr.m_Address))
419 continue;
420 if ((if_addr.m_Flags & dmSocket::FLAGS_UP) == 0)
421 continue;
422 if (ContainsAddress(*addresses, if_addr.m_Address))
423 continue;
424
425 if (addresses->Full())
426 addresses->OffsetCapacity(4);
427 addresses->Push(if_addr.m_Address);
428 }
429 }
430
431 static void RefreshInterfaceAddresses(MDNS* mdns)
432 {

Callers 2

Calls 7

ContainsAddressFunction · 0.85
GetIfAddressesFunction · 0.70
EmptyFunction · 0.70
SetSizeMethod · 0.45
FullMethod · 0.45
OffsetCapacityMethod · 0.45
PushMethod · 0.45

Tested by

no test coverage detected