| 1515 | } |
| 1516 | |
| 1517 | NetSocket Net::accept(NetSocket handleFd, NetAddress *remoteAddress) |
| 1518 | { |
| 1519 | sockaddr_storage addr; |
| 1520 | socklen_t addrLen = sizeof(addr); |
| 1521 | |
| 1522 | SOCKET socketFd = PlatformNetState::smReservedSocketList.resolve(handleFd); |
| 1523 | if (socketFd == InvalidSocketHandle) |
| 1524 | return NetSocket::INVALID; |
| 1525 | |
| 1526 | SOCKET acceptedSocketFd = ::accept(socketFd, (sockaddr *)&addr, &addrLen); |
| 1527 | if (acceptedSocketFd != InvalidSocketHandle) |
| 1528 | { |
| 1529 | if (addr.ss_family == AF_INET) |
| 1530 | { |
| 1531 | // ipv4 |
| 1532 | IPSocketToNetAddress(((struct sockaddr_in*)&addr), remoteAddress); |
| 1533 | } |
| 1534 | else if (addr.ss_family == AF_INET6) |
| 1535 | { |
| 1536 | // ipv6 |
| 1537 | IPSocket6ToNetAddress(((struct sockaddr_in6*)&addr), remoteAddress); |
| 1538 | } |
| 1539 | |
| 1540 | NetSocket newHandleFd = PlatformNetState::smReservedSocketList.reserve(acceptedSocketFd); |
| 1541 | return newHandleFd; |
| 1542 | } |
| 1543 | |
| 1544 | return NetSocket::INVALID; |
| 1545 | } |
| 1546 | |
| 1547 | Net::Error Net::bindAddress(const NetAddress &address, NetSocket handleFd, bool useUDP) |
| 1548 | { |
nothing calls this directly
no test coverage detected