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

Function Connect

engine/dlib/src/dlib/socket_posix.cpp:350–379  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

348 }
349
350 Result Connect(Socket socket, Address address, int port)
351 {
352 int result = 0;
353 if (IsSocketIPv4(socket))
354 {
355 assert(address.m_family == DOMAIN_IPV4);
356
357 struct sockaddr_in sock_addr = { 0 };
358 sock_addr.sin_family = AF_INET;
359 sock_addr.sin_addr.s_addr = *IPv4(&address);
360 sock_addr.sin_port = htons(port);
361 result = connect(socket, (struct sockaddr *) &sock_addr, sizeof(sock_addr));
362 }
363#if !defined(DM_IPV6_UNSUPPORTED)
364 else if (IsSocketIPv6(socket))
365 {
366 assert(address.m_family == DOMAIN_IPV6);
367
368 struct sockaddr_in6 sock_addr = { 0 };
369 sock_addr.sin6_family = AF_INET6;
370 memcpy(&sock_addr.sin6_addr, IPv6(&address), sizeof(struct in6_addr));
371 sock_addr.sin6_port = htons(port);
372 result = connect(socket, (struct sockaddr *) &sock_addr, sizeof(sock_addr));
373 }
374#endif // no ipv6
375 else
376 {
377 dmLogError("Failed to connect to remote host, unsupported address family!");
378 return RESULT_AFNOSUPPORT;
379 }
380
381 if (result == -1 && !((NATIVETORESULT(DM_SOCKET_ERRNO) == RESULT_INPROGRESS) || (NATIVETORESULT(DM_SOCKET_ERRNO) == RESULT_WOULDBLOCK)))
382 {

Callers

nothing calls this directly

Calls 4

IPv4Function · 0.85
connectFunction · 0.85
IsSocketIPv4Function · 0.70
assertFunction · 0.50

Tested by

no test coverage detected