| 968 | } |
| 969 | |
| 970 | CService GetBindAddress(const Sock& sock) |
| 971 | { |
| 972 | CService addr_bind; |
| 973 | sockaddr_storage storage; |
| 974 | socklen_t len = sizeof(storage); |
| 975 | |
| 976 | auto sa = reinterpret_cast<sockaddr*>(&storage); |
| 977 | |
| 978 | if (sock.GetSockName(sa, &len) == 0) { |
| 979 | addr_bind.SetSockAddr(sa, len); |
| 980 | } else { |
| 981 | LogWarning("getsockname failed\n"); |
| 982 | } |
| 983 | return addr_bind; |
| 984 | } |
no test coverage detected