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

Function Accept

engine/dlib/src/dlib/socket_win32.cpp:368–393  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

366 }
367
368 Result Accept(Socket socket, Address* address, Socket* accept_socket)
369 {
370 int result = 0;
371 if (IsSocketIPv4(socket))
372 {
373 struct sockaddr_in sock_addr = { 0 };
374 socklen_t addr_len = sizeof(sock_addr);
375 result = accept(socket, (struct sockaddr*)&sock_addr, &addr_len);
376 address->m_family = DOMAIN_IPV4;
377 *IPv4(address) = sock_addr.sin_addr.s_addr;
378 }
379#if !defined(DM_IPV6_UNSUPPORTED)
380 else if (IsSocketIPv6(socket))
381 {
382 struct sockaddr_in6 sock_addr = { 0 };
383 socklen_t addr_len = sizeof(sock_addr);
384 result = accept(socket, (struct sockaddr*)&sock_addr, &addr_len);
385 address->m_family = DOMAIN_IPV6;
386 memcpy(IPv6(address), &sock_addr.sin6_addr, sizeof(struct in6_addr));
387 }
388#endif // no ipv6
389 else
390 {
391 dmLogError("Failed to accept connections, unsupported address family!");
392 return RESULT_AFNOSUPPORT;
393 }
394
395 *accept_socket = result;
396 return result >= 0 ? RESULT_OK : NATIVETORESULT(DM_SOCKET_ERRNO);

Callers 5

dmLogUpdateNetworkFunction · 0.70
UpdateFunction · 0.70
TcpServerThreadFunction · 0.50
ServerThreadFunction · 0.50
TYPED_TESTFunction · 0.50

Calls 2

IPv4Function · 0.85
IsSocketIPv4Function · 0.70

Tested by 3

TcpServerThreadFunction · 0.40
ServerThreadFunction · 0.40
TYPED_TESTFunction · 0.40