@@ -257,43 +257,17 @@ SockaddrAny MakeSockAddr(SockFamily family, const std::string& socket_name) {
257257 PERFETTO_CHECK (false ); // For GCC.
258258}
259259
260- void InitWinSockOnce ( ) {
260+ ScopedSocketHandle CreateSocketHandle (SockFamily family, SockType type ) {
261261#if PERFETTO_BUILDFLAG(PERFETTO_OS_WIN)
262262 static bool init_winsock_once = [] {
263263 WSADATA ignored{};
264264 return WSAStartup (MAKEWORD (2 , 2 ), &ignored) == 0 ;
265265 }();
266266 PERFETTO_CHECK (init_winsock_once);
267267#endif
268- }
269-
270- ScopedSocketHandle CreateSocketHandle (SockFamily family, SockType type) {
271- InitWinSockOnce ();
272268 return ScopedSocketHandle (socket (MkSockFamily (family), MkSockType (type), 0 ));
273269}
274270
275- std::string AddrinfoToIpStr (const struct addrinfo * addrinfo_ptr) {
276- PERFETTO_CHECK (addrinfo_ptr && addrinfo_ptr->ai_addr );
277- PERFETTO_CHECK ((addrinfo_ptr->ai_family == AF_INET) ||
278- (addrinfo_ptr->ai_family == AF_INET6));
279-
280- void * addr_ptr = nullptr ;
281- char ip_str_buffer[INET6_ADDRSTRLEN];
282-
283- if (addrinfo_ptr->ai_family == AF_INET) { // IPv4
284- struct sockaddr_in * ipv4_addr =
285- reinterpret_cast <struct sockaddr_in *>(addrinfo_ptr->ai_addr );
286- addr_ptr = &(ipv4_addr->sin_addr );
287- } else if (addrinfo_ptr->ai_family == AF_INET6) { // IPv6
288- struct sockaddr_in6 * ipv6_addr =
289- reinterpret_cast <struct sockaddr_in6 *>(addrinfo_ptr->ai_addr );
290- addr_ptr = &(ipv6_addr->sin6_addr );
291- }
292- PERFETTO_CHECK (inet_ntop (addrinfo_ptr->ai_family , addr_ptr, ip_str_buffer,
293- sizeof (ip_str_buffer)) != NULL );
294- return std::string (ip_str_buffer);
295- }
296-
297271} // namespace
298272
299273#if PERFETTO_BUILDFLAG(PERFETTO_OS_WIN)
@@ -325,32 +299,6 @@ SockFamily GetSockFamily(const char* addr) {
325299 return SockFamily::kUnix ; // For anything else assume it's a linked AF_UNIX.
326300}
327301
328- std::vector<NetAddrInfo> GetNetAddrInfo (const std::string& ip,
329- const std::string& port) {
330- InitWinSockOnce ();
331- struct addrinfo hints, *serv_info, *p;
332- memset (&hints, 0 , sizeof hints);
333- hints.ai_family = AF_UNSPEC;
334- hints.ai_socktype = SOCK_STREAM;
335- hints.ai_flags = AI_PASSIVE;
336- PERFETTO_CHECK (getaddrinfo (ip.c_str (), port.c_str (), &hints, &serv_info) ==
337- 0 );
338- std::vector<NetAddrInfo> res;
339- for (p = serv_info; p != NULL ; p = p->ai_next ) {
340- if (p->ai_family == AF_INET) {
341- std::string ip_str = AddrinfoToIpStr (p);
342- std::string ip_port = ip_str + " :" + port;
343- res.emplace_back (ip_port, SockFamily::kInet , SockType::kStream );
344- } else if (p->ai_family == AF_INET6) {
345- std::string ip_str = AddrinfoToIpStr (p);
346- std::string ip_port = " [" + ip_str + " ]:" + port;
347- res.emplace_back (ip_port, SockFamily::kInet6 , SockType::kStream );
348- }
349- }
350- freeaddrinfo (serv_info);
351- return res;
352- }
353-
354302// +-----------------------+
355303// | UnixSocketRaw methods |
356304// +-----------------------+
0 commit comments