| 175 | } |
| 176 | |
| 177 | int GetSockName(int fd, std::string & ip, int & port) { |
| 178 | struct sockaddr_storage addr_storage; |
| 179 | struct sockaddr * addr = (struct sockaddr *) &addr_storage; |
| 180 | socklen_t sock_len = sizeof(addr_storage); |
| 181 | |
| 182 | int ret = getsockname(fd, addr, &sock_len); |
| 183 | if (ret == -1) { |
| 184 | LogError("getsockname fd [%d] failed, ret %d, errno (%d:%s)", fd, ret, errno, strerror(errno)); |
| 185 | return -__LINE__; |
| 186 | } |
| 187 | |
| 188 | return SockAddrToIPPort(addr, ip, port); |
| 189 | } |
| 190 | |
| 191 | int GetPeerName(int fd, std::string & ip, int & port) { |
| 192 | struct sockaddr_storage addr_storage; |
nothing calls this directly
no test coverage detected