| 84 | } |
| 85 | |
| 86 | inline void setAddressFromNative(HostAddressWithPort& addressWithPort, NetworkMode mode, struct sockaddr_storage* sockAddr) { |
| 87 | switch (mode) { |
| 88 | case NetworkMode::IPv4: { |
| 89 | struct sockaddr_in* addr4 = (struct sockaddr_in*)sockAddr; |
| 90 | addressWithPort = HostAddressWithPort(mode, (uint8_t*)&(addr4->sin_addr.s_addr), ntohs(addr4->sin_port)); |
| 91 | break; |
| 92 | } |
| 93 | case NetworkMode::IPv6: { |
| 94 | struct sockaddr_in6* addr6 = (struct sockaddr_in6*)sockAddr; |
| 95 | addressWithPort = HostAddressWithPort(mode, (uint8_t*)&addr6->sin6_addr.s6_addr, ntohs(addr6->sin6_port)); |
| 96 | break; |
| 97 | } |
| 98 | default: |
| 99 | throw NetworkException("Invalid network mode for setAddressFromNative"); |
| 100 | } |
| 101 | } |
| 102 | |
| 103 | inline void setNativeFromAddress(HostAddressWithPort const& addressWithPort, struct sockaddr_storage* sockAddr, socklen_t* sockAddrLen) { |
| 104 | switch (addressWithPort.address().mode()) { |
no test coverage detected