MCPcopy Create free account
hub / github.com/Tencent/phxsql / GetAddrFromFD

Method GetAddrFromFD

phxsqlproxy/proxy_protocol_handler.cpp:97–115  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

95}
96
97int ProxyProtocolHandler::GetAddrFromFD(int fd) {
98 int ret;
99
100 socklen_t src_len = sizeof(src_addr_);
101 ret = getpeername(fd, (struct sockaddr *) &src_addr_, &src_len);
102 if (ret < 0) {
103 LOG_ERR("getpeername fd [%d] failed, ret %d, errno (%d:%s)", fd, ret, errno, strerror(errno));
104 return -__LINE__;
105 }
106
107 socklen_t dst_len = sizeof(dst_addr_);
108 ret = getsockname(fd, (struct sockaddr *) &dst_addr_, &dst_len);
109 if (ret < 0) {
110 LOG_ERR("getsockname fd [%d] failed, ret %d, errno (%d:%s)", fd, ret, errno, strerror(errno));
111 return -__LINE__;
112 }
113
114 return 0;
115}
116
117int ProxyProtocolHandler::IsProxyHeaderNeed() { // 1:need, 0:no need, <0:reject
118 std::string src_ip;

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected